๐ค Contributing to Gem Team
August 15, 2026 ยท View on GitHub
๐ Commits (Conventional Commits)
<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 Automation
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
๐๏ธ Agent Changes
-
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
โ Quick Checklist
- 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