The documented install is cp -r /path/to/agentic-dev-kit/. ., which copies everything the kit tracks — including files that are the kit's own working state rather than something an adopter should receive.
This is why the kit's own narrative files had to be renamed docs/kit-*.md rather than simply filled in: pointing paths.handoff at docs/handoff.md would have shipped every one of this repo's session blocks into every adopter's repo, and destroyed the devkit-template: unrendered marker the seeding logic depends on. The rename works, but it is a workaround for a missing installer.
The boundary now exists in machine-readable form. kit-manifest.json carries adopter_owned alongside the hashed files map, and kit_doctor.py's ADOPTER_OWNED is the authored list behind it. Nothing consumes it for installing yet.
Proposed
- A
--install <target> mode (or a small install.sh) that copies only manifest files, skipping adopter_owned — replacing the cp -r in the README quickstart and in /adopt Step 3.
- Once that lands,
docs/kit-*.md can go back to the plain names, since the installer would simply not copy them.
/upgrade Step 3/4 can use the same code path instead of hand-copying per role.
Why it's worth doing beyond the rename. cp -r also drags in .git-adjacent junk, kit-manifest.json itself, this repo's .github/workflows/test.yml (which tests the kit, not the adopter), and PRINCIPLES.md/README.md — several of which an adopter then has to notice and delete. /adopt exists partly to work around exactly this.
The documented install is
cp -r /path/to/agentic-dev-kit/. ., which copies everything the kit tracks — including files that are the kit's own working state rather than something an adopter should receive.This is why the kit's own narrative files had to be renamed
docs/kit-*.mdrather than simply filled in: pointingpaths.handoffatdocs/handoff.mdwould have shipped every one of this repo's session blocks into every adopter's repo, and destroyed thedevkit-template: unrenderedmarker the seeding logic depends on. The rename works, but it is a workaround for a missing installer.The boundary now exists in machine-readable form.
kit-manifest.jsoncarriesadopter_ownedalongside the hashedfilesmap, andkit_doctor.py'sADOPTER_OWNEDis the authored list behind it. Nothing consumes it for installing yet.Proposed
--install <target>mode (or a smallinstall.sh) that copies only manifestfiles, skippingadopter_owned— replacing thecp -rin the README quickstart and in/adoptStep 3.docs/kit-*.mdcan go back to the plain names, since the installer would simply not copy them./upgradeStep 3/4 can use the same code path instead of hand-copying per role.Why it's worth doing beyond the rename.
cp -ralso drags in.git-adjacent junk,kit-manifest.jsonitself, this repo's.github/workflows/test.yml(which tests the kit, not the adopter), andPRINCIPLES.md/README.md— several of which an adopter then has to notice and delete./adoptexists partly to work around exactly this.