Claude Code Integration¶
Release Agent integrates with Claude Code as a plugin, providing commands, skills, and an autonomous release agent.
Installation¶
The Release Agent plugin is available in the Claude Code marketplace:
Or manually add to your Claude Code configuration.
Available Commands¶
/release-agent:release¶
Execute a full release workflow:
/release-agent:check¶
Run validation checks:
/release-agent:changelog¶
Generate changelog:
/release-agent:version-next¶
Suggest next version based on commits:
Interactive Mode¶
When running with --interactive, Release Agent can:
- Ask questions when issues arise
- Propose fixes for problems
- Get approval before making changes
Example Interaction¶
Claude: I'll run the release checks for v1.0.0.
[Running atrelease check --interactive --json]
Release Agent: Found 2 lint issues. Would you like me to:
1. Show the issues and let you fix them
2. Propose automatic fixes
3. Skip lint checks for this release
User: 2
Release Agent: Proposed fixes:
- main.go:42: Add error handling for Close()
- utils.go:18: Remove unused variable
Apply these fixes? [y/n]
Skills¶
Version Analysis¶
Analyzes commits to suggest appropriate version bumps:
feat:commits → minor versionfix:commits → patch versionBREAKING CHANGE:→ major version
Commit Classification¶
Classifies commits by conventional commit type for changelog generation.
Release Coordinator Agent¶
The release coordinator agent can orchestrate complete releases autonomously:
- Analyzes current state
- Determines appropriate version
- Runs all checks
- Generates documentation
- Creates release commit
- Manages CI verification
- Creates release tag
Invoking the Agent¶
Output Formats for Claude¶
TOON Format¶
For token-efficient communication, use TOON format:
TOON is approximately 8x more token-efficient than JSON.
JSON Protocol¶
For structured communication:
Questions and proposals are returned as structured JSON:
{
"type": "question",
"id": "lint-fix-proposal",
"message": "Found 2 lint issues. How should I proceed?",
"options": [
{"id": "show", "label": "Show issues"},
{"id": "fix", "label": "Auto-fix"},
{"id": "skip", "label": "Skip"}
]
}
Hooks¶
SessionStart Hook¶
The plugin includes a SessionStart hook that checks for required dependencies:
git- Version controlgh- GitHub CLIschangelog- Changelog generation (optional)golangci-lint- Go linting (optional)
Missing optional dependencies trigger warnings, not errors.
Configuration¶
Plugin Configuration¶
# .claude/plugins/release-agent.yaml
enabled: true
auto_fix: false # Require approval for fixes
verbose: false
Environment Variables¶
| Variable | Description |
|---|---|
RELEASEAGENT_INTERACTIVE |
Force interactive mode |
RELEASEAGENT_FORMAT |
Default output format |
Gemini CLI Support¶
Release Agent also supports Gemini CLI through platform adapters. The same plugin structure works for both platforms.
Troubleshooting¶
Plugin Not Found¶
Ensure Release Agent is installed:
Permission Errors¶
The plugin needs permission to:
- Read files
- Execute shell commands
- Write to files (for fixes)
Grant these permissions when prompted.
CI Waiting Timeout¶
If CI takes longer than expected:
Note: This tags before CI passes, which is not recommended.