diff --git a/CHANGELOG.md b/CHANGELOG.md index 00c03b5..c9d91b3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,11 +11,59 @@ For each entry, **Upgrade impact** classifies the change against the [three-buck ## Unreleased -**Upgrading from v1:** this is a major release. The framework's plugin is renamed, `CLAUDE.md` and -`GEMINI.md` go away, the parallel-agents module moves to `ops/agent/`, and every project acts once. -Run `/aplyca-adf:upgrade`, which carries out the migrations below. -Then each developer installs `adf@aplyca` once, and every machine and CI job runs Claude Code v2.1.281 -or later. +## v2.0.0 — 2026-10-09 — The plugin is `adf`, and `AGENTS.md` is the one instruction file + +A major release: every project acts once. The framework's plugin `aplyca-adf` is now `adf`, a project +keeps no `CLAUDE.md` or `GEMINI.md`, and the parallel-agents module moves to `ops/agent/`. + +- **One plugin per concern** (0023): `adf` for the process, `adf-dev` for development (the docker + module's `/dev-env`, and the local environment's URL above the prompt, 0026), and `adf-connect` for + trackers and services (`/connect`). +- **`AGENTS.md` is the one instruction file** (0024, 0025). Claude Code's own layer is the rule + `.claude/rules/claude-code.md`, and Gemini CLI is pointed at `AGENTS.md`. +- **The local environment's conventions** (0032): `compose.yaml` and a `Makefile` at the root, + operational code in `ops/`, and ports Docker picks. +- **The plugins are the machinery's source** (0028). `scripts/build-committed.py` writes a committed + install from them. The parallel-agents scripts are `adf`'s commands (0027), and the `/deep-*` + workflows carry the checklists and steps their agents follow (0029, 0030). +- **A project changes an agent's model in its own rule** (0031). The release also carries fixes from + a prompt audit and from a sweep for paths only a committed install has. + +**Upgrading from v1.x**, in this order: + +1. **Update Claude Code** to v2.1.281 or later on every machine and CI job (`claude update`). With no + `CLAUDE.md`, a project relies on Claude Code reading `AGENTS.md` natively. +2. **Run `/aplyca-adf:upgrade`,** the plugin's v1 name, which the project still has. It moves the pin + to `v2.0.0` and, in one draft pull request: + 1. **renames the plugin:** `aplyca-adf@aplyca` becomes `adf@aplyca` in `enabledPlugins`, and in a + packaged project's read rule; every `/aplyca-adf:` and `@aplyca-adf:` the project names becomes + `/adf:` and `@adf:`; + 2. **moves `CLAUDE.md`:** the stamp goes to `AGENTS.md`'s first line, and the Claude Code layer and + the names note go to `.claude/rules/claude-code.md`. The team's other additions go to `AGENTS.md`, + and then `CLAUDE.md` is deleted; + 3. **deletes `GEMINI.md`,** moving any content the team added first, and adds + `.gemini/settings.json` for a team on Gemini CLI; + 4. **with the parallel-agents module:** a packaged project deletes the worktree scripts it never + edited, which `adf`'s `adf-worktree-*` commands replace. Then either install runs + `git mv scripts/agent ops/agent` and fixes the paths that name the folder; + 5. **in a committed project,** writes the release's machinery with `scripts/build-committed.py`. An + agent whose `model:` the team changed first gets a row in `.claude/rules/claude-code.md` + § Agent model overrides; + 6. **merges the project's layer** as each entry below says: `AGENTS.md`, the rules, `config.sh` + (`LOCAL_URL`, `LOCAL_SERVICE`), `DEV-SETUP.md`, and `README.md`. +3. **After the merge, each developer:** + - runs `/plugin install adf@aplyca` once, then + `claude plugin uninstall aplyca-adf@aplyca --scope project`; + - removes any `CLAUDE.md` above the repository and any `CLAUDE.local.md` in it, or sets + **Project instructions** to `claude-md-and-agents-md` in `/config`. The session-context hook warns + about either file. +4. **Optional:** + - `"adf-dev@aplyca": true` adds the URL band, which needs Claude Code v2.1.287 in a terminal, or the + desktop app from v2.1.286. With the docker module, it also brings `/adf-dev:dev-env`; its + `set up` mode audits the stack against the new conventions. + - `"adf-connect@aplyca": true` adds `/adf-connect:connect`. + +Each entry below lists its own **Upgrade impact**. ### The local environment: `compose.yaml` and a `Makefile` at the root, operational code in `ops/`, ports Docker picks diff --git a/README.md b/README.md index 28eafde..57255d9 100644 --- a/README.md +++ b/README.md @@ -145,12 +145,13 @@ Updates are deliberate: `/adf:upgrade` moves a project from one release to the n pull request and keeps its customizations. Read the **Upgrade impact** of each release in [CHANGELOG.md](CHANGELOG.md) first. From v1.0.0, releases follow semantic versioning ([decision 0017](docs/decisions/0017-semantic-versioning.md)), so a major release asks something of your team. -The latest, **v1.4.0** (2026-10-06), adds the local check: the developer approves a change on the -local environment, and that approval opens its draft pull request. With the `parallel-agents` module, -a dispatched session now creates its own worktree beside the main checkout. **v1.3.0** took every +The latest, **v2.0.0** (2026-10-09), is a major release. The plugin is renamed `adf`, with +`adf-dev` and `adf-connect` beside it. A project keeps no `CLAUDE.md` or `GEMINI.md`, and the +`parallel-agents` module moves to `ops/agent/`. Its changelog section opens with the order to upgrade +in, and `/aplyca-adf:upgrade` carries it out. **v1.4.0** added the local check, **v1.3.0** took every task in the main checkout through `/dispatch`, **v1.2.1** fixed drift in the instruction files, and **v1.2.0** moved the framework's reference docs out of packaged projects and into the plugin. -**v1.0.0** (2026-10-02) renamed the plugin `adf` and opens with the order to upgrade in. A +**v1.0.0** (2026-10-02) renamed the plugin `aplyca-adf` and opens with the order to upgrade in. A baseline older than `7383422` takes that release's order first, and one older than `3eb7777` takes its three fixes before that — they affect every adopted repository. @@ -158,7 +159,8 @@ three fixes before that — they affect every adopted repository. the [install prompt](#with-claude-code--the-installer-plugin-recommended) into a session on the project; it installs `adf`. Then start a new session. A project already pinned to a release needs nothing here: the pinned plugin runs the upgrade. -2. **Run `/adf:upgrade`** in the adopted project. It reads the baseline stamp +2. **Run `/adf:upgrade`** in the adopted project (`/aplyca-adf:upgrade` in a project still on v1). + It reads the baseline stamp (``) and diffs the framework from that release to the newest. It sorts every changed file into overwrite, merge, or additive, applies the CHANGELOG migration steps, and offers the optional modules the project doesn't have yet — the diff --git a/plugins/adf-connect/.claude-plugin/plugin.json b/plugins/adf-connect/.claude-plugin/plugin.json index aa7fb56..02c4601 100644 --- a/plugins/adf-connect/.claude-plugin/plugin.json +++ b/plugins/adf-connect/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "adf-connect", "description": "The Agentic Development Framework's connections plugin: /adf-connect:connect connects a project to its tracker or a stack service — Supabase, Vercel, Contentful, GitLab, Linear, Jira — through the service's official MCP server, writing the project's own configuration with safe defaults (read-only, never production, no credentials committed) and pre-approving only the tools that read.", - "version": "1.4.0", + "version": "2.0.0", "author": { "name": "Aplyca", "email": "dev@aplyca.com" diff --git a/plugins/adf-dev/.claude-plugin/plugin.json b/plugins/adf-dev/.claude-plugin/plugin.json index 7759ff3..5a0808e 100644 --- a/plugins/adf-dev/.claude-plugin/plugin.json +++ b/plugins/adf-dev/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "adf-dev", "description": "The Agentic Development Framework's development plugin: skills, agents, and a mod for building, running, and checking the code. Its mod shows the local environment's URL above the prompt, and whether it answers. /adf-dev:dev-env sets up, diagnoses, and safely resets a Docker Compose local environment (the docker module); like every module skill, it acts only in a packaged project that installed its module.", - "version": "1.4.0", + "version": "2.0.0", "author": { "name": "Aplyca", "email": "dev@aplyca.com" diff --git a/plugins/adf/.claude-plugin/plugin.json b/plugins/adf/.claude-plugin/plugin.json index 3aa5e17..73ee5f9 100644 --- a/plugins/adf/.claude-plugin/plugin.json +++ b/plugins/adf/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "adf", "description": "The Agentic Development Framework for Claude Code. /adopt bootstraps a repository — skeleton, optional modules, guardrail hooks, verified facts — committed or packaged; /upgrade moves an adopted repository to a newer release; /cost-report shows what agent sessions cost, from local transcripts. In a packaged project it also carries the framework's skills, agents, workflows, hooks, and reference docs, pinned to a release; in a committed project those step aside for the committed copies.", - "version": "1.4.0", + "version": "2.0.0", "author": { "name": "Aplyca", "email": "dev@aplyca.com" diff --git a/plugins/adf/README.md b/plugins/adf/README.md index 0fd909a..a214daa 100644 --- a/plugins/adf/README.md +++ b/plugins/adf/README.md @@ -163,7 +163,7 @@ the plugin by a relative path. A machine where nobody trusts the folder — CI { "extraKnownMarketplaces": { "aplyca": { - "source": { "source": "github", "repo": "aplyca/AgenticDevelopmentFramework", "ref": "v1.4.0" } + "source": { "source": "github", "repo": "aplyca/AgenticDevelopmentFramework", "ref": "v2.0.0" } } }, "enabledPlugins": { "adf@aplyca": true }