v2.0.0 ·
Two platforms built well beat six built thinly
AIDLC used to install into six coding agents: Claude Code, Codex, Cursor, Windsurf, Kiro and GitHub Copilot. Every skill, hook and install change had to be shaped six ways. Only two of them ever got the full version.
When I added native skill metadata, only Claude Code and Codex read it. The reviewer agent and the session-start hooks exist for those two as well. The other four got a thinner copy of everything, and they still cost a share of every change. Some held roadmap items existed only because of them, like one about Windsurf spelling skill filenames its own way.
So version 2 supports Claude Code and Codex, and nothing else. We are focusing on the top contenders.
What changes
aidlc init offers two platforms. Ask for one of the others and it stops before writing anything:
Error: 'cursor' is no longer supported as of aidlc 2.
Supported platforms: claude-code, codex
To keep using cursor, stay on aidlc 1.x (npm i -g @rasensio/aidlc@1).
The four adapters are gone, along with their install code for app-owned skills, their capability files and their tests. That is the point of the release. It removes surface that every future change would otherwise have to pass through.
If your project uses one of them
Nothing is deleted. aidlc update prints one line naming every dropped platform in your config, says the files were left alone, and tells you how to stay on 1.x or silence the message. aidlc init and aidlc add skill print the same line and carry on for Claude Code or Codex if you have them too.
I kept the dropped name in .aidlc/config.yaml on purpose. Rewriting it would make update the first command to edit a user's platform choice. The cost is that the line repeats on every update until you remove the entry, and the line says exactly that.
Cleaning up the tests turned up one spot I had missed. The doctor check that spots out-of-date skill files was still reading the old Copilot folder. After an upgrade, every Copilot file would have been reported as out of date on every run. It reads only the shared copies now.
What it does not do yet
Kiro cost tracking is still in the code. Old cost records from Kiro sessions have to stay readable, and removing that reader is its own item. A few website tests also fail, and they fail the same way on the commit before this one: they read a built copy of the site that neither checkout had.
If you are on Cursor, Windsurf, Kiro or Copilot and need updates, 1.x is still on npm.