Development Workflow
plugin.json Rules
- Only declare:
name,version,description,author - Never declare:
skills,agents,hooks,commands— these are auto-discovered from standard directories - Official Anthropic plugins use minimal manifests; follow their pattern
- Before every release, test install on a clean machine/session
- The
agentsfield specifically causes validation failure:agents: Invalid input
Git Branching Rules
dev is the working branch. main is the release branch.
- Never commit directly to
main— all changes go throughdevfirst - Start every task by switching to
dev:git checkout dev
git pull origin dev - Keep
devin sync withmainbefore starting work:git merge main - Commit and push changes to
dev:git push origin dev - Update
mainonly via PR: Create a PR fromdev→main, review, then merge - After merging to
main, sync back:git checkout dev
git merge main
git push origin dev
Before Every Commit
- Update roadmap.md with completed tasks
- Mark tasks as
[x]with commit hash:- [x] Task (\abc1234`)` - For new tasks, use
/pm-roadmap-add
Releasing a Version
Every version bump MUST be a single atomic operation:
- Update version in
.claude-plugin/plugin.jsonand.claude-plugin/marketplace.json - Add entry to CHANGELOG.md following Keep a Changelog format
- Commit with message:
release: vX.Y.Z — {summary} - Create git tag:
git tag vX.Y.Z - Push with tags:
git push origin main --tags
Never bump version without a CHANGELOG entry and git tag. These three are inseparable.