Skip to content

chore: promote next to main#429

Closed
aidd-bot[bot] wants to merge 22 commits into
mainfrom
next
Closed

chore: promote next to main#429
aidd-bot[bot] wants to merge 22 commits into
mainfrom
next

Conversation

@aidd-bot

@aidd-bot aidd-bot Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Automated promotion of next to main. Merged by rebase to preserve conventional commits for release-please. Do not squash.

blafourcade and others added 22 commits July 6, 2026 07:14
Remove the aidd-ui package from release-please-config.json. Its
release-as: 0.1.0-alpha.0 pin forced the same version on every run, so
any change touching aidd-ui made release-please retry the existing
aidd-ui-v0.1.0-alpha.0 tag and fail (Validation Failed: already_exists).
Dropping it from the config freezes aidd-ui at its current alpha while it
is still a scaffold; re-add it with proper prerelease handling when it is
ready to version.


Claude-Session: https://claude.ai/code/session_01WKWd6AVpdYSCmRZWQWAnRt

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
)

Restore the aidd-ui package block in release-please-config.json so it
matches the other seven plugins (package-name + extra-files), but
without the release-as: 0.1.0-alpha.0 pin. The pin forced the same
version every run, retrying the existing aidd-ui-v0.1.0-alpha.0 tag and
failing (already_exists). Supersedes the block removal in #394: aidd-ui
stays release-managed like its siblings; the next change bumps it to a
fresh version instead of colliding.


Claude-Session: https://claude.ai/code/session_01WKWd6AVpdYSCmRZWQWAnRt

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* refactor: remove per-skill README.md mirrors, retarget to SKILL.md

Delete the 39 per-skill README.md files that mirrored their SKILL.md,
merge the genuinely-unique content from the 7 outlier READMEs into
SKILL.md (memory-bank-optional note, install prerequisite, experimental
status), retarget plugin-level README skill tables and CREATE_PLUGIN.md
to SKILL.md, and regenerate every plugin CATALOG.md.

Phase 1 of aidd_docs/tasks/2026_07/2026_07_06_remove-per-skill-readme.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* chore: mark phase 2 done for remove-per-skill-readme plan

All verify-and-guard gates pass: check-markdown-links.js exits 0,
zero plugins/*/skills/*/README.md remain, every affected skill dir
still has SKILL.md, both asset READMEs and all plugin-level/framework
READMEs are intact, sync-readme-counts.mjs --check exits 0, no CATALOG
lists a per-skill README row, and 04-skill-generate scaffolds no
per-skill README.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* chore: mark remove-per-skill-readme plan implemented

Both phases done and validation green (check-markdown-links.js and
sync-readme-counts.mjs --check both exit 0).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* chore: mark remove-per-skill-readme plan reviewed

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Bumps [github/codeql-action/init](https://github.com/github/codeql-action) from 4.36.2 to 4.36.3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@8aad20d...54f647b)

---
updated-dependencies:
- dependency-name: github/codeql-action/init
  dependency-version: 4.36.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 5.0.0 to 5.2.1.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](nodeca/js-yaml@5.0.0...5.2.1)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 5.2.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…399)

