Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
1096884
feat(skills): sync argument hints (#296)
alexsoyes Jun 19, 2026
d4e5c29
refactor(aidd-dev): redesign 01-plan into gather/explore/wireframe/pl…
alexsoyes Jun 19, 2026
dc14a73
docs(framework): add dominance checks to review and rules (#313)
alexsoyes Jun 20, 2026
ad8a310
Merge remote-tracking branch 'origin/main' into next
aidd-bot[bot] Jun 22, 2026
b4f1e22
Merge remote-tracking branch 'origin/main' into next
aidd-bot[bot] Jun 22, 2026
9fdfa45
ci(framework): trigger Validate on next branch (#317)
blafourcade Jun 22, 2026
4918fa4
feat(framework): add markdown link checker (#307)
alexsoyes Jun 22, 2026
5dfb9ba
feat(aidd-ui): scaffold alpha plugin (0.1.0-alpha.0) (#319)
blafourcade Jun 22, 2026
d08bd55
chore(deps): target next instead of main for dependabot (#324)
blafourcade Jun 23, 2026
87c650c
feat(aidd-vcs): add repo-init skill (init + publish a repository) (#269)
alexsoyes Jun 23, 2026
c13d41f
docs(framework): unify change taxonomy into one source of truth (#325)
blafourcade Jun 23, 2026
e973a0e
fix(aidd-vcs): sync pull-request skill contract with prefix routing (…
blafourcade Jun 23, 2026
dcc1eb6
refactor(aidd-refine): align skills with skill contract (#327)
blafourcade Jun 24, 2026
79ebfdd
refactor(framework): executor/checker agents + SDLC orchestration red…
blafourcade Jun 24, 2026
cedb873
feat(aidd-dev): route deletions to refactor cleanup with orphan sweep…
alexsoyes Jun 25, 2026
8f38135
docs(aidd-context): unify and trim agent instruction template (#329)
alexsoyes Jun 26, 2026
c783095
docs(framework): update readme positioning
alexsoyes Jun 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,13 @@
"description": "Meta-cognition: refine input through brainstorming, refine output through challenge and condensed communication mode.",
"strict": true,
"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
}
]
}
7 changes: 5 additions & 2 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
# Target `next`, not `main`. `main` only takes the weekly promotion PR and
# the Release PR (see RELEASE.md); dep updates batch on `next` and ship in
# the weekly release instead of cutting off-cycle releases.
target-branch: "next"
schedule:
interval: "weekly"
day: "monday"
Expand All @@ -11,10 +15,10 @@ updates:
include: "scope"
labels:
- "dependencies"
- "github-actions"

- package-ecosystem: "npm"
directory: "/"
target-branch: "next"
schedule:
interval: "weekly"
day: "monday"
Expand All @@ -24,4 +28,3 @@ updates:
include: "scope"
labels:
- "dependencies"
- "npm"
18 changes: 5 additions & 13 deletions .github/labels.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Canonical issue and PR label list for ai-driven-dev/framework.
#
# Labels are TRIAGE ONLY: they categorize an issue or PR. They never decide
# where a PR targets β€” routing is by branch prefix (see aidd_docs/memory/vcs.md).
# Keep one triage label per change.
#
# This file is the source of truth. When the GitHub label set drifts from
# this file, sync manually with:
#
Expand All @@ -24,31 +28,19 @@
color: 0075ca

- name: security
description: Security-sensitive issue or fix
description: Security-sensitive issue or fix (cross-cutting, add to any kind)
color: B60205

- name: good first issue
description: Good for newcomers
color: 7057ff

- name: help wanted
description: Extra attention is needed
color: 008672

# --- Dependencies --------------------------------------------------------

- name: dependencies
description: Dependency update (dependabot)
color: 0366d6

- name: github-actions
description: GitHub Actions workflow change
color: "000000"

- name: npm
description: npm dependency update
color: cb3837

# --- Release tooling -----------------------------------------------------

- name: "autorelease: pending"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/back-merge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
app-id: ${{ secrets.AIDD_BOT_APP_ID }}
private-key: ${{ secrets.AIDD_BOT_PRIVATE_KEY }}

- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
ref: next
fetch-depth: 0
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
contents: read
pull-requests: read
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
fetch-depth: 0
- uses: wagoid/commitlint-github-action@b948419dd99f3fd78a6548d48f94e3df7f6bf3ed # v6.2.1
Expand Down Expand Up @@ -94,7 +94,7 @@ jobs:
if: needs.release-please.outputs.release_created == 'true'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0

- name: Build clean marketplace bundle
# A self-contained marketplace a user can extract and register with
Expand Down Expand Up @@ -141,7 +141,7 @@ jobs:
- { tool: codex, mode: flat, flag: "--flat" }
- { tool: opencode, mode: flat, flag: "--flat" }
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0

- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
Expand Down Expand Up @@ -193,7 +193,7 @@ jobs:
echo "released=false" >> $GITHUB_OUTPUT
fi
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
if: steps.check.outputs.released == 'true'

- name: Get plugin version
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
language: [javascript-typescript]
steps:
- name: Checkout
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0

- name: Initialize CodeQL
uses: github/codeql-action/init@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/validate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ name: Validate

on:
push:
branches: [main]
branches: [main, next]
pull_request:
branches: [main]
branches: [main, next]

permissions:
contents: read
Expand All @@ -22,7 +22,7 @@ jobs:
CI: "true"
steps:
- name: Checkout
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0

- name: Setup Node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
Expand Down
3 changes: 2 additions & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,6 @@
"plugins/aidd-vcs": "2.0.0",
"plugins/aidd-pm": "2.0.0",
"plugins/aidd-orchestrator": "2.0.0",
"plugins/aidd-refine": "2.0.0"
"plugins/aidd-refine": "2.0.0",
"plugins/aidd-ui": "0.1.0-alpha.0"
}
64 changes: 36 additions & 28 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,41 @@
# CLAUDE.md

> IMPORTANT: On first conversation message:
>
> - say "AI-Driven Development ON - Date: {current_date}, TZ: {current_timezone}." to User.

## Behavior Guidelines

All instructions and information above are willing to be up to date, but always remind yourself that USER can be wrong, be critical of the information provided, and verify it against the project's actual state.

- Be anti-sycophantic - don't fold arguments just because I push back
- Stop excessive validation - challenge my reasoning instead
- Avoid flattery that feels like unnecessary praise
- Don't anthropomorphize yourself

## Technical guidelines

- Do not commit or push yourself unless I ask you to.
- For every plugin change, think hard about where responsibility belongs; follow the placement and orchestration rules in `docs/ARCHITECTURE.md`.
- Never duplicate across docs - link to the canonical home.

### Answering Guidelines

- Don't assume your knowledge is up to date.
- Be 100% sure of your answers.
- If unsure, say "I don't know" or ask for clarification.
- Never say "you are right!", prefer anticipating mistakes.
> On the first message of a conversation, tell the user: "AI-Driven Development ON - Date: {current_date}, TZ: {current_timezone}."

## Behavior

- **Stay critical.** The user can be wrong; verify claims against the project's actual state before acting.
- **Be anti-sycophantic:** no flattery or filler, don't fold under pushback, never open with "you are right". Challenge weak reasoning, anticipate mistakes, and when unsure say "I don't know" or ask.
- **Surface tradeoffs and evaluate their impact** instead of hiding them.

## Communication

- **Answer first:** result before reason. Drop pleasantries (sure, of course, happy to) and hedging.
- **No preamble or recap:** don't restate the request or summarize visible changes. Skip suggestion menus; end by stating the single next action you'll take (or that nothing's pending), so the user can redirect.
- **Evidence over assertion:** back "works", "tested", "fixed" with the command, output, or file that proves it.
- **Quote the shortest decisive line** of an error or log, not the whole dump.
- **No tool-call narration.** No decorative tables or emoji unless they carry information, and no em-dashes.
- **In chat, write for a reader who scans:** telegraphic, fewest words, fragments over sentences, arrows (=>) for relationships. Cut any word that doesn't change meaning. Normal prose in authored docs and code. Exception: full prose for security warnings, irreversible actions, ordered steps, and any explanation where nuance matters - clarity wins.

## Action

- **Surgical changes:** ship the minimum that solves the problem; touch only what the task needs, and leave the code cleaner than you found it.
- **Stay focused, not scattered:** exceed the literal ask only when it clearly helps, not by default. When you spot an unrelated issue, note it in one line and keep going; detour only if it blocks the task.
- **Solve your own issues first:** genuinely try to resolve it yourself before escalating to the human.
- **Do not commit or push** unless the user asks.
- **Don't assume your knowledge is current.**
- **Placement discipline:** for every plugin change, think hard about where responsibility belongs; follow `docs/ARCHITECTURE.md`.
- **Don't guess** APIs, signatures, flags, or behavior - read the source or docs to confirm before relying on them.
- **Ambiguous or expensive task:** ask one sharp question to pin down scope before building, rather than guess.
- **Batch independent operations** in one pass, not one at a time.
- **Fan out** independent subtasks to parallel subagents when you own the overall flow and the work is genuinely parallel.
- **Before adding any instruction, finding, or rule, check whether an existing one already covers or contradicts it.** If so, don't add a parallel: delete it, merge it into the stronger one, or rewrite with explicit scope and priority.
- **Name by intention, not mechanism:** describe the goal or responsibility, not the tool or file format.

## Memory Management

Project docs, memory, specs, and plans live in `aidd_docs/`.

### Project memory

<aidd_project_memory>
Expand All @@ -41,6 +49,6 @@ All instructions and information above are willing to be up to date, but always
@aidd_docs/memory/vcs.md
</aidd_project_memory>

- If memory is not loaded above: run `ls -1tr aidd_docs/memory/` then read each file
- If needed: load files from `aidd_docs/memory/external/*` when user request it
- If needed: load files from `aidd_docs/memory/internal/*`, you have to think about it
- If the block above is empty, run `ls -1tr aidd_docs/memory/` and read each file.
- Load `aidd_docs/memory/external/*` when the user asks.
- Load `aidd_docs/memory/internal/*` when the task needs it.
21 changes: 12 additions & 9 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,16 @@ make setup

`make` lists every target; `make doctor` / `make check` verify the environment and run the pre-commit checks.

### Markdown links

Lefthook runs the Markdown link checker during pre-commit. `make setup` installs the hooks; if dependencies are already installed and you only need the hook wiring, run:

```bash
pnpm exec lefthook install --force
```

Run `node scripts/check-markdown-links.js` to scan the repository. Detailed usage, supported forms, exclusions, and fix guidance live in `node scripts/check-markdown-links.js --help`.

### Test your changes locally

Exercise the skills you touched before opening a PR. Neither tool hot-reloads the checkout (both serve a copied cache), so after editing:
Expand All @@ -68,16 +78,9 @@ One scope per commit (split cross-plugin changes). The types, the scopes, and th

## 3. Open a pull request

- Branch off `next` and target `next` (the integration branch); `hotfix/*` branches off `main` for urgent production fixes. See [`RELEASE.md`](./RELEASE.md).
- Branch off `next` and target `next` (the integration branch); only `hotfix/*` branches off `main` for urgent production fixes. The branch prefix alone decides the target β€” the full prefix β†’ label β†’ target table is in [`aidd_docs/memory/vcs.md`](aidd_docs/memory/vcs.md#types).
- **Fill the PR template** (applied automatically): explain *what* changed and *how* you resolved it technically - that narrative is the point of the PR. The conventional title and pre-commit hooks are already enforced by CI, so don't spend the description re-asserting them.
- **Label the PR** so reviewers and the [Roadmap board](https://github.com/orgs/ai-driven-dev/projects/8) triage at a glance:

| Label | When to use |
| ----- | ----------- |
| `bug` | A fix for broken behaviour. |
| `enhancement` | A new skill, agent, rule, or feature. |
| `documentation` | A docs-only change (README, CONTRIBUTING, skill docs). |
| `security` | A security-sensitive change or fix. |
- **Label the PR** so reviewers and the [Roadmap board](https://github.com/orgs/ai-driven-dev/projects/8) triage at a glance. The triage label follows your branch kind and the PR skill applies it automatically; the label per kind is in that same [routing table](aidd_docs/memory/vcs.md#types) (`security` is cross-cutting β€” add it to any kind).
- The PR title follows the same conventional format (the **Commitlint** CI job enforces it); PRs are squash-merged using that title.
- A **HabilitΓ©** review gates every merge ([`CODEOWNERS`](./.github/CODEOWNERS)); CertifiΓ© contributors cannot self-merge.
- Decision rules (lazy consensus, explicit consensus for cross-plugin/contract changes, the quality veto) live in [`GOVERNANCE.md`](./GOVERNANCE.md#code-decisions-merging).
Expand Down
21 changes: 15 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,10 @@

# AI-Driven Dev Framework

### Vibe Coding for professional developers β€” focused on 100% quality on AI-generated code.

<p><b>πŸ‡«πŸ‡· The first French open-source framework for AI-driven development.</b></p>
### A French framework for AI-Driven Developer to produce high code quality.

<p>
<!--counts:start--><kbd>6 plugins</kbd> Β· <kbd>38 skills</kbd> Β· <kbd>3 agents</kbd><!--counts:end--> Β· <kbd>MIT</kbd>
<!--counts:start--><kbd>7 plugins</kbd> Β· <kbd>40 skills</kbd> Β· <kbd>2 agents</kbd><!--counts:end--> Β· <kbd>MIT</kbd>
</p>

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
Expand Down Expand Up @@ -152,7 +150,7 @@ flowchart TD

## 🧩 Plugins

Six plugins covering the whole SDLC β€” **install all of them**; they're designed to work together.
Seven plugins covering the whole SDLC β€” **install all of them**; they're designed to work together. (`aidd-ui` is 🚧 **alpha β€” not ready for use**, off the curated install path.)

<table>
<tr>
Expand All @@ -178,7 +176,7 @@ SDLC loop: sdlc, plan, implement, assert, audit, review, test, refactor, debug,

### 🌿 [aidd-vcs](plugins/aidd-vcs/README.md)

`4 skills` Β· stable
`5 skills` Β· stable

Commits, pull / merge requests, release tags, issue creation.

Expand Down Expand Up @@ -211,6 +209,17 @@ Meta-cognition: brainstorm, challenge, condense, shadow-areas, fact-check.

Label an issue, get a PR; re-label, get the review applied.

</td>
</tr>
<tr>
<td width="33%" valign="top">

### 🎨 [aidd-ui](plugins/aidd-ui/README.md) 🚧

`1 skill` Β· **alpha β€” not ready**

UI and UX: design, review, and improve frontend interfaces. ⚠️ Alpha (`0.1.0-alpha.0`), smoke-test only β€” do not rely on it yet.

</td>
</tr>
</table>
Expand Down
4 changes: 3 additions & 1 deletion RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,9 @@ For who may merge and release, see [`GOVERNANCE.md`](GOVERNANCE.md).
## Where your change goes

Almost everything flows through `next` and ships in the weekly release. Only an
urgent production fix takes the fast lane straight to `main`.
urgent production fix takes the fast lane straight to `main`. The branch prefix
decides the target; the canonical prefix β†’ target table lives in
[`aidd_docs/memory/vcs.md`](aidd_docs/memory/vcs.md#types).

```mermaid
flowchart LR
Expand Down
36 changes: 27 additions & 9 deletions aidd_docs/memory/vcs.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,33 @@ type/ticket-short-description

### Types

| Prefix | Usage | Branch from | PR target |
| --- | --- | --- | --- |
| `feat/` | New feature | `next` | `next` |
| `fix/` | Bug fix | `next` | `next` |
| `docs/` | Documentation only | `next` | `next` |
| `refactor/` | Code change (no feat/fix) | `next` | `next` |
| `chore/` | Build, config, deps | `next` | `next` |
| `test/` | Add/update tests | `next` | `next` |
| `hotfix/` | Urgent production fix | `main` | `main` |
The single source of truth: find your row, read left to right β€” it tells you the
branch to create, the label that applies, and where the PR goes. The branch
**prefix** alone decides the target (not a label, not a board field); the
`aidd-vcs:02-pull-request` skill reads this table to set the base automatically.

| I want to… | Issue template | Branch | Commit | Label (auto) | PR targets |
| ---------- | -------------- | ------ | ------ | ------------ | ---------- |
| ship a feature | ✨ Feature | `feat/…` | `feat:` | `enhancement` | `next` |
| fix a bug | πŸ› Bug | `fix/…` | `fix:` | `bug` | `next` |
| change docs only | ✨ Feature | `docs/…` | `docs:` | `documentation` | `next` |
| refactor (no behaviour change) | β€” | `refactor/…` | `refactor:` | β€” | `next` |
| build / config / deps | β€” | `chore/…` | `chore:` | `dependencies` | `next` |
| add or update tests | β€” | `test/…` | `test:` | β€” | `next` |
| 🚨 urgent production fix | πŸ› Bug | `hotfix/…` | `fix:` | `bug` | **`main`** |

#### Routing rule (strict)

- Everything batches on `next` and ships in the weekly release.
- **Only `hotfix/*` targets `main`** β€” an urgent production fix, out of cycle.

Once the PR is open, the board advances on its own:
`Todo β†’ In review` (PR opened) `β†’ Ready` (review approved) `β†’ Done` (merged).

Labels are **triage only**: they categorize, they never route. `security` is
cross-cutting β€” add it to any kind when the change is security-sensitive. The
"Commit" column shows the conventional type; the authoritative type list is the
[Commit Convention](#commit-convention) below (mirrors `commitlint.config.cjs`).

### Examples

Expand Down
Loading