Release Agent Team

Multi-agent release preparation team for multi-language repositories.
Release Agent Team validates code quality, generates changelogs, updates documentation, and manages the complete release lifecycle. It supports monorepos with multiple languages and integrates with Claude Code as an interactive subagent.
Features
- π Auto-detection: Detects Go, TypeScript, JavaScript, Python, Rust, Swift
- β
Validation checks: Build, test, lint, format, security, documentation checks
- π¦ Monorepo support: Handles repositories with multiple languages
- π Changelog generation: Integrates with schangelog for automated changelogs
- π Documentation updates: Updates README badges and version references
- π Release workflow: Full release lifecycle with CI verification
- π¬ Interactive mode: Ask questions and propose fixes for Claude Code integration
- π Multiple output formats: Human-readable, JSON, and TOON (Token-Oriented Object Notation)
- π Claude Code plugin: Available as a plugin with commands, skills, and agents
Agent Workflow
Release Agent Team uses a DAG (Directed Acyclic Graph) workflow with 6 specialized agents:
graph TD
PM[PM Agent<br/>version & scope] --> QA[QA Agent<br/>build, test, lint]
PM --> Docs[Documentation Agent<br/>README, changelog, release notes]
PM --> Security[Security Agent<br/>license, vulns, secrets]
PM --> Release[Release Agent<br/>git status, CI config]
QA --> Release
Docs --> Release
Security --> Release
QA --> Coordinator[Release Coordinator<br/>execute release]
Docs --> Coordinator
Security --> Coordinator
Release --> Coordinator
style PM fill:#e1f5fe,color:#01579b
style QA fill:#fff3e0,color:#e65100
style Docs fill:#e8f5e9,color:#1b5e20
style Security fill:#fce4ec,color:#880e4f
style Release fill:#f3e5f5,color:#4a148c
style Coordinator fill:#fff8e1,color:#f57f17
| Agent |
Role |
Checks |
| PM |
Product Management |
Version recommendation, release scope, changelog quality, breaking changes |
| QA |
Quality Assurance |
Build, tests, lint, format, error handling, mod tidy |
| Documentation |
Documentation |
README, PRD, TRD, release notes, CHANGELOG |
| Security |
Security |
LICENSE, vulnerability scan, dependency audit, secret detection |
| Release |
Release Management |
Version availability, git status, CI configuration |
| Coordinator |
Orchestration |
Executes release workflow after all validations pass |
The workflow ensures:
- PM runs first - Validates version and scope before other checks
- QA, Docs, Security run in parallel - Independent validation after PM approval
- Release runs after all validations - Confirms release readiness
- Coordinator executes last - Only proceeds when all teams report GO
Installation
go install github.com/agentplexus/agent-team-release/cmd/atrelease@latest
Homebrew
brew tap agentplexus/tap
brew install atrelease
Quick Start
# Run validation checks in current directory
atrelease check
# Run comprehensive validation with Go/No-Go report
atrelease validate --version=v1.0.0
# Execute full release workflow
atrelease release v1.0.0
# Generate changelog
atrelease changelog --since=v0.9.0
# Show version
atrelease version
Commands
atrelease check
Run validation checks for all detected languages.
atrelease check [directory]
# With options
atrelease check --verbose
atrelease check --no-test --no-lint
atrelease check --coverage
atrelease check --go-no-go # NASA-style Go/No-Go report
atrelease validate
Run comprehensive validation across all areas (QA, Documentation, Release, Security).
atrelease validate [directory]
# With version-specific checks
atrelease validate --version=v1.0.0
# Skip specific areas
atrelease validate --skip-qa --skip-docs --skip-security
# Team status report format (template-based)
atrelease validate --format team
atrelease release
Execute the full release workflow.
atrelease release <version>
# Examples
atrelease release v1.0.0
atrelease release v1.0.0 --dry-run # Preview without changes
atrelease release v1.0.0 --skip-ci # Don't wait for CI
atrelease release v1.0.0 --verbose
Release workflow steps:
- Validate version format and availability
- Check working directory is clean
- Run validation checks (build, test, lint, format)
- Generate changelog via schangelog
- Update roadmap via sroadmap
- Create release commit
- Push to remote
- Wait for CI to pass
- Create and push release tag
atrelease changelog
Generate or update changelog using schangelog.
atrelease changelog [directory]
atrelease changelog --since=v0.9.0
atrelease changelog --dry-run
atrelease readme
Update README badges and version references.
atrelease readme [directory]
atrelease readme --version=v1.0.0
atrelease readme --dry-run
atrelease roadmap
Update roadmap using sroadmap.
atrelease roadmap [directory]
atrelease roadmap --dry-run
atrelease version
Show version information.
atrelease version
Global Flags
| Flag |
Short |
Description |
--verbose |
-v |
Show detailed output |
--interactive |
-i |
Enable interactive mode |
--json |
|
Output as structured data |
--format |
|
Output format: toon, json, or team (validate only) |
Supported Languages
| Language |
Detection |
Checks |
| Go |
go.mod |
go build, go mod tidy, gofmt, golangci-lint, go test, local replace, untracked refs, error handling |
| TypeScript |
package.json + tsconfig.json |
eslint, prettier, tsc --noEmit, npm test |
| JavaScript |
package.json |
eslint, prettier, npm test |
| Python |
pyproject.toml, setup.py, requirements.txt |
Coming soon |
| Rust |
Cargo.toml |
Coming soon |
| Swift |
Package.swift |
Coming soon |
Go Checks Detail
| Check |
Type |
Description |
| no local replace |
Hard |
Fails if go.mod has local replace directives |
| mod tidy |
Hard |
Fails if go.mod/go.sum need updating |
| build |
Hard |
Fails if project doesn't compile |
| gofmt |
Hard |
Fails if code isn't formatted |
| golangci-lint |
Hard |
Fails if linter reports issues |
| tests |
Hard |
Fails if tests fail |
| error handling |
Hard |
Fails if errors are improperly discarded |
| untracked refs |
Soft |
Warns if tracked files reference untracked files |
| coverage |
Soft |
Reports coverage (requires gocoverbadge) |
Validation Areas
The validate command checks four distinct areas:
| Area |
Checks |
| QA |
Build, tests, lint, format, error handling compliance |
| Documentation |
README, PRD, TRD, release notes, CHANGELOG |
| Release |
Version validation, git status, CI configuration |
| Security |
LICENSE file, vulnerability scan, dependency audit, secret detection |
Configuration
Create .releaseagent.yaml in your repository root:
# Global settings
verbose: false
# Language-specific settings
languages:
go:
enabled: true
test: true
lint: true
format: true
coverage: false
exclude_coverage: "cmd" # directories to exclude from coverage
typescript:
enabled: true
paths: ["frontend/"] # specific paths (empty = auto-detect)
test: true
lint: true
format: true
javascript:
enabled: false # disable for this repo
Configuration Options
| Option |
Type |
Default |
Description |
enabled |
bool |
true |
Enable/disable language checks |
paths |
[]string |
auto |
Specific paths to check |
test |
bool |
true |
Run tests |
lint |
bool |
true |
Run linter |
format |
bool |
true |
Check formatting |
coverage |
bool |
false |
Show coverage (Go only) |
Git Hook Integration
To run agent-team-release automatically before every git push:
# Create the hook
cat > .git/hooks/pre-push << 'EOF'
#!/bin/bash
exec atrelease check
EOF
# Make it executable
chmod +x .git/hooks/pre-push
Bypassing the hook:
git push --no-verify
Human-Readable (Default)
=== Summary ===
β Go: no local replace directives
β Go: mod tidy
β Go: build
β Go: gofmt
β Go: golangci-lint
β Go: tests
Passed: 6, Failed: 0, Skipped: 0
Standard JSON output for programmatic consumption.
Token-Oriented Object Notation - approximately 8x more token-efficient than JSON, optimized for LLM consumption.
Structured box report with per-team validation results:
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β TEAM STATUS REPORT β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ£
β Project: github.com/agentplexus/agent-team-release β
β Target: v0.3.0 β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ£
β RELEASE VALIDATION β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ£
β qa-validation (qa) β
β build π’ GO β
β tests π’ GO 42 tests passed β
β lint π’ GO β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ£
β security-validation (security) β
β license π’ GO MIT License β
β vulnerability-scan π‘ WARN 1 deprecated β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ£
β π TEAM: GO for v0.3.0 π β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Claude Code Plugin
Install as a Claude Code plugin for interactive release automation:
claude plugin add github:agentplexus/agent-team-release/plugins/claude
The plugin includes:
- Commands:
/release-agent:release, /release-agent:check, /release-agent:changelog, /release-agent:version-next
- Skills: Version analysis, commit classification
- Agents: Release coordinator subagent for orchestrating complete releases
See plugins/claude/README.md for full plugin documentation.
Interactive Mode
Use --interactive flag to enable Q&A mode where Release Agent can:
- Ask questions when issues arise
- Propose fixes for lint errors
- Get user approval before making changes
atrelease check --interactive
atrelease release v1.0.0 --interactive
Examples
Go Project
$ atrelease check
=== Pre-push Checks ===
Detecting languages...
Found: go in .
Running Go checks...
=== Summary ===
β Go: no local replace directives
β Go: mod tidy
β Go: build
β Go: gofmt
β Go: golangci-lint
β Go: tests
β Go: untracked references
Passed: 7, Failed: 0, Skipped: 0
All pre-push checks passed!
Comprehensive Validation
$ atrelease validate --version=v1.0.0
=== Release Validation: v1.0.0 ===
βββββββββββββββββββββββββββββββββββββββββββ
β VALIDATION REPORT β
βββββββββββββββββββββββββββββββββββββββββββ€
β QA β π’ GO β
β Documentation β π’ GO β
β Release β π’ GO β
β Security β π’ GO β
βββββββββββββββββββββββββββββββββββββββββββ€
β STATUS: GO FOR LAUNCH β
βββββββββββββββββββββββββββββββββββββββββββ
Full Release
$ atrelease release v1.0.0 --verbose
[1/9] Validating version...
β Version v1.0.0 is valid and available
[2/9] Checking working directory...
β Working directory is clean
[3/9] Running validation checks...
β All checks passed
[4/9] Generating changelog...
β CHANGELOG.md updated
[5/9] Updating roadmap...
β ROADMAP.md updated
[6/9] Creating release commit...
β Created commit: chore(release): v1.0.0
[7/9] Pushing to remote...
β Pushed to origin/main
[8/9] Waiting for CI...
β CI passed
[9/9] Creating tag...
β Created and pushed tag v1.0.0
Release v1.0.0 complete!
Dependencies
Required
| Tool |
Purpose |
git |
Version control operations |
gh |
GitHub CLI for CI status |
releasekit |
Language validation (build, test, lint) |
Language-Specific
These tools are invoked by releasekit for language validation:
| Tool |
Language |
Purpose |
go |
Go |
Build and test |
golangci-lint |
Go |
Linting |
node, npm |
TypeScript/JS |
Build and test |
eslint |
TypeScript/JS |
Linting |
prettier |
TypeScript/JS |
Formatting |
Optional
| Tool |
Purpose |
schangelog |
Changelog generation |
sroadmap |
Roadmap management |
gocoverbadge |
Coverage badge generation |
govulncheck |
Vulnerability scanning |
Documentation
License
MIT License - see LICENSE for details.