Bumps [github/codeql-action/autobuild](https://github.com/github/codeql-action) from 4.36.2 to 4.36.3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@8aad20d...54f647b)

---
updated-dependencies:
- dependency-name: github/codeql-action/autobuild
  dependency-version: 4.36.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [github/codeql-action/analyze](https://github.com/github/codeql-action) from 4.36.2 to 4.36.3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@8aad20d...54f647b)

---
updated-dependencies:
- dependency-name: github/codeql-action/analyze
  dependency-version: 4.36.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Add a WorktreeCreate hook so every worktree Claude Code creates branches
from `next` (falling back to `main` when `next` is absent) instead of the
repo default. Registered in .claude/settings.json.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
The next-branch ruleset requires 1 approving review. Dependabot PRs never
get one, so auto-merge stayed BLOCKED indefinitely. Approve non-major
(patch + minor) updates with the app token before enabling auto-merge; the
app identity differs from the PR author, so the approval satisfies the rule.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* ci(framework): stop release-please re-tagging aidd-ui (#394)

Remove the aidd-ui package from release-please-config.json. Its
release-as: 0.1.0-alpha.0 pin forced the same version on every run, so
any change touching aidd-ui made release-please retry the existing
aidd-ui-v0.1.0-alpha.0 tag and fail (Validation Failed: already_exists).
Dropping it from the config freezes aidd-ui at its current alpha while it
is still a scaffold; re-add it with proper prerelease handling when it is
ready to version.


Claude-Session: https://claude.ai/code/session_01WKWd6AVpdYSCmRZWQWAnRt

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

* ci(framework): drop the aidd-ui release-as pin, keep it consistent (#395)

Restore the aidd-ui package block in release-please-config.json so it
matches the other seven plugins (package-name + extra-files), but
without the release-as: 0.1.0-alpha.0 pin. The pin forced the same
version every run, retrying the existing aidd-ui-v0.1.0-alpha.0 tag and
failing (already_exists). Supersedes the block removal in #394: aidd-ui
stays release-managed like its siblings; the next change bumps it to a
fresh version instead of colliding.


Claude-Session: https://claude.ai/code/session_01WKWd6AVpdYSCmRZWQWAnRt

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

* refactor: remove per-skill README.md mirrors (#302) (#396)

* refactor: remove per-skill README.md mirrors, retarget to SKILL.md

Delete the 39 per-skill README.md files that mirrored their SKILL.md,
merge the genuinely-unique content from the 7 outlier READMEs into
SKILL.md (memory-bank-optional note, install prerequisite, experimental
status), retarget plugin-level README skill tables and CREATE_PLUGIN.md
to SKILL.md, and regenerate every plugin CATALOG.md.

Phase 1 of aidd_docs/tasks/2026_07/2026_07_06_remove-per-skill-readme.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* chore: mark phase 2 done for remove-per-skill-readme plan

All verify-and-guard gates pass: check-markdown-links.js exits 0,
zero plugins/*/skills/*/README.md remain, every affected skill dir
still has SKILL.md, both asset READMEs and all plugin-level/framework
READMEs are intact, sync-readme-counts.mjs --check exits 0, no CATALOG
lists a per-skill README row, and 04-skill-generate scaffolds no
per-skill README.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* chore: mark remove-per-skill-readme plan implemented

Both phases done and validation green (check-markdown-links.js and
sync-readme-counts.mjs --check both exit 0).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* chore: mark remove-per-skill-readme plan reviewed

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

* ci(deps): bump github/codeql-action/init from 4.36.2 to 4.36.3 (#398)

Bumps [github/codeql-action/init](https://github.com/github/codeql-action) from 4.36.2 to 4.36.3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@8aad20d...54f647b)

---
updated-dependencies:
- dependency-name: github/codeql-action/init
  dependency-version: 4.36.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump js-yaml from 5.0.0 to 5.2.1 (#401)

Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 5.0.0 to 5.2.1.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](nodeca/js-yaml@5.0.0...5.2.1)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 5.2.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* ci(deps): bump github/codeql-action/autobuild from 4.36.2 to 4.36.3 (#399)

Bumps [github/codeql-action/autobuild](https://github.com/github/codeql-action) from 4.36.2 to 4.36.3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@8aad20d...54f647b)

---
updated-dependencies:
- dependency-name: github/codeql-action/autobuild
  dependency-version: 4.36.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* ci(deps): bump github/codeql-action/analyze from 4.36.2 to 4.36.3 (#400)

Bumps [github/codeql-action/analyze](https://github.com/github/codeql-action) from 4.36.2 to 4.36.3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@8aad20d...54f647b)

---
updated-dependencies:
- dependency-name: github/codeql-action/analyze
  dependency-version: 4.36.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump @commitlint/cli from 21.0.2 to 21.2.0

Bumps [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) from 21.0.2 to 21.2.0.
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v21.2.0/@commitlint/cli)

---
updated-dependencies:
- dependency-name: "@commitlint/cli"
  dependency-version: 21.2.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Baptiste LAFOURCADE <119650761+blafourcade@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) from 21.0.2 to 21.2.0.
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v21.2.0/@commitlint/config-conventional)

---
updated-dependencies:
- dependency-name: "@commitlint/config-conventional"
  dependency-version: 21.2.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…moji-styled (#407)

* docs(framework): rework docs to be install-first, concise, and consistent

Restructure the README to lead with installation (Claude Code first,
other tools folded into one section), moving community context below.
Fix cross-doc anchor rot in FAQ/TROUBLESHOOTING, reconcile stale
plugin/skill/package counts against the filesystem (7 plugins, 40
skills, 2 agents, 8 release packages), and add the missing aidd-ui,
aidd-vcs 00-repo-init, and aidd-dev 10-todo entries.

Collapse duplication: delete the orphaned docs/RELEASE.md (duplicated
the canonical root RELEASE.md) after moving its unique promote/recovery
content into MAINTAINERS; make MAINTAINERS the single home for the
per-tool bundle list and point CONTRIBUTING at it.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(framework): make README essential — visual quick start, prerequisites, flat-only other tools

Rework the README around the "best repo" pattern: one-line what, a
two-phase visual quick start (onboard → project memory once, then the
feature loop), install with explicit prerequisites (Claude Code + Node
for plugin hooks), and marketing collapsed to a short community line.

Other tools now install from the flat archive only (unzip, no CLI); the
CLI-registered marketplace flow is marked as coming, since the CLI is
not yet available. List the two bundled Node hooks in ARCHITECTURE and
tie them to prerequisites + Trust and safety. Fix cross-doc anchors to
the real GitHub slugs (emoji headings carry a leading hyphen).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(framework): restructure README install/quick-start for clarity

Split into a dedicated Prerequisites section, a clear Claude Code
install, a tool-compatibility table, and per-tool collapsible install
blocks (flat archive). Quick start now offers three explicit entry
points: guided onboard, manual project-memory, or the full feature
flow. Group Recipes and docs into one readable "Learn more" block, and
tighten Trust and safety to two lines. Link to owning docs instead of
restating scopes, versioning, or hook details.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(framework): refine README install/quick-start and slim CONTRIBUTING

README: move the tool-support table under Prerequisites (framed as "an
AI tool we support"), drop the inline scopes/versioning pointer (now
only in Learn more), and give each other-tool a marketplace + flat
split in its collapsible. Quick start now shows the three entry points
(onboard / project-memory / feature flow) as a scannable table above
the flow diagram. Contribute line just links CONTRIBUTING.

CONTRIBUTING: refactor dense paragraphs into scannable bullets, fix the
stale Node version (22.12+), and let it own the PR-rights rule the
README delegates. No duplication — link to vcs.md, GOVERNANCE, RELEASE,
and MAINTAINERS for the details they own.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(framework): document real per-tool install methods

Replace the guessed "aidd marketplace add" steps with each tool's
actual native mechanism, verified against official docs and the release
archives:

- Cursor: copy plugins into ~/.cursor/plugins/local/ (all plans; only
  team marketplaces are Teams/Enterprise-gated).
- GitHub Copilot: .github/ customization files (skills, agents); Copilot
  CLI plugin marketplace noted.
- Codex: native `codex plugin marketplace add` / `codex plugin add`, or
  skills via .codex/skills/.
- OpenCode: file-based, unzip into .opencode/.

The compatibility table now shows only Flat/Marketplace dist
availability; how-to lives in each collapsible. FAQ and TROUBLESHOOTING
no longer claim a universal flat-unzip.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(framework): use each tool's official marketplace commands

Codex and Copilot install via their native `<tool> plugin marketplace
add ai-driven-dev/framework` + install commands, mirroring Claude Code
and using the same plugin names. Cursor via Customize → Plugins (local
fallback for plans without team marketplaces). OpenCode stays
file-based. Drops the archive-download clutter for the marketplace
tools.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(framework): structure each tool as Marketplace + Flat with release archives

Every other-tool collapsible now follows one shape: a Marketplace block
(release zip + install commands) and a Flat block (release zip + target
dir), so each format is explicit. OpenCode is Flat only.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(framework): recipe-style per-tool install blocks

Rewrite each other-tool collapsible as terse Marketplace/Flat subheads
with numbered steps, cutting prose. OpenCode marked Flat-only in its
summary.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(framework): note Claude-format support for Cursor/Copilot, fence commands

Add a Claude-format line to the Cursor and Copilot install blocks
(Copilot auto-detects .claude/skills and .claude/agents; Cursor reads
.claude/skills), and move the install commands into fenced code blocks
for readability.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(framework): collapse per-tool install into a single code block each

Each other-tool block is now one fenced recipe: download steps as
comments, Marketplace and Flat inline, with a one-line Claude-format /
docs note underneath. Much lighter to scan than the prose + inline
codespans.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(framework): split each tool back into visible Marketplace / Flat blocks

Restore the two categories as bold subheads, each with its own fenced
code block on its own lines. Merging them into one block had hidden the
distinction.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(framework): fenced blocks hold real commands only, not comments

Move the download/unzip step to a short prose line per category and keep
only actual commands inside the code fences. Flat entries with no command
are a plain line, no empty comment block.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(framework): per-tool install as title-only heads + numbered recipe

Each category (Marketplace / Flat) is a bare bold title on its own line,
followed by numbered steps; commands sit in a fence as a step. Notes
(plan, Claude format) move to one italic line under the steps.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(framework): Claude Code install in-session and by command line

Show both official paths: the /plugin slash commands in a session and
the equivalent `claude plugin marketplace add` / `claude plugin install`
shell commands.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(framework): restore intro, split Prerequisites/Compatibility, vertical diagram

- Bring back the fuller intro (marketplace one-liner + SDLC blockquote).
- Separate Prerequisites (an AI tool + Node) from a dedicated
  Compatibility section holding the tool table.
- Reword the Other-tools intro onto its own lines ("bundle" not
  "archives").
- Flip the quick-start diagram to top-down.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(framework): add cookbook recipes for greenfield and feature flow

Add two at-a-glance command-sequence recipes via the cook template:
start-a-project (greenfield setup) and ship-a-feature (idea → PR).
Index them in recipes/README.md, surface them in the README, and point
the contributing note at the shipped /aidd-context:12-cook skill.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(framework): enrich greenfield recipe via cook (brainstorm, PRD, bootstrap)

Upsert start-a-project through the /aidd-context:12-cook template: the
greenfield sequence now runs brainstorm → PRD → bootstrap → project
memory → onboard → first feature. Refresh its recipes index goal.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(framework): frame onboard as the guided alternative in recipes

Onboard is the guided path, not a manual step: drop it from the
greenfield sequence and add a "prefer guided?" note pointing to it in
both recipes. Ship-a-feature prerequisite now points at Start a project.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(framework): add recipes CTA under the quick-start diagram

Point readers from the quick-start diagram to the recipes for other
flows (start a project, ship a feature).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(framework): restore The AI-Driven Dev section; roles as a nav pointer

README: bring back the "The AI-Driven Dev" community section (R&D +
Discord/programme/ecosystem) alongside a slim Contributing.

CONTRIBUTING: replace the profile mermaid + restated rights with a
"where each starts" table that defers role definitions to GOVERNANCE
(no duplication of the responsible file). Repoint the FAQ community link.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(framework): apply no-duplication audit — link owners, fix stale facts

- CREATE_PLUGIN: drop the restated toolchain (stale "Node 20+") and dead
  "Development setup" anchor → link CONTRIBUTING #1-set-up; point the
  orthogonality bullet at ARCHITECTURE instead of restating it.
- MARKETPLACE: fix the wrong tag format (aidd-<plugin> double prefix) →
  <plugin>-vX.Y.Z with the tooling link to vcs.md; trim the marketing
  paragraph to one line.
- MAINTAINERS: People and branch-protection policy now link GOVERNANCE
  instead of restating roles/promotion/merge rules; split the back-merge
  run-on into bullets.
- GLOSSARY: include aidd-ui in the plugin domain list.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(framework): bring all docs into the README's emoji-headed style

Emoji + lighter prose across ARCHITECTURE, MARKETPLACE, CREATE_PLUGIN,
CONTRIBUTING, GOVERNANCE, RELEASE, GLOSSARY, MAINTAINERS, CATALOG — every
## section heading now carries a fitting emoji, matching the README.

Cross-doc link-target headings use variation-selector-free emoji so
their GitHub slug stays a clean leading-hyphen form; inbound links
updated to the new #-slug anchors. Verified: 0 broken fragment links.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(framework): merge FAQ+Troubleshooting, add flow diagrams

Merge TROUBLESHOOTING into a single emoji-headed docs/FAQ.md (FAQ &
Troubleshooting) and drop the separate file; repoint the README docs
row. Add three flow diagrams: contribution flow (CONTRIBUTING), plugin
build lifecycle (CREATE_PLUGIN), and marketplace resolution
(MARKETPLACE).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(framework): slim CREATE_PLUGIN to a lean reference (185 → 38 lines)

Drop the verbose scaffolding/SKILL.md/action code examples that
duplicated ARCHITECTURE's anatomy; keep only what lives nowhere else —
marketplace registration, release-please config, local testing, ship
guardrails — and link ARCHITECTURE for the model. No skill scaffolds a
full plugin, so this stays the home for the registration steps.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(framework): trim MAINTAINERS — dedup + condense the board runbook

Condense the ~53-line Project board setup to ~18 (drop redundant CLI
snippets and the checklist that restated the field bullets). Cut the
Daily "Review PRs" merge-rule restatement (link GOVERNANCE) and the
"Build your own plugin" registration line (now owned by CREATE_PLUGIN).
174 → 140 lines.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(framework): correct ARCHITECTURE orthogonality claim and surface usage

Cross-plugin orthogonality was overstated as absolute ("plugins do not
reference each other by name"), but aidd-orchestrator deliberately names
the aidd-dev pipeline it drives. Reframe: recipes delegate by capability;
the orchestrator is the named exception. Also note commands/rules/MCP are
schema-supported but currently unused by any bundled plugin. Verified
correct against the codebase otherwise.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(framework): keep orthogonality absolute — orchestrators included

The rule holds for all plugins, orchestrators included; an orchestrator
naming a sibling by aidd-<plugin>:... is a violation, not an exception.
Note it is not yet mechanically enforced, which is how such a hardcode
slips through today.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
release-please creates the umbrella and every plugin release in one run
with no ordering guarantee. GitHub marks whichever release is created
last as "Latest" (the create API defaults make_latest to true), so a
plugin release (e.g. aidd-dev-v2.3.0) can outrank the marketplace
version on batched cycles.

Force the root "." package tag (the umbrella v*) as latest after
release-please runs. The umbrella bumps every cycle, so a release run
always has a root tag to pin.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
The install-first rework still left a first-time reader with an
abstract pitch, undefined Marketplace/Flat terms, a 7-vs-6 plugin
count mismatch in the install block, and an asymmetric row in the
plugins table.

- Ground the pitch in one runnable /aidd-dev:00-sdlc example instead
  of a list of nouns.
- Define Marketplace vs Flat where the compatibility table first uses
  them, not only inside the Cursor details block.
- Note that the Claude Code install list covers the 6 stable plugins
  (aidd-ui is alpha) so the count matches the header badge.
- Pad the aidd-ui table row to three cells like every other row.
- Add a FAQ entry answering "why not just write my own skills?",
  linked from the new pitch.
* docs(framework): clarify README pitch, terms, and install list

The install-first rework still left a first-time reader with an
abstract pitch, undefined Marketplace/Flat terms, a 7-vs-6 plugin
count mismatch in the install block, and an asymmetric row in the
plugins table.

- Ground the pitch in one runnable /aidd-dev:00-sdlc example instead
  of a list of nouns.
- Define Marketplace vs Flat where the compatibility table first uses
  them, not only inside the Cursor details block.
- Note that the Claude Code install list covers the 6 stable plugins
  (aidd-ui is alpha) so the count matches the header badge.
- Pad the aidd-ui table row to three cells like every other row.
- Add a FAQ entry answering "why not just write my own skills?",
  linked from the new pitch.

* Missing part with aidd-ui, details for claude's commande lineand remove td at the end
`plugins/aidd-ui` ships, but neither `aidd-ui` nor `ui` was in `scope-enum`,
while the six other plugins each declare both forms. A commit touching the
plugin warned on a scope the repo itself defines.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
The forms applied `labels: ["bug"]` and `labels: ["enhancement"]`, but neither
label existed on GitHub, so every issue created through them landed unlabelled:
zero of the repo's 300 issues carries one. Issue types (Bug, Feature, Task) are
defined at the org level and the forms can set them directly.

- Both forms swap `labels:` for `type:` and scope their title prefix, matching
  the scope commitlint already expects on the commit.
- New `roadmap.yml` for maintainer-authored work: Problem, Scope, Acceptance
  criteria, and two optional sections that catch duplicates before they ship.
- `labels.yml` keeps only what a bot or a human actually reads.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
MAINTAINERS.md described fields that no longer exist (`Area`, `Work type`,
`Phases`), a `Priority` scale of P0/P1/P2, a `Ready` status, and a label-driven
Type. The board has four orthogonal axes instead: the type is an issue type
stamped by the form, the milestone says when, the priority orders what has no
when, and only the status lives on the board.

Also drops `--label back-merge-failed` from the back-merge workflow. The label
never existed, so `gh issue create` failed, the trailing `|| echo` swallowed the
error, and the step stayed green: the back-merge failed silently, which is what
the comment above it forbids. Nothing read the label.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
…425)

* chore: release main (#405)

Co-authored-by: aidd-bot[bot] <290648294+aidd-bot[bot]@users.noreply.github.com>

* ci(framework): stop release-please re-tagging aidd-ui (#394)

Remove the aidd-ui package from release-please-config.json. Its
release-as: 0.1.0-alpha.0 pin forced the same version on every run, so
any change touching aidd-ui made release-please retry the existing
aidd-ui-v0.1.0-alpha.0 tag and fail (Validation Failed: already_exists).
Dropping it from the config freezes aidd-ui at its current alpha while it
is still a scaffold; re-add it with proper prerelease handling when it is
ready to version.


Claude-Session: https://claude.ai/code/session_01WKWd6AVpdYSCmRZWQWAnRt

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

* ci(framework): drop the aidd-ui release-as pin, keep it consistent

Restore the aidd-ui package block in release-please-config.json so it
matches the other seven plugins (package-name + extra-files), but
without the release-as: 0.1.0-alpha.0 pin. The pin forced the same
version every run, retrying the existing aidd-ui-v0.1.0-alpha.0 tag and
failing (already_exists). Supersedes the block removal in #394: aidd-ui
stays release-managed like its siblings; the next change bumps it to a
fresh version instead of colliding.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WKWd6AVpdYSCmRZWQWAnRt

* feat(aidd-context): rework onboard into a noob-first guide

Reshape the onboard report from a status dashboard into a noob-first
guide: one plain state sentence, one recommended action with its key,
the rest on demand behind [?]. Emoji-anchored state kept, glyphs cut to
✅/⚠️/❌, tiers phrased as plain clauses, labels made explicit
(tech stack, project knowledge saved, knowledge loaded by the AI).

Restore three behaviors the earlier linter rebuild dropped:
- session ledger (kills the re-nag for off-disk completions)
- plan-status hedge driving the build-to-ship pin
- capability map documented as the fixed catalogue (light tradeoff)

Fix the dev-flow pin to read only the current branch's PR, never a
repo-wide open PR or review queue. Rework the idle menu into three plain
umbrellas (start new work / improve the project / customize the AI) plus
explore. Add a recap reply, a return-to-onboard affordance on GUIDED
handoff, and a framing line so the interactive nature is announced.

Conform to the skill-authoring contract (R1-R13).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(aidd-context): plan the onboard tutorial rebuild

5-phase plan for reworking onboard into a token-optimized guided
tutorial: granular conditional-load file tree, 4-action chain
(scan → assess → present → run), state-aware foundations, leaner
router format, updated skill-authoring contract. Colleague-approved
mockup gallery included.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* refactor(aidd-context): nested refs + leaner router format in skill-authoring

Phase 1 of the onboard rebuild. Relax R3 to allow nested reference
sub-folders with a load-locality rule; reconcile R13 (import vs
pointer, nested paths); add R14 (telegraphic notation, mermaid only
for branching); specify the router format (tiny title, arrow/pick-one
chaining schema, verb-led Does, no intro/Input column, official
frontmatter keys only).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* feat(aidd-context): onboard state layer (scan + state refs)

Phase 2. Split the state catalogue into tiny conditional-load refs:
state/zones.md (foundations, dev flow, health), state/detection.md
(AI-tool roots + per-tool wiring), state/done-rule.md (session ledger),
state/hedge.md (plan-status pin). Rewrite 01-scan to load them per
step and detect AI tools + wiring. checks.md kept until phase 3
extracts order/.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* feat(aidd-context): onboard assess + run actions with order/ + run/ refs

Phase 3. Add 02-assess (snapshot => decision: state class, ranked next,
chosen screen) over order/{ranking, idle-menu, screen-map(mermaid)}.
Rename 03-run => 04-run over run/{replies, tiers, return}. Rename
02-report => 03-present (body rewritten in phase 4). Delete run-tiers.md
(content moved to run/). Four actions: scan → assess → present → run.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* feat(aidd-context): onboard tutorial presentation (present + report + flow + banner)

Phase 4. Rewrite 03-present to render the screen 02-assess chose,
injecting banner.txt on entry screens and loading flow.md on flow/walk
screens. New flow.md (8-step curriculum, two state-aware foundation
paths, vertical + map layouts). New banner.txt (AIDD ASCII). Rewrite
report.md into the screen shapes (state block with warning-carries-a-fix,
foundations step, where-you-are, [?] detail). Delete checks.md, now
fully split into state/ and order/.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* feat(aidd-context): lean onboard router + tutorial README

Phase 5. Rewrite SKILL.md in the new router format (tiny title,
'scan → assess → present → run ↺' schema, verb-led Does, no intro or
Input column): 567 → 296 tok. Reframe README as a guided tutorial.

Token budget (tiktoken cl100k, proxy): always-on description 66 tok;
model-loaded corpus 5672 tok (-249 vs the noob-first checkpoint). The
real win is conditional loading — each action pays its own layer
(scan ~1280, assess ~620, run ~620) instead of the old checks.md
(2068) + run-tiers (1033) co-loaded monolith.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* chore(aidd-context): mark onboard tutorial rebuild implemented

All five phases done, link check green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* fix(aidd-context): resolve onboard review findings

Single-home the glyph semantics (state refs describe status in words;
display legend stays in report.md), split disk-detectable dev-flow pins
from inferred ones in zones.md, and point report.md's tier clause to
run/tiers.md instead of restating it. review.md verdict now approve.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* refactor(aidd-context): compress onboard references

Cut flow.md duplication (the step table was repeated as a vertical
code block; present renders the table now): 562 → 324 tok. Telegraph
the prose notes and drop the duplicated flow map in zones.md
(769 → 649), and tighten idle-menu, detection, tiers. No condition
lost. References corpus 3211 → 2678; model-loaded total 5921 → 5255
(-11% vs the noob-first checkpoint).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* fix(aidd-context): resolve checker findings on onboard

Add the mandatory ## Output section to 04-run (R8 action anatomy;
the other three actions had it). Stop the README from restating the
glyph legend that report.md single-homes (describe status in words).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* refactor(aidd-context): tighter onboard description

Lead with 'Guide a project through AIDD' instead of the awkward
'onboard onto an AIDD project'; drop near-duplicate triggers. 66 -> 49
always-on tokens.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* refactor(aidd-context): onboard description frames the journey

Describe the journey (first setup to shipping a feature) rather than
restating the scan/assess mechanism the actions already own.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* refactor(aidd-context): router loop as an explicit mermaid, not the ambiguous ↺

The 'scan → assess → present → run ↺' glyph is ambiguous about where
the loop returns. Show the cycle as a mermaid flowchart so the LLM
reads the run → scan edge unambiguously. Update the contract: a
pipeline schema is arrows for a straight run or a mermaid when the
flow loops (a cycle is not linear, so R14 permits it).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* refactor(aidd-context): terser onboard action table

Verb + object per action (read the project / decide the next step /
show the screen / act on the reply); the action files carry the detail.
Includes the reviewed transversal rules.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* refactor(aidd-context): lean onboard action files

Trim each action to essentials: a rule-free title line, a one-line
Output, one-line Process steps (detail lives in the refs, cases as
sub-bullets), and challenged one-sentence Test points.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* refactor(aidd-context): make onboard standalone

Drop the cross-skill import of 02-project-memory's memory-block.md.
Memory-wiring drift is judged in the Zones step against a self-contained
rule in zones.md (the standard aidd_project_memory block that imports the
memory files), so onboard no longer reaches into another skill's files.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* refactor(aidd-context): name action outputs, drop restated step, kill semicolons

Output names the produced artifact (snapshot / decision / screen) instead
of enumerating its contents with a colon. Drop 03-present's Warn step —
report.md already owns the warning-and-fix rules that Shape applies. Split
every semicolon run-on into sub-bullets or separate lines.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* refactor(aidd-context): actions stop naming sibling actions

The router mermaid owns the scan → assess → present → run chain, so
each action's Input/Output/handoff no longer restates its neighbour.
Inputs and outputs name the artifact (snapshot, decision, screen),
not the producer or consumer. Drop the reply enumeration from 04-run
input (replies.md owns it) and 02-assess's pure-handoff step.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* refactor(aidd-context): slim the report.md screen asset

Trim the legend comment (glyph single-home + inline pointers to
replies.md/tiers.md), shorten placeholder hints, and replace the notes
that restated flow.md/replies.md with pointers. Five screen shapes kept,
mapping the screen-map state classes. 776 -> 590 tok.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* refactor(aidd-context): report.md is pure shapes, rules move to 03-present

An asset holds the shape to fill, not rules and not action names. Strip
report.md to the five screen templates. Move the render rules (framing
first-only, glyph meanings, warning-carries-fix, ids/tier under [?]) into
03-present, where the renderer owns them. report.md 590 -> 351 tok.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* refactor(aidd-context): references hold data, not action coupling

Drop the 'action reads/does this' opener from every reference — the
action already declares which ref it reads, so naming the consumer back
is duplication. Remove the read/write and when-a-plan-exists conditions
that the actions own, fix a stale glyph-legend pointer, and clear the
remaining semicolons. References are the looked-up data now, nothing more.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* fix(aidd-context): resolve checker findings on the onboard slim pass

Restore the explain-project reply (dropped, not relocated) with its
memory-filled guard. Drop the render instruction from detection.md
(03-present owns rendering). Align 04-run Output with its Process by
exempting umbrella picks from the re-scan too.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* fix(aidd-context): correct + slim onboard references from review

detection: detect a tool by its own dir only (.claude/.codex/.cursor/
.opencode) — AGENTS.md is a shared wiring target many tools read, not a
codex signal. hedge: cover all five plan statuses (pending, in-progress,
implemented, reviewed, blocked) plus open-PR. idle-menu: new work is sdlc
or brainstorm, not spec. screen-map: one class/when/screen table, drop
the redundant mermaid. zones: keep detectable pins in the table, inferred
stages in a note; trim noise. return + done-rule: slimmed, purpose-first.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* refactor(aidd-context): fold detection wiring prose into the table

The 'AGENTS.md is the shared target... CLAUDE.md is claude's' prose just
restated a column. One table now carries detection dir + wiring file per
tool; the shared AGENTS.md is self-evident from the rows.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* refactor(aidd-context): drop prose that a table or another file carries

flow + ranking + replies + screen-map: drop openers that only echo the
H1. ranking: drop the state-aware parenthetical zones.md owns. replies:
[n] just runs a step or opens an umbrella, idle-menu owns the umbrella
mechanic. tiers: fold the clause into a table column, drop the What
column and the OK-walk bullet that restated it. flow: drop the render
hint. Includes the banner flag.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* fix(aidd-context): hedge fallback names the status field, not the plan

'unreadable or absent' read as 'no plan', but hedge only applies when a
plan exists — with no plan, zones.md places the pin. The row is about a
missing or unreadable status field.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* fix(aidd-context): a broken plan status surfaces, it does not guess a pin

A missing or unreadable status: means the plan itself is broken. Surface
it like blocked does, rather than inventing an Implement-then-Review pin.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* fix(aidd-context): resolve the ten-lens audit findings on onboard

Explore becomes idle-menu slot 4, so [?] is no longer overloaded between
'expand detail' and 'explore' on the idle screen. Delete the two replies.md
bullets that restated 04-run's loop decision (five lenses agreed). Drop
04-run's verbatim echo of tiers.md and its lone sibling-action reference.
Drop flow.md's consumer-naming line. Strip trailing whitespace.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(aidd-context): refresh the stale onboard row in the plugin index

The index still carried the pre-rework description.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* fix(aidd-context): specify what the live greenfield run left to chance

A real headless run improvised three things the asset never specified:
the foundations screen previewed the remaining steps, the option line
carried OK-walks-all and the flow map, and a zero-tool project crossed
its AI-tools row. Pin all three: the remaining steps are part of the
foundations shape, the option line names the walk and the map, and an
undetected tool set reads 'none yet' uncrossed since the memory row
already carries the gap.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* fix(aidd-context): one action line per screen

The live greenfield run stacked the entry screen's action line on top of
the foundations step's, repeating the same options twice. A screen that
carries a foundations step uses that step's line.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* fix(aidd-context): the action line renders once, whoever carries it

A drift screen printed [1] twice: the warning's fix line and the arrow
line both claimed the same action. Generalise the rule — a warning's fix
or a foundations step already is the action line, so the arrow line
renders only when neither does.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* fix(aidd-context): the screen ends at the options line

A live run trailed improvised prose past the options line, guessing what
comes after the fix. Lines stay short, nothing follows the options line,
and lookahead lives under [?].

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* refactor(aidd-context): one idea per line in the actions

Split the compound render bullets in 03-present and its Inject step, and
cut 04-run's Output back to the artifact it names — the ledger write and
the re-scan are Process steps, not Output prose.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* refactor(aidd-context): split the last compound action lines

Four lines still stacked two ideas. Each case becomes a sub-bullet, each
assertion its own Test point.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* fix(aidd-context): three defects an eight-state headless sweep exposed

Codex triggered the skill, read SKILL.md, and stopped. The 'read the
action file before running it' rule had been moved into the authoring
contract, which no executing host ever reads, so it reached nobody at
runtime. The router carries it again and the contract now says why.

CLAUDE.md without a .claude/ dir left claude undetected, so memory-wiring
drift was never judged and a broken block reported as healthy. A
tool-exclusive file is a valid signal; only the shared AGENTS.md is not.

A used-but-unwired tool rendered as missing, and a warning screen still
stacked two action lines. The shapes now name three mutually exclusive
action blocks, so a screen cannot carry two.

Captured runs for both hosts land beside the plan.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* revert(aidd-context): keep skill-authoring out of this branch

The contract changes this rework leaned on (nested references, router
format, the runtime read-the-action rule) ship in their own pair on the
next milestone. This branch touches onboard only.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(aidd-context): codex portability, proven before and after

The orphaned runtime rule was the only blocker. With the router carrying
it, Codex reads the actions and renders the same greenfield screen Claude
does.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* fix(aidd-context): the options line is the last line, named plainly

A live run on a broken-plan repo obeyed the one-action rule, then trailed
a detail block, a state snapshot, and a next hint past the options line.
The rule now names exactly what must not follow.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* fix(aidd-context): the idle menu is an action block, not a list

Left unshaped, a live idle screen grew a four-row list with descriptions.
Slot 1 is the action line, the rest join the options line.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: aidd-bot[bot] <290648294+aidd-bot[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
#428)

* fix(aidd-context): the state block carries the tech stack

The foundations step count says "1 of 2" on an existing repo and "1 of 3"
on a greenfield one, but the state block listed only AI tools, plugins and
memory. The stack was a foundation the reader could not see, so the count
had to be justified by a sentence the model was free to drop -- and did.

Give the stack its own row. The count now reads off the block: a green
stack means it does not count.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* fix(aidd-context): onboard keys never collide with host shortcuts

`?` opens the help prompt in Claude Code, so the detail key could never be
pressed. `<` was a punctuation key for the same reason of habit, not need.

Details moves to `[d]`, back to `[b]`, and a render rule reserves keys to
letters and digits so the next key cannot repeat the mistake.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
@aidd-bot aidd-bot Bot enabled auto-merge (rebase) July 10, 2026 11:24
@blafourcade

Copy link
Copy Markdown
Contributor

Superseded by #430: next carries a bot merge commit (51dccd9) that cannot be rebased. Reopen the promote once next is linear again.

auto-merge was automatically disabled July 10, 2026 11:30

Pull request was closed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants