<type>(<scope>): <description>
[optional body]
| Type | Release Impact |
|---|---|
feat |
🚀 Minor |
fix / perf |
🛠️ Patch |
BREAKING CHANGE |
🔥 Major |
docs/refactor/test/chore |
📝 No release |
Rules: imperative mood · lowercase · ≤72 chars · specific scope (e.g., gem-implementer)
Release Please (Manifest Strategy) runs on main. PR titles become
squash-merge commits, so keep them conventional. The release PR bumps
apm.yml and version.txt; merging it creates the gem-team-v<version> tag.
The release workflow then validates the package and attaches the generated ZIP
plus SHA-256 checksum to the GitHub Release.
If automatic asset upload fails after the release is created, run the Publish Release Assets workflow manually with that release tag.
Generated marketplace metadata is committed, while build/ remains ignored.
After changing apm.yml or publishable package metadata, run:
apm pack
apm run check
git add .claude-plugin/marketplace.json-
Edit
.apm/agents/<agent-name>.agent.md -
Structure:
--- # Frontmatter: name, description, args # Role / # Expertise # Identity & core competencies # Knowledge Sources # Prioritized references # Workflow # Init -> Analyze -> Self-Critique -> Handle Failure -> Output # Output Format # Return JSON schema # Rules # Execution, Constitutional, Anti-Patterns, Directives
- Run
apm run checkfor package, agent, or skill changes - Run the documentation lint, typecheck, and build when docs change
- Use a conventional commit and PR title
- Commit regenerated
.claude-plugin/marketplace.jsonwhen it changes - Merge; Release Please creates the release PR and publishes after that PR merges