Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
58 changes: 53 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
12 changes: 7 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -145,20 +145,22 @@ 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.

1. **Get the plugin into the project.** Adopted before v1.0.0 — a stamp with no `v` version? Paste
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
(`<!-- Skeleton source: <version> · <SHA> (<date>) · modules: … -->`) 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
Expand Down
2 changes: 1 addition & 1 deletion plugins/adf-connect/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -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"
Expand Down
2 changes: 1 addition & 1 deletion plugins/adf-dev/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -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"
Expand Down
2 changes: 1 addition & 1 deletion plugins/adf/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -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"
Expand Down
2 changes: 1 addition & 1 deletion plugins/adf/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 }
Expand Down
Loading