-
Notifications
You must be signed in to change notification settings - Fork 22
Description
Description
Update the bootstrap command to include the complete release automation infrastructure and advanced GitHub Actions workflows that are currently implemented in the AgentReady repository and the ambient-code/platform repository.
Current State
Bootstrap currently generates:
- Basic test workflows (language-specific)
- Security scanning (CodeQL)
- AgentReady assessment workflow
- Pre-commit hooks
- Issue/PR templates
- Dependabot configuration
Missing Infrastructure
Release Automation (from AgentReady repo)
1. Semantic Release Workflow (.github/workflows/release.yml)
- Automated version bumping based on conventional commits
- CHANGELOG.md generation
- PyPI publishing with OIDC (token-less)
- Multi-platform Docker image builds (amd64/arm64)
- GitHub Container Registry publishing
- Documentation deployment to GitHub Pages
- Post-release self-assessment
- Release summary generation
Configuration Files:
.releaserc.json- Semantic release configurationscripts/sync-claude-md.sh- Version synchronizationscripts/update-release-docs.sh- Documentation updatesDockerfile- Container definition
2. Documentation Deployment (.github/workflows/update-docs.yml)
- Manual trigger for docs updates
- GitHub Pages deployment
3. Leaderboard Updates (.github/workflows/update-leaderboard.yml)
- Automated leaderboard refresh
- Community submission validation
Advanced CI/CD (from ambient-code/platform repo)
1. PR Review & Auto-Fix
- Automated code review on PRs
- Security vulnerability scanning
- Auto-fix for critical issues
- PR comment integration
2. Continuous Learning
- LLM-powered skill extraction
- Pattern learning from assessments
- Automated documentation updates
3. Weekly Automation
- Research report updates
- Dependency updates
- Security audits
4. Claude Code Integration
- Automated Claude Code actions
- Issue triage and labeling
- PR description enhancement
Implementation Plan
Phase 1: Language Detection & Templating
Update Bootstrap to:
- Detect repository language (Python, JavaScript/TypeScript, Go, etc.)
- Detect package manager (pip/uv, npm/yarn, go mod)
- Detect build system (setuptools, webpack, make)
- Template workflows based on language
Phase 2: Release Automation Templates
Create language-specific templates for:
Python:
- PyPI publishing with OIDC
- Test PyPI validation
- Multi-platform Docker builds
- Version sync scripts (pyproject.toml, init.py, docs)
JavaScript/TypeScript:
- npm publishing with provenance
- Docker builds (Node.js)
- Version sync (package.json, package-lock.json)
Go:
- GitHub Releases with goreleaser
- Docker builds (multi-stage)
- Version tagging
Phase 3: Semantic Release Configuration
Generate .releaserc.json with:
- Language-specific version files
- Custom prepare commands
- Asset management
- Changelog generation
- Git commit configuration
Phase 4: Container Infrastructure
Generate Dockerfile with:
- Language-specific base images
- Multi-stage builds
- Security best practices
- Platform-specific optimizations
Phase 5: Documentation Automation
Generate:
scripts/sync-docs.sh- Version synchronization- GitHub Pages deployment workflow
- Documentation update automation
Phase 6: Advanced Workflows
Optional workflows (user can enable/disable):
- Automated PR review
- Continuous learning loop
- Weekly maintenance tasks
- Claude Code integration
- Leaderboard management
Bootstrap Command Updates
# Current
agentready bootstrap .
# Enhanced (with options)
agentready bootstrap . \
--release-automation \
--docker \
--docs-deployment \
--advanced-ci
# Interactive mode
agentready bootstrap . --interactive
# Prompts:
# Enable release automation? (Y/n)
# Enable Docker publishing? (Y/n)
# Enable documentation deployment? (Y/n)
# Enable advanced CI workflows? (y/N)Acceptance Criteria
Must Have
- Semantic release workflow template (language-specific)
-
.releaserc.jsongeneration - Version sync scripts
- PyPI/npm/GitHub release publishing
- Docker image builds (if Dockerfile exists)
- Documentation deployment workflow
- Post-release automation (self-assessment, summaries)
Should Have
- Interactive mode with prompts
- CLI flags for selective generation
- Multi-platform Docker support
- OIDC configuration for PyPI/npm
- GitHub Pages setup detection
Nice to Have
- Automated PR review workflow
- Continuous learning integration
- Claude Code action templates
- Leaderboard setup (if using AgentReady)
Files to Generate/Update
Always Generated
.github/workflows/release.yml
.releaserc.json
scripts/sync-version.sh # Language-specific
Conditionally Generated
Dockerfile # If --docker flag
.github/workflows/update-docs.yml # If docs/ exists
.github/workflows/pr-review.yml # If --advanced-ci
.github/workflows/continuous-learning.yml # If --advanced-ci
scripts/update-docs.sh # If docs/ exists
Technical Considerations
Language Detection
Use existing LanguageDetector service:
from agentready.services.language_detector import LanguageDetector
detector = LanguageDetector(repo_path)
language = detector.detect_language()Template Variables
{{ language }}- Primary language (python, javascript, go){{ package_manager }}- pip, npm, yarn, go{{ version_file }}- pyproject.toml, package.json, version.go{{ test_command }}- pytest, npm test, go test{{ build_command }}- python -m build, npm run build, go build{{ registry }}- pypi.org, npmjs.com, ghcr.io
Backwards Compatibility
- Don't break existing Bootstrap functionality
- Make advanced features opt-in
- Provide migration path for existing repos
Examples
Python Project After Bootstrap
agentready bootstrap . --release-automation --dockerGenerated files:
.github/workflows/release.yml # PyPI + Docker + Docs
.releaserc.json # Python-specific config
scripts/sync-version.sh # Updates pyproject.toml, __init__.py, docs
Dockerfile # Multi-stage Python build
Result:
feat:commits trigger minor releasesfix:commits trigger patch releases- Automatic PyPI publishing (Test + Production)
- Docker images on ghcr.io (latest + vX.Y.Z tags)
- Self-assessment runs after each release
- Documentation auto-deploys to GitHub Pages
JavaScript Project After Bootstrap
agentready bootstrap . --release-automationGenerated files:
.github/workflows/release.yml # npm publishing
.releaserc.json # JavaScript-specific config
scripts/sync-version.sh # Updates package.json, package-lock.json
Result:
- Semantic versioning based on commits
- npm publishing with provenance attestations
- GitHub releases with changelog
- Version sync across package files
References
AgentReady Implementation:
- Release workflow:
.github/workflows/release.yml - Semantic config:
.releaserc.json - Sync scripts:
scripts/sync-claude-md.sh,scripts/update-release-docs.sh - Dockerfile:
Dockerfile
Platform Repository (https://github.com/ambient-code/platform):
- PR review workflow
- Continuous learning
- Advanced CI/CD patterns
- Claude Code integration
Documentation:
Priority
P1 (High) - This is core functionality that makes repositories truly agent-ready by automating the release process.
Labels
enhancement, bootstrap, release-automation, ci/cd
Estimated Complexity
Large - Requires:
- Multi-language template system
- Integration with existing Bootstrap command
- Testing across Python, JS, and Go projects
- Documentation and examples
- Backwards compatibility testing
Estimated effort: 2-3 weeks for complete implementation
Related Issues: #156 (Codecov integration - lower priority than this)
Blockers: None - can start immediately
Dependencies:
- Existing Bootstrap command
- LanguageDetector service
- Template engine (Jinja2)