How to operate this repository day to day. For who may do what and the decision rules, see GOVERNANCE.md; for how contributors work, see CONTRIBUTING.md. This file is the Habilité (maintainer) playbook and does not restate those.
| Thing | Where | Note |
|---|---|---|
| Published plugins | .claude-plugin/marketplace.json + plugins/ |
the only thing shipped in a release |
| Live backlog & roadmap | Project board #8 | single source of truth |
| Roles → access | GitHub teams habilitated / certified / core-team |
mapped to the role ladder |
| Branch protection | ruleset "main protection" + .github/rulesets/main.json |
main is PR-only |
| Releases | release-please (ci.yml) + release-please-config.json |
7 packages, auto |
| Pre-commit checks | lefthook.yml + scripts/ |
json/yaml/schema/frontmatter/catalogs/counts |
- Triage issues. New issues auto-add to board #8. Set
Status/Area/Priority/Work Type; link under an epic (native sub-issues) if relevant. - Roadmap. Priority is set by the community vote (mechanism in
GOVERNANCE.md). Accepted items live on board #8 - keepROADMAP.mdas a pointer, do not maintain a second list. - Review PRs. Every PR needs a Habilité (CODEOWNERS) approval; checks
lefthook,Commitlint,DCOmust pass; squash-merge.
release-please opens/updates a chore: release main PR on each push to main.
- Review the version bumps + changelog in the release PR (it is authored by the aidd-bot App, so its checks run normally).
- Merge it:
gh pr merge <n> --squash. No admin needed - the App is a ruleset bypass actor, so its PRs merge once checks pass. - CI tags each bumped package, creates the GitHub Releases, and attaches the bundles:
aidd-framework-marketplace-X.Y.Z.zip(.claude-plugin/+plugins/)<plugin>-vX.Y.Z.zipaidd-framework-<tool>-<mode>-X.Y.Z.zip- per-tool distributions (9 archives: 4 marketplace claude/cursor/copilot/codex + 5 flat incl. opencode), produced by thebuild-per-toolmatrix job inci.ymlviaaidd-cli framework build. Pinned to a specific@ai-driven-dev/cliversion - bump it deliberately when adopting CLI build changes.
Versions live in .release-please-manifest.json. Forcing a version / pre-release: release-as in release-please-config.json (remove it after the release ships).
Patch + minor bumps auto-merge once their checks pass (.github/workflows/dependabot-auto-merge.yml, via the aidd-bot App). Major bumps stay manual - review, then gh pr merge <n> --squash. If several lockfile bumps queue up, the first merges and the rest re-base automatically (or comment @dependabot rebase).
main accepts only PRs (no direct push, no force-push, no deletion) with a CODEOWNERS review and passing lefthook / Commitlint / DCO.
Two bypass actors (both pull_request mode, so neither can push directly to main):
- the aidd-bot GitHub App (
Integration) - release-please and the Dependabot auto-merge mint a token from it (actions/create-github-app-token), so their PRs trigger the required checks and the App merges them past the human-review rule. - the
adminteam - lead maintainers can merge their own PR without a second review. Everyone else needs a code-owner review.
The App: ID in secret AIDD_BOT_APP_ID, key in AIDD_BOT_PRIVATE_KEY. If the App is broken/uninstalled, release and Dependabot PRs stop merging - fix the App rather than re-adding an admin bypass.
To change protection, edit .github/rulesets/main.json, then apply it live:
gh api -X PUT repos/ai-driven-dev/framework/rulesets/<id> --input .github/rulesets/main.jsonKeep the file and the live ruleset in sync.
- Promote to Habilité: a Habilité nominates a Certifié with a track record; majority of Habilité approves; add them to the
habilitatedteam andCODEOWNERS. - Core Team / Certifié: managed via the
core-team/certifiedteams (Core Team = paid AIDD programme members; Certifié = passed certification). - Inactivity 6 months -> emeritus by Habilité majority.
- Vulnerabilities: GitHub Security Advisories (see
SECURITY.md); never a public issue. - Secret scanning + push protection + Dependabot alerts are enabled. Push protection blocks new secret commits; it does not scan history, so never paste tokens.
- Plugin-specific runtime risks (CI permissions, MCP servers) belong in that plugin's README, not here.
- README counts (
6 plugins · 31 skills · 3 agentsand per-plugin) - auto-generated byscripts/sync-readme-counts.mjsvia lefthook. - Per-plugin
CATALOG.md- auto-generated byscripts/summarize-markdown.jsvia lefthook. CONTRIBUTORS.mdmosaic - the contrib.rocks image updates itself.
The marketplace is Claude Code native. Other tools are served by per-release archives the aidd-cli builds; this repo stays Claude-authored and tool-agnostic in its prose. Keep tool-specific detail in plugin READMEs.
See CREATE_PLUGIN.md. New plugins must also be registered in release-please-config.json + .release-please-manifest.json, or they never release.