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/release-agent-team/cmd/releaseagent@latest
Homebrew
brew tap agentplexus/tap
brew install release-agent-team
Quick Start
# Run validation checks in current directory
release-agent-team check
# Run comprehensive validation with Go/No-Go report
release-agent-team validate --version=v1.0.0
# Execute full release workflow
release-agent-team release v1.0.0
# Generate changelog
release-agent-team changelog --since=v0.9.0
# Show version
release-agent-team version
Commands
release-agent-team check
Run validation checks for all detected languages.
release-agent-team check [directory]
# With options
release-agent-team check --verbose
release-agent-team check --no-test --no-lint
release-agent-team check --coverage
release-agent-team check --go-no-go # NASA-style Go/No-Go report
release-agent-team validate
Run comprehensive validation across all areas (QA, Documentation, Release, Security).
release-agent-team validate [directory]
# With version-specific checks
release-agent-team validate --version=v1.0.0
# Skip specific areas
release-agent-team validate --skip-qa --skip-docs --skip-security
# Team status report format (template-based)
release-agent-team validate --format team
release-agent-team release
Execute the full release workflow.
release-agent-team release <version>
# Examples
release-agent-team release v1.0.0
release-agent-team release v1.0.0 --dry-run # Preview without changes
release-agent-team release v1.0.0 --skip-ci # Don't wait for CI
release-agent-team 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
release-agent-team changelog
Generate or update changelog using schangelog.
release-agent-team changelog [directory]
release-agent-team changelog --since=v0.9.0
release-agent-team changelog --dry-run
release-agent-team readme
Update README badges and version references.
release-agent-team readme [directory]
release-agent-team readme --version=v1.0.0
release-agent-team readme --dry-run
release-agent-team roadmap
Update roadmap using sroadmap.
release-agent-team roadmap [directory]
release-agent-team roadmap --dry-run
release-agent-team version
Show version information.
release-agent-team 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 release-agent-team automatically before every git push:
# Create the hook
cat > .git/hooks/pre-push << 'EOF'
#!/bin/bash
exec release-agent-team 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/release-agent-team β
β 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/release-agent-team/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
release-agent-team check --interactive
release-agent-team release v1.0.0 --interactive
Examples
Go Project
$ release-agent-team 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
$ release-agent-team 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
$ release-agent-team 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 |
Language-Specific
| 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.