Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
180 commits
Select commit Hold shift + click to select a range
680768c
refactor(aidd-context): action citations use markdown links, not @
blafourcade Jul 16, 2026
1a52770
docs(framework): reposition readme as agnostic token-optimized framew…
alexsoyes Jul 18, 2026
f2eb27e
chore: back-merge main into next (conflicts) (#454)
aidd-bot[bot] Jul 20, 2026
f17ea91
refactor(aidd-context): restructure 10-learn into a 5-action router (…
blafourcade Jul 20, 2026
b5f3c55
ci(deps): bump github/codeql-action/analyze from 4.37.0 to 4.37.1 (#456)
dependabot[bot] Jul 20, 2026
8d8742c
ci(deps): bump github/codeql-action/autobuild from 4.37.0 to 4.37.1 (…
dependabot[bot] Jul 20, 2026
10bdd60
fix(cli): migrate aidd-cli into framework as cli/, full history prese…
blafourcade Jul 22, 2026
0515741
fix(cli): repoint self-references from aidd-cli to framework
blafourcade Jul 22, 2026
14acb5f
fix(cli): add license and keywords for the npm package page
blafourcade Jul 22, 2026
459701c
ci(deps): bump github/codeql-action/autobuild from 4.37.1 to 4.37.3 (…
dependabot[bot] Jul 22, 2026
1407d13
chore(deps-dev): bump @biomejs/biome from 2.4.7 to 2.5.5 in /cli (#477)
dependabot[bot] Jul 22, 2026
7cce315
chore(deps-dev): bump fast-check from 4.7.0 to 4.9.0 in /cli (#481)
dependabot[bot] Jul 22, 2026
f4c4a27
chore(deps-dev): bump knip from 6.16.1 to 6.27.0 in /cli (#482)
dependabot[bot] Jul 22, 2026
3b0da1e
chore(deps-dev): bump jscpd from 5.0.7 to 5.0.12 in /cli (#483)
dependabot[bot] Jul 22, 2026
499bec5
ci(deps): bump github/codeql-action/analyze from 4.37.1 to 4.37.3 (#475)
dependabot[bot] Jul 22, 2026
4870dd6
chore: back-merge main into next (conflicts) (#499)
aidd-bot[bot] Jul 22, 2026
395e9f3
fix(cli): scope plugin restore to --tool, collapse double materializa…
blafourcade Jul 24, 2026
69b0537
fix(cli): document intentional force on internal build-cache rebuild …
blafourcade Jul 24, 2026
2ec851b
refactor(cli): inject shared StatusUseCase/RestoreUseCase/UpdateOneTo…
blafourcade Jul 24, 2026
fd33892
fix(cli): resolve buildClaudeStyleMarketplaceEntry and PluginTranslat…
blafourcade Jul 24, 2026
4acabcb
refactor(aidd-refine): 01-brainstorm moves from fixed probing loop to…
blafourcade Jul 24, 2026
bfe9253
chore: back-merge main into next (conflicts) (#503)
aidd-bot[bot] Jul 24, 2026
6a8df2c
ci(deps): bump github/codeql-action/init from 4.37.0 to 4.37.3 (#476)
dependabot[bot] Jul 24, 2026
79b875a
ci(deps): bump actions/checkout from 7.0.0 to 7.0.1 (#458)
dependabot[bot] Jul 24, 2026
28dce18
ci(deps): bump actions/setup-node from 6.4.0 to 7.0.0 (#459)
dependabot[bot] Jul 24, 2026
29c8281
chore(deps-dev): bump @types/node from 24.10.15 to 26.1.1 in /cli (#480)
dependabot[bot] Jul 24, 2026
c72ea0d
chore(deps-dev): bump @commitlint/cli from 19.8.1 to 21.2.1 in /cli (…
dependabot[bot] Jul 24, 2026
c378c40
chore(deps): bump commander from 12.1.0 to 15.0.0 in /cli (#479)
dependabot[bot] Jul 24, 2026
ff802a8
chore(deps-dev): bump typescript from 5.9.3 to 7.0.2 in /cli (#484)
dependabot[bot] Jul 24, 2026
9762006
fix(cli): derive framework build's SUPPORTED_TARGETS from the build r…
blafourcade Jul 24, 2026
26e9241
test(cli): add AiTool registry conformance suite (#516)
blafourcade Jul 27, 2026
7ff9edb
refactor(cli): inject PostInstallPipelineUseCase and GitignoreUseCase…
blafourcade Jul 27, 2026
f1ece43
fix(cli): surface menu errors instead of swallowing them into an infi…
blafourcade Jul 27, 2026
5463aa3
fix(ci): promote.yml recognizes squash-merged back-merges as sync bou…
blafourcade Jul 27, 2026
57f4a52
fix(cli): drop the auth gate from self-update (#525)
blafourcade Jul 27, 2026
0ad4a48
test(cli): drop ticket and point-in-time references from test comment…
blafourcade Jul 27, 2026
eb08a27
fix(cli): move marketplace refresh --force cache clear into its use-c…
blafourcade Jul 27, 2026
07368d9
fix(cli): ide uninstall removes the settings keys it merged in (#529)
blafourcade Jul 27, 2026
dd163f1
fix(cli): report each status/doctor scope once, under an accurate lab…
blafourcade Jul 27, 2026
4ff167e
test(cli): pin the report-and-continue policy in UpdateOneToolUseCase…
blafourcade Jul 27, 2026
c502275
chore(deps-dev): bump js-yaml from 5.2.1 to 5.2.2 (#533)
dependabot[bot] Jul 27, 2026
cc2ef9e
chore(deps-dev): bump @types/node from 26.1.1 to 26.1.2 in /cli (#534)
dependabot[bot] Jul 27, 2026
48b66e1
chore(deps-dev): bump knip from 6.27.0 to 6.29.0 in /cli (#536)
dependabot[bot] Jul 27, 2026
9cf172f
chore(deps-dev): bump jscpd from 5.0.12 to 5.0.14 in /cli (#537)
dependabot[bot] Jul 27, 2026
026452e
chore(deps): bump smol-toml from 1.6.1 to 1.7.1 in /cli (#538)
dependabot[bot] Jul 27, 2026
079dd47
refactor(cli): detect plugin drift through one implementation (#532)
blafourcade Jul 28, 2026
bd05a0d
fix(cli): repair the broken pnpm lockfile (#542)
blafourcade Jul 28, 2026
6a9e84f
feat(aidd-pm): add evidence-bounded spike skill (#543)
blafourcade Jul 28, 2026
830f358
fix: framework headline (#520)
alexsoyes Jul 28, 2026
3de6ed2
refactor(cli): resolve the plugin base dir in one place (#544)
blafourcade Jul 28, 2026
db2243a
test(cli): cover the built-tree update path before refactoring it (#541)
blafourcade Jul 28, 2026
a9abe8b
refactor(cli): share the plugin translator pipeline (#546)
blafourcade Jul 28, 2026
c6dd536
refactor(cli): resolve plugin catalogs through one path (#547)
blafourcade Jul 29, 2026
afd1fa1
refactor(cli): resolve marketplaces through one path (#549)
blafourcade Jul 29, 2026
5c78f4a
test(cli): cover install and restore before generalizing them (#550)
blafourcade Jul 29, 2026
fbc3ff3
feat(aidd-pm): add Product Brief discovery skill (#551)
blafourcade Jul 29, 2026
08613d9
refactor(cli): install content sections through one engine (#552)
blafourcade Jul 29, 2026
ab8a071
refactor(cli): update ai and ide tools through one implementation (#553)
blafourcade Jul 29, 2026
f7eb469
refactor(cli): decide restores in one place (#554)
blafourcade Jul 29, 2026
b703ae3
fix(cli): report restore outcomes it previously hid (#555)
blafourcade Jul 29, 2026
22a450e
fix(cli): stop update and restore materializing marketplace plugins (…
blafourcade Jul 29, 2026
90b602c
fix(cli): remove the build force option that never did anything (#557)
blafourcade Jul 29, 2026
7e0b70a
docs: fix marketplace install steps and note host-wide duplicate comm…
davidmohamedfr Jul 30, 2026
b059dd0
docs(framework): simplify contribution to one issue-first path (#562)
blafourcade Jul 31, 2026
1731b0f
chore(deps-dev): bump lefthook from 1.13.6 to 2.1.10 in /cli (#535)
dependabot[bot] Jul 31, 2026
9168255
chore(deps-dev): bump @commitlint/config-conventional from 19.8.1 to …
dependabot[bot] Jul 31, 2026
2a92a52
docs(framework): fix ROADMAP.md link, dedupe RELEASE.md, drop UPGRADE…
blafourcade Jul 31, 2026
8a8ffe6
chore(deps): bump @inquirer/prompts from 7.10.1 to 8.5.2 in /cli (#540)
dependabot[bot] Jul 31, 2026
c2c2c94
chore: back-merge main into next (conflicts) (#568)
aidd-bot[bot] Jul 31, 2026
07416a8
refactor(aidd-context): citations are links at their point of use
blafourcade Jul 31, 2026
5ee9da9
refactor(plugins): action citations use markdown links, not @
blafourcade Jul 31, 2026
9b1313e
feat(framework): add QA and communication evaluations (#512)
alexsoyes Aug 2, 2026
d9df978
feat(kanban): mount the kanban viewer on aidd as a hidden command (#573)
blafourcade Aug 3, 2026
94c22ef
fix(ci): unbreak the framework-local checks after the kanban move (#574)
blafourcade Aug 3, 2026
95555e2
ci(deps): bump github/codeql-action/autobuild from 4.37.3 to 4.37.4 (…
dependabot[bot] Aug 3, 2026
a045cab
chore(deps): bump react and @types/react in /cli (#576)
dependabot[bot] Aug 3, 2026
f9a0839
chore(deps-dev): bump @biomejs/biome from 2.4.7 to 2.5.6 in /cli (#577)
dependabot[bot] Aug 3, 2026
ea8f03b
chore(deps-dev): bump knip from 6.16.1 to 6.31.0 in /cli (#578)
dependabot[bot] Aug 3, 2026
129e3bf
refactor(orchestrator): replace SDLC actions with protocols (#517)
alexsoyes Aug 6, 2026
fc38ecd
feat(aidd-pm): keep a typed product backlog coherent whoever writes t…
blafourcade Aug 6, 2026
21c718c
fix(ci): promote.yml uses the most recent sync commit as its replay b…
blafourcade Aug 6, 2026
5a3b934
chore: back-merge main into next (conflicts)
blafourcade Aug 7, 2026
f3c75b2
ci(deps): bump github/codeql-action/init from 4.37.4 to 4.37.6 (#580)
dependabot[bot] Aug 7, 2026
c9afde7
ci(deps): bump github/codeql-action/analyze from 4.37.4 to 4.37.6 (#579)
dependabot[bot] Aug 7, 2026
03c2e30
ci: align codeql autobuild pin to v4.37.6 and group actions bumps (#600)
blafourcade Aug 7, 2026
eb24ef6
refactor(framework): one home for the skill contract (#601)
blafourcade Aug 7, 2026
8b8e4d6
fix(orchestrator): backlog decide waits, apply forwards next step (#602)
blafourcade Aug 7, 2026
56bec12
fix(framework): leave a fenced block alone when normalising Process s…
blafourcade Aug 7, 2026
2cba898
chore(deps-dev): bump js-yaml from 5.2.2 to 5.2.3 (#605)
dependabot[bot] Aug 7, 2026
ed2a4c4
chore(deps-dev): bump jscpd from 5.0.7 to 5.0.14 in /cli (#606)
dependabot[bot] Aug 7, 2026
ea9c5c5
chore(deps-dev): bump fast-check from 4.7.0 to 4.9.0 in /cli (#607)
dependabot[bot] Aug 7, 2026
a923d56
chore: back-merge main into next (conflicts) (#610)
aidd-bot[bot] Aug 10, 2026
e599e97
chore(deps-dev): bump knip from 6.31.0 to 6.32.0 in /cli (#613)
dependabot[bot] Aug 10, 2026
72e6a83
chore(deps): bump smol-toml from 1.6.1 to 1.7.1 in /cli (#614)
dependabot[bot] Aug 10, 2026
5ee45c1
chore(deps-dev): bump @types/node from 26.1.2 to 26.2.0 in /cli (#615)
dependabot[bot] Aug 10, 2026
3852a6d
chore(deps-dev): bump @biomejs/biome from 2.5.6 to 2.5.7 in /cli (#616)
dependabot[bot] Aug 10, 2026
e73d872
fix(aidd-context): make 10-learn's recommendation step consistent (#622)
blafourcade Aug 12, 2026
088df33
feat(refine): remove condense skill and its hook (#624)
blafourcade Aug 13, 2026
12b89d6
refactor(aidd-pm): migrate ticket-info, prd, and spec to router contr…
blafourcade Aug 14, 2026
cc71d63
fix(ci): render the star history chart from the repo's own token (#627)
blafourcade Aug 14, 2026
7ec7bbc
fix(cli): transform codex marketplace skills (#571)
davidmohamedfr Aug 14, 2026
4c39e5c
refactor(aidd-context): project memory shows what it would change bef…
blafourcade Aug 14, 2026
af098d9
fix(ci): promote widens its window until it reproduces next (#634)
blafourcade Aug 14, 2026
7d2d390
chore: back-merge main into next (conflicts) (#641)
aidd-bot[bot] Aug 14, 2026
702d01a
chore: back-merge main into next (conflicts) (#644)
aidd-bot[bot] Aug 14, 2026
68b8aa5
chore(deps-dev): bump @commitlint/config-conventional from 21.2.0 to …
dependabot[bot] Aug 17, 2026
7bf99e0
chore(deps-dev): bump js-yaml from 5.2.3 to 5.3.0 (#668)
dependabot[bot] Aug 17, 2026
ac0a5da
chore(deps-dev): bump @biomejs/biome from 2.5.7 to 2.5.8 in /cli (#669)
dependabot[bot] Aug 17, 2026
f2b52c1
chore(deps-dev): bump @commitlint/config-conventional from 21.2.0 to …
dependabot[bot] Aug 17, 2026
82f7573
chore(deps-dev): bump jscpd from 5.0.14 to 5.0.15 in /cli (#671)
dependabot[bot] Aug 17, 2026
574edb4
chore(deps-dev): bump knip from 6.32.0 to 6.32.2 in /cli (#673)
dependabot[bot] Aug 17, 2026
8432a2a
chore(deps): bump smol-toml from 1.7.1 to 1.8.0 in /cli (#674)
dependabot[bot] Aug 17, 2026
e4456de
ci(deps): bump the github-actions group with 3 updates (#675)
dependabot[bot] Aug 17, 2026
a36fcf9
chore(deps-dev): bump @commitlint/cli from 21.2.1 to 21.2.2 (#667)
dependabot[bot] Aug 17, 2026
16b8041
chore(deps-dev): bump @commitlint/cli from 21.2.1 to 21.2.2 in /cli (…
dependabot[bot] Aug 17, 2026
971c980
feat(aidd-context): add retrospective lens to learn (#712)
alexsoyes Aug 24, 2026
7c3e03f
docs(framework): position README for enterprise teams (#664)
alexsoyes Aug 24, 2026
df4195d
chore(deps): bump @inquirer/prompts from 8.5.2 to 8.6.0 in /cli (#713)
dependabot[bot] Aug 24, 2026
f6e7bad
chore(deps-dev): bump jscpd from 5.0.15 to 5.0.16 in /cli (#714)
dependabot[bot] Aug 24, 2026
5144c47
chore(deps-dev): bump @biomejs/biome from 2.5.8 to 2.5.10 in /cli (#715)
dependabot[bot] Aug 24, 2026
a600806
ci(deps): bump the github-actions group with 3 updates (#716)
dependabot[bot] Aug 24, 2026
765d6a2
docs(readme): clarify the feature delivery flow (#717)
alexsoyes Aug 27, 2026
d9dfed9
fix(aidd-context): load the project memory block in Claude Code (#721)
blafourcade Aug 28, 2026
25ea44c
ci: back-merge main into next
blafourcade Aug 28, 2026
158843d
ci: back-merge main into next (#725)
blafourcade Aug 29, 2026
7bf1ece
ci: promote and back-merge through merge commits (#726)
blafourcade Aug 29, 2026
08965f6
chore(framework): refresh the project memory reading list (#728)
blafourcade Aug 31, 2026
4fb582e
chore(framework): reshape the memory bank to its own templates (#732)
blafourcade Aug 31, 2026
0451c62
chore(deps-dev): bump lefthook from 2.1.10 to 2.1.12 (#735)
dependabot[bot] Aug 31, 2026
633d6cd
chore(deps-dev): bump @types/node from 26.2.0 to 26.4.0 in /cli (#736)
dependabot[bot] Aug 31, 2026
989ba00
chore(deps-dev): bump @biomejs/biome from 2.5.10 to 2.5.11 in /cli (#…
dependabot[bot] Aug 31, 2026
9040636
chore(deps-dev): bump lefthook from 2.1.10 to 2.1.12 in /cli (#739)
dependabot[bot] Aug 31, 2026
9ed420c
chore(deps-dev): bump knip from 6.32.2 to 6.33.0 in /cli (#740)
dependabot[bot] Aug 31, 2026
07a2364
chore(deps-dev): bump js-yaml from 5.3.0 to 5.4.1 (#734)
dependabot[bot] Aug 31, 2026
288de44
ci(deps): bump the github-actions group with 3 updates (#741)
dependabot[bot] Aug 31, 2026
ee17c8f
chore(deps): bump @inquirer/prompts from 8.6.0 to 8.7.0 in /cli (#738)
dependabot[bot] Aug 31, 2026
9deab9b
feat(framework): reload OpenCode skills in development (#742)
alexsoyes Sep 2, 2026
627408f
feat(framework): measurement that works on five tools, each proven by…
blafourcade Sep 2, 2026
919aee3
fix(cli): check says whether the host will load what aidd installed (…
blafourcade Sep 3, 2026
5b222a3
fix(cli): the commit trailer survives a hook another tool regenerates…
blafourcade Sep 3, 2026
8a43983
fix(framework): a context reference in a form its tool cannot resolve…
blafourcade Sep 3, 2026
b415618
test(framework): the read path, met at a hundred sessions (#752)
blafourcade Sep 3, 2026
0144ec8
fix(framework): a test that writes into this repository's own .git (#…
blafourcade Sep 3, 2026
87af185
feat(cli): the report answers the same from anywhere, and says how it…
blafourcade Sep 4, 2026
cf66c22
feat(telemetry): a skill says when it is done, because nothing else c…
blafourcade Sep 4, 2026
a65bc81
fix(telemetry): a re-read stores nothing the same batch already wrote…
blafourcade Sep 4, 2026
c5af42e
test(cli): the smoke harness runs in its own home, not the user's (#760)
blafourcade Sep 4, 2026
18ed39b
feat(telemetry): a prompt is an axis, and the only one complete by co…
blafourcade Sep 4, 2026
39a4e84
fix(telemetry): a record can predate its journal, and must say so (#759)
blafourcade Sep 4, 2026
38a5d43
fix(telemetry): an identity names the work it already did (#761)
blafourcade Sep 4, 2026
dccbef2
fix(cli): a repair that repaired nothing says so (#762)
blafourcade Sep 4, 2026
feddad9
feat(orchestrator): an orchestration says when it is done (#764)
blafourcade Sep 4, 2026
ae70de6
fix(telemetry): a turn end is a pause for a flow too (#763)
blafourcade Sep 4, 2026
c73e793
fix(cli): clean removes the state it wrote (#765)
blafourcade Sep 4, 2026
9fc819e
ci: the windows e2e step stops starving its own reporter (#766)
blafourcade Sep 4, 2026
534d3db
fix(telemetry): a step end names its skill either way (#767)
blafourcade Sep 4, 2026
37a6b2c
feat(telemetry): a flow the tool named is a flow (#768)
blafourcade Sep 4, 2026
aee5721
docs(telemetry): a prompt axis says what it cannot name (#769)
blafourcade Sep 4, 2026
e4dc167
fix(telemetry): an agent row says who could be named (#770)
blafourcade Sep 4, 2026
ec49a4a
test(cli): a smoke case checks what it broke (#771)
blafourcade Sep 4, 2026
1efb3d9
fix(plugins): a skill links only inside itself (#772)
blafourcade Sep 4, 2026
462431a
fix(cli): activation leaves no permanent drift (#773)
blafourcade Sep 4, 2026
a6f7412
test(cli): every row kind arrives in any order (#774)
blafourcade Sep 4, 2026
9f19b94
fix(cli): a step outlives the pause inside it (#775)
blafourcade Sep 5, 2026
5788ad8
fix(cli): a journal states the schema it was written in, and the read…
blafourcade Sep 5, 2026
1c309b8
ci: the tree runs on one pinned pnpm 12 (#782)
blafourcade Sep 6, 2026
af683f4
fix(cli): a step's extent is only as strong as the evidence that clos…
blafourcade Sep 6, 2026
da524ca
fix(telemetry): a backlog declaration the report can actually read (#…
blafourcade Sep 6, 2026
eb073b7
docs+feat: the line between a hook and the CLI, and the last plugin s…
blafourcade Sep 6, 2026
7fbe889
feat(cli): a record names the skill its own prompt invoked (#783)
blafourcade Sep 6, 2026
85cde89
chore(docs): drop a product brief nothing reads and nothing checks (#…
blafourcade Sep 6, 2026
ba845f8
fix(telemetry): a second export is a second plugin (#785)
blafourcade Sep 6, 2026
1f1ae9e
fix(telemetry): a counter says what was measured (#786)
blafourcade Sep 6, 2026
25f0837
fix(cli): an unreadable registry says so instead of crashing (#787)
blafourcade Sep 6, 2026
95bdbbc
feat(cli): one shared framework source per machine, user scope and se…
blafourcade Sep 9, 2026
0affca5
refactor(cli): a --token travels as an argument, never through the pr…
blafourcade Sep 9, 2026
4531b74
fix(cli): carry the catalog's recommended field under metadata, where…
blafourcade Sep 9, 2026
0388a9a
test(cli): kill the surviving mutants of the tools context (#807)
blafourcade Sep 9, 2026
1e8ce3f
chore(ci): install expect without the runner's third-party apt source…
blafourcade Sep 9, 2026
0268042
test(cli): kill the surviving mutants of the framework context (#804)
blafourcade Sep 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
21 changes: 14 additions & 7 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,49 +12,56 @@
"source": "./plugins/aidd-context",
"description": "Knowledge production: project bootstrap, project init, generation of context artifacts (skills, agents, rules, commands, hooks), mermaid diagrams, learn, discovery",
"strict": true,
"recommended": true
"metadata": { "recommended": true }
},
{
"name": "aidd-dev",
"source": "./plugins/aidd-dev",
"description": "Code transformation: plan, implement, assert, audit, review, test, refactor, debug, for-sure. Hosts engineering agents.",
"strict": true,
"recommended": true
"metadata": { "recommended": true }
},
{
"name": "aidd-vcs",
"source": "./plugins/aidd-vcs",
"description": "External artifacts: commit, pull-request, release-tag, issue-create",
"strict": true,
"recommended": true
"metadata": { "recommended": true }
},
{
"name": "aidd-pm",
"source": "./plugins/aidd-pm",
"description": "Product backlog artifacts, refinement, Product Briefs, Epics, User Stories, Tasks, Spikes, Defects, requirements, and specs.",
"strict": true,
"recommended": true
"metadata": { "recommended": true }
},
{
"name": "aidd-orchestrator",
"source": "./plugins/aidd-orchestrator",
"description": "Orchestration: synchronous SDLC pipeline, async issue-to-PR automation, and product backlog.",
"strict": true,
"recommended": true
"metadata": { "recommended": true }
},
{
"name": "aidd-refine",
"source": "./plugins/aidd-refine",
"description": "Meta-cognition: refine input through brainstorming, refine output through challenge, blind-spot scanning, and fact-checking.",
"strict": true,
"recommended": true
"metadata": { "recommended": true }
},
{
"name": "aidd-ui",
"source": "./plugins/aidd-ui",
"description": "ALPHA, not ready for use. UI and UX concern: design, review, and improve frontend interfaces.",
"strict": true,
"recommended": false
"metadata": { "recommended": false }
},
{
"name": "aidd-telemetry",
"source": "./plugins/aidd-telemetry",
"description": "Measurement: journals every session so a unit of work can be tied to what it cost. The hooks record on plain node; its three skills reach the `aidd` CLI to turn it on, answer and check.",
"strict": true,
"metadata": { "recommended": false }
}
]
}
29 changes: 16 additions & 13 deletions .claude/settings.json
Original file line number Diff line number Diff line change
@@ -1,18 +1,5 @@
{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"extraKnownMarketplaces": {
"aidd-framework": {
"source": { "source": "directory", "path": "." }
}
},
"enabledPlugins": {
"aidd-context@aidd-framework": true,
"aidd-dev@aidd-framework": true,
"aidd-vcs@aidd-framework": true,
"aidd-pm@aidd-framework": true,
"aidd-orchestrator@aidd-framework": true,
"aidd-refine@aidd-framework": true
},
"hooks": {
"WorktreeCreate": [
{
Expand All @@ -24,5 +11,21 @@
]
}
]
},
"enabledPlugins": {
"aidd-context@aidd-framework": true,
"aidd-dev@aidd-framework": true,
"aidd-vcs@aidd-framework": true,
"aidd-pm@aidd-framework": true,
"aidd-orchestrator@aidd-framework": true,
"aidd-refine@aidd-framework": true
},
"extraKnownMarketplaces": {
"aidd-framework": {
"source": {
"source": "directory",
"path": "."
}
}
}
}
31 changes: 31 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,14 @@ updates:
interval: "weekly"
day: "monday"
open-pull-requests-limit: 5
# devDependencies batch into one PR instead of one per package — the CLI's
# Windows job alone runs ~8 min, and an unrelated bump should not pay for it once
# per dependency.
groups:
npm-dev-dependencies:
dependency-type: "development"
patterns:
- "*"
commit-message:
prefix: "chore"
include: "scope"
Expand All @@ -42,6 +50,29 @@ updates:
interval: "weekly"
day: "monday"
open-pull-requests-limit: 5
groups:
npm-dev-dependencies:
dependency-type: "development"
patterns:
- "*"
commit-message:
prefix: "chore"
include: "scope"
labels:
- "dependencies"

- package-ecosystem: "npm"
directory: "kanban"
target-branch: "next"
schedule:
interval: "weekly"
day: "monday"
open-pull-requests-limit: 5
groups:
npm-dev-dependencies:
dependency-type: "development"
patterns:
- "*"
commit-message:
prefix: "chore"
include: "scope"
Expand Down
6 changes: 4 additions & 2 deletions .github/rulesets/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@
"dismiss_stale_reviews_on_push": false,
"require_code_owner_review": true,
"require_last_push_approval": false,
"required_review_thread_resolution": true
"required_review_thread_resolution": true,
"require_extra_approval_for_unattributed_changes": true
}
},
{
Expand All @@ -29,7 +30,8 @@
"strict_required_status_checks_policy": false,
"required_status_checks": [
{"context": "lefthook (framework-local checks)"},
{"context": "Commitlint"}
{"context": "Commitlint"},
{"context": "cli / gate"}
]
}
},
Expand Down
6 changes: 4 additions & 2 deletions .github/rulesets/next.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@
"dismiss_stale_reviews_on_push": false,
"require_code_owner_review": false,
"require_last_push_approval": false,
"required_review_thread_resolution": false
"required_review_thread_resolution": false,
"require_extra_approval_for_unattributed_changes": true
}
},
{
Expand All @@ -29,7 +30,8 @@
"strict_required_status_checks_policy": false,
"required_status_checks": [
{"context": "lefthook (framework-local checks)"},
{"context": "Commitlint"}
{"context": "Commitlint"},
{"context": "cli / gate"}
]
}
},
Expand Down
55 changes: 26 additions & 29 deletions .github/workflows/back-merge.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
name: Back-merge

# After a release on main, sync main back into next so its changelog, manifest,
# and version bumps do not drift. When next holds no unreleased work, realign it
# onto main's hashes (force-push, the App is an "always" bypass actor on next)
# so the rebase-promote hash drift cannot accumulate. When next has real work,
# keep the merge. Conflict -> open a PR for a human. Any other failure -> open a
# tracking issue so the drift is never silent.
# After a release on main, fold main's changelog, manifest and version bumps back into next.
#
# A plain merge, because promote.yml lands as a merge commit: main and next share a real
# merge base, so only the release commit is left to reconcile. Conflict opens a PR instead.
#
# A release can publish several tags at once, firing this once per tag: the first run folds
# main in, the rest find it already merged rather than each opening a duplicate PR.

on:
release:
Expand Down Expand Up @@ -37,39 +38,35 @@ jobs:
- name: Merge main into next
env:
GH_TOKEN: ${{ steps.app-token.outputs.token }}
REPO: ${{ github.repository }}
RUN_ID: ${{ github.run_id }}
run: |
set -euo pipefail

git config user.name "aidd-bot[bot]"
git config user.email "aidd-bot[bot]@users.noreply.github.com"
git fetch origin main
if git merge --no-edit origin/main; then
# Promotes to main are rebase-merged, so main carries new commit
# hashes and next drifts even though the content matches. When the
# merge result is content-identical to main (next held no unreleased
# work), realign next onto main's clean hashes so the drift cannot
# accumulate into a giant conflicting promote later. Otherwise next
# has real unreleased work, so keep the merge and push normally.
if git diff --quiet origin/main HEAD; then
git push --force origin "origin/main:refs/heads/next"
else
git push origin next
fi

if git merge-base --is-ancestor origin/main HEAD; then
echo "next already contains main; nothing to back-merge."
exit 0
fi

# `ci:` on purpose: the type is absent from release-please's changelog-sections,
# so this plumbing commit never surfaces in a changelog, and commitlint accepts it.
if git merge --no-ff -m "ci: back-merge main into next" origin/main; then
git push origin next
else
git merge --abort
BRANCH="back-merge/main-to-next-${{ github.run_id }}"
BRANCH="back-merge/main-to-next-${RUN_ID}"
git checkout -b "$BRANCH" origin/main
git push origin "$BRANCH"
# promote.yml matches this exact title prefix to recognize a
# squash-merged conflict resolution as a sync boundary (this repo
# disallows merge-commit PRs, so this can't land as a real merge
# commit). Keep both in sync if you change it.
gh pr create --base next --head "$BRANCH" \
--title "chore: back-merge main into next (conflicts)" \
--body "Automated back-merge hit conflicts (CHANGELOG / manifest / version files). Resolve manually, then merge into next." \
--repo "${{ github.repository }}"
gh pr create --repo "$REPO" --base next --head "$BRANCH" \
--title "ci: back-merge main into next (conflicts)" \
--body "Automated back-merge hit conflicts. Resolve manually, then **merge with a merge commit, not a squash**: the second parent is what keeps a shared merge base between \`main\` and \`next\`, and a squash puts the next back-merge back into conflict."
fi

# Never let a back-merge fail silently: a rejected push or any other error
# opens a tracking issue so a human resyncs main into next.
# A rejected push, or any other error, must not leave next drifting silently.
- name: Open tracking issue on failure
if: failure()
env:
Expand Down
Loading
Loading