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.