Adopt baselane in a repo that already has CLAUDE.md
Most repos worth managing already have a hand-written CLAUDE.md or
AGENTS.md, often both, often months of accumulated conventions.
Baselane is built for exactly this case: it merges into those files inside clearly-marked managed
regions and never touches a line you wrote.
The scenario
Say your repo has a 150-line CLAUDE.md: build commands, "never push to
main", a section about your test fixtures. You want to add a shared workflow pack — say
software-engineer-harness — without losing any of it.
1. Audit first
npx baselane audit .
Audit is read-only. It detects languages, package manager, layout, and test commands, and recommends a pack. Nothing is written.
2. Apply — and see the merge
npx baselane apply . --pack software-engineer-harness --dry-run
npx baselane apply . --pack software-engineer-harness
Run with --dry-run first if you want the file list before anything is
written. On a real apply, your existing CLAUDE.md content stays
byte-for-byte where it was. The pack's rendered content lands inside a managed region,
a fenced block with begin/end markers that names the pack and version that owns it:
<!-- baselane:start software-engineer-harness@1.5.0 — managed region, do not edit inside -->
… rendered pack content …
<!-- baselane:end -->
Everything outside the markers is yours. Re-applying, or bumping the pack version later, replaces
only what's between the markers. The same merge discipline applies to
AGENTS.md, .github/copilot-instructions.md,
and GEMINI.md.
3. Review the diff like any PR
Apply is just file writes in your working tree — git diff shows
exactly what changed. If the pack's conventions contradict something you wrote (say, it recommends
a different test command), your text wins by default because it's outside the region; decide
explicitly whether to delete your version or the pack's guidance stays duplicated.
4. Commit the manifest too
Apply also writes harness.json —
the manifest recording which pack, at which exact version, produced which files (with content
hashes). Commit it alongside the rendered files. From then on,
baselane drift can tell you whether
anyone hand-edited vendored content or a managed region.
If you already have a .claude/ directory
Pre-existing skills, agents, and settings under .claude/ are left
alone. Pack-vendored skills land in their own folders and are recorded in the manifest; anything
the manifest doesn't claim, baselane doesn't own and won't modify or flag.