{"_id":"@0-nazmi/bauplan","_rev":"7-3a112e61527051423f09b73d9db658ba","name":"@0-nazmi/bauplan","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"@0-nazmi/bauplan","version":"1.0.0","keywords":["ai","agent","claude","copilot","codex","opencode","build-kit","methodology","autonomous","vibe-coding"],"license":"MIT","_id":"@0-nazmi/bauplan@1.0.0","maintainers":[{"name":"0-nazmi","email":"nazmiahmad9@gmail.com"}],"homepage":"https://github.com/LIVELUCKY/bauplan","bugs":{"url":"https://github.com/LIVELUCKY/bauplan/issues"},"bin":{"bauplan":"bin/bauplan"},"dist":{"shasum":"09c1e6510409789fbc87fb8b021dba1440ac2426","tarball":"https://registry.npmjs.org/@0-nazmi/bauplan/-/bauplan-1.0.0.tgz","fileCount":37,"integrity":"sha512-+XIkAxffT7bPbHQddzOFS5kfe8KXIAa8UD8Mo4tahCKQH0fTatkTW9s+gIgPPbIY+xFGlaT9jL6xgfyqrI7mwg==","signatures":[{"sig":"MEUCIQCSJBu76GACZoL//1aBhtAnMamfwyHRrfpxnYr6L7LRcgIgVk+BNFAToR9uwYoezkWMH5vyrzEjDgWJ5GjBQ/2Zpuk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":183565},"engines":{"node":">=18"},"gitHead":"c94ebb779b446e0dea769f4fa4ab9c8a15e6cf02","scripts":{"test":"bash -n bin/bauplan && bash -n install.sh && bash -n scripts/setup-bauplan.sh && bash -n scripts/generate-kit.sh && python3 -m py_compile templates/scripts/stream-fmt.py && python3 -c \"import json; json.load(open('templates/claude-config/settings.json'))\" && echo 'all checks passed'"},"_npmUser":{"name":"0-nazmi","email":"nazmiahmad9@gmail.com"},"repository":{"url":"git+https://github.com/LIVELUCKY/bauplan.git","type":"git"},"_npmVersion":"11.12.1","description":"Turn a software idea into a complete, agent-executable build kit for Claude Code, GitHub Copilot, Codex, OpenCode and any AI coding agent.","directories":{},"_nodeVersion":"26.0.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/bauplan_1.0.0_1781707560515_0.06450793273351851","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@0-nazmi/bauplan","version":"1.0.1","keywords":["ai","agent","claude","copilot","codex","opencode","build-kit","methodology","autonomous","vibe-coding"],"license":"MIT","_id":"@0-nazmi/bauplan@1.0.1","maintainers":[{"name":"0-nazmi","email":"nazmiahmad9@gmail.com"}],"homepage":"https://github.com/LIVELUCKY/bauplan","bugs":{"url":"https://github.com/LIVELUCKY/bauplan/issues"},"bin":{"bauplan":"dist/index.js"},"dist":{"shasum":"f53fd5033f8fcdee2cb541ee9031f0b88edc850f","tarball":"https://registry.npmjs.org/@0-nazmi/bauplan/-/bauplan-1.0.1.tgz","fileCount":39,"integrity":"sha512-lq16ggFbaPrN1YUff9ot9DXOoBux3cZasrIj5reww6Ea5gUyHhh0Bb7Dl8g1NGBKlbqZP3KSkEA5igPjdGUPKQ==","signatures":[{"sig":"MEUCIQCl7oLDun5DdJ7yxn/K/irOnk4YYiIUWUwGESo7faaduwIgEG3c6xxcMFmxP9nd1aWfivPIdb9ym4AhRnPUMQ8023Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":181857},"engines":{"node":">=18"},"gitHead":"6dad531f831548f172bce410f64b5b417168b804","scripts":{"test":"npm run build && node --check dist/index.js && bash -n install.sh && bash -n scripts/setup-bauplan.sh && bash -n scripts/generate-kit.sh && python3 -m py_compile templates/scripts/stream-fmt.py && python3 -c \"import json; json.load(open('templates/claude-config/settings.json'))\" && echo 'all checks passed'","build":"tsc && node -e \"const f='dist/index.js',fs=require('fs'),c=fs.readFileSync(f,'utf8');if(!c.startsWith('#!'))fs.writeFileSync(f,'#!/usr/bin/env node\\n'+c);fs.chmodSync(f,0o755);\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"0-nazmi","email":"nazmiahmad9@gmail.com"},"repository":{"url":"git+https://github.com/LIVELUCKY/bauplan.git","type":"git"},"_npmVersion":"11.12.1","description":"Turn a software idea into a complete, agent-executable build kit for Claude Code, GitHub Copilot, Codex, OpenCode and any AI coding agent.","directories":{},"_nodeVersion":"26.0.0","dependencies":{"chalk":"^4.1.2","commander":"^15.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.9.3"},"_npmOperationalInternal":{"tmp":"tmp/bauplan_1.0.1_1781709407326_0.6650119848047102","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@0-nazmi/bauplan","version":"1.0.2","keywords":["ai","agent","claude","copilot","codex","opencode","build-kit","methodology","autonomous","vibe-coding"],"license":"MIT","_id":"@0-nazmi/bauplan@1.0.2","maintainers":[{"name":"0-nazmi","email":"nazmiahmad9@gmail.com"}],"homepage":"https://github.com/LIVELUCKY/bauplan","bugs":{"url":"https://github.com/LIVELUCKY/bauplan/issues"},"bin":{"bauplan":"dist/index.js"},"dist":{"shasum":"469891e6ed3ea5e0cdf3fe5527033608636497f0","tarball":"https://registry.npmjs.org/@0-nazmi/bauplan/-/bauplan-1.0.2.tgz","fileCount":38,"integrity":"sha512-w1hWQtj9axcLpU4WwY2IH7YCDfAQbU3+RyPeL9qUJGiJl44ynpcQUFAdtYy7QGf548cX6U1DghmxoseYJXJtwg==","signatures":[{"sig":"MEQCIBSqLyF9Gq/QSoXOea0HfiLnjRp3keBh66HBPk9z0ZTyAiAeiv5iQwOecgOksggzNoq5qKu9DxU1y0dLtVsf4+1U7w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":174874},"engines":{"node":">=18"},"gitHead":"6dad531f831548f172bce410f64b5b417168b804","scripts":{"test":"npm run build && node --check dist/index.js && bash -n install.sh && bash -n scripts/setup-bauplan.sh && bash -n scripts/generate-kit.sh && python3 -m py_compile templates/scripts/stream-fmt.py && python3 -c \"import json; json.load(open('templates/claude-config/settings.json'))\" && echo 'all checks passed'","build":"tsc && node -e \"const f='dist/index.js',fs=require('fs'),c=fs.readFileSync(f,'utf8');if(!c.startsWith('#!'))fs.writeFileSync(f,'#!/usr/bin/env node\\n'+c);fs.chmodSync(f,0o755);\"","prepack":"find . -name '__pycache__' -type d -prune -exec rm -rf {} + 2>/dev/null || true","prepublishOnly":"npm run build"},"_npmUser":{"name":"0-nazmi","email":"nazmiahmad9@gmail.com"},"repository":{"url":"git+https://github.com/LIVELUCKY/bauplan.git","type":"git"},"_npmVersion":"11.12.1","description":"Turn a software idea into a complete, agent-executable build kit for Claude Code, GitHub Copilot, Codex, OpenCode and any AI coding agent.","directories":{},"_nodeVersion":"26.0.0","dependencies":{"chalk":"^4.1.2","commander":"^15.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.9.3"},"_npmOperationalInternal":{"tmp":"tmp/bauplan_1.0.2_1781709550941_0.36481128192381274","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@0-nazmi/bauplan","version":"1.0.4","keywords":["ai","agent","claude","copilot","codex","opencode","build-kit","methodology","autonomous","vibe-coding"],"license":"MIT","_id":"@0-nazmi/bauplan@1.0.4","maintainers":[{"name":"0-nazmi","email":"nazmiahmad9@gmail.com"}],"homepage":"https://github.com/LIVELUCKY/bauplan","bugs":{"url":"https://github.com/LIVELUCKY/bauplan/issues"},"bin":{"bauplan":"dist/index.js"},"dist":{"shasum":"c43220d04157656fc0ab442cfe3cb697a43f3777","tarball":"https://registry.npmjs.org/@0-nazmi/bauplan/-/bauplan-1.0.4.tgz","fileCount":40,"integrity":"sha512-pUk1yrmqzradAXtNzUYNsHgyq3tQTty8McMb7BZlZ9maick8I+Zntl2jc+GDqsK/CJkjHbJlmSuA59ew7K522A==","signatures":[{"sig":"MEUCIQC4UVP2dyQOz70ttB09cdr7K10lAq8vKrVNadINoyPhVQIgW4DR6nCzVx3RxsS9WwuInmRDq/sM27mnvbJjyILiKLI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":180879},"engines":{"node":">=18"},"gitHead":"eb094a07c032fad0be7bf569e2bbd14a97e083d4","scripts":{"test":"npm run build && node --check dist/index.js && bash -n install.sh && bash -n scripts/setup-bauplan.sh && bash -n scripts/generate-kit.sh && python3 -m py_compile templates/scripts/stream-fmt.py && python3 -c \"import json; json.load(open('templates/claude-config/settings.json'))\" && echo 'all checks passed'","build":"tsc && node -e \"const f='dist/index.js',fs=require('fs'),c=fs.readFileSync(f,'utf8');if(!c.startsWith('#!'))fs.writeFileSync(f,'#!/usr/bin/env node\\n'+c);fs.chmodSync(f,0o755);\"","prepack":"find . -name '__pycache__' -type d -prune -exec rm -rf {} + 2>/dev/null || true","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5c9c9273-668e-46f9-8927-12b04d00fb5f"}},"repository":{"url":"git+https://github.com/LIVELUCKY/bauplan.git","type":"git"},"_npmVersion":"11.17.0","description":"Turn a software idea into a complete, agent-executable build kit for Claude Code, GitHub Copilot, Codex, OpenCode and any AI coding agent.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"chalk":"^4.1.2","commander":"^15.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.9.3"},"_npmOperationalInternal":{"tmp":"tmp/bauplan_1.0.4_1781871978590_0.0962149239844523","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@0-nazmi/bauplan","version":"1.0.5","keywords":["ai","agent","claude","copilot","codex","opencode","build-kit","methodology","autonomous","vibe-coding"],"license":"MIT","_id":"@0-nazmi/bauplan@1.0.5","maintainers":[{"name":"0-nazmi","email":"nazmiahmad9@gmail.com"}],"homepage":"https://github.com/LIVELUCKY/bauplan","bugs":{"url":"https://github.com/LIVELUCKY/bauplan/issues"},"bin":{"bauplan":"dist/index.js"},"dist":{"shasum":"d71a4e18fea52937de1df68095539494c6b0e9da","tarball":"https://registry.npmjs.org/@0-nazmi/bauplan/-/bauplan-1.0.5.tgz","fileCount":40,"integrity":"sha512-T1WEtruMvo7xiarXEVoyItJkCm6F3FTeWci/Ib/zywIC4jOKfk1aepwGydkANzQiU1lDLpBKPIpAe3uPZUx04w==","signatures":[{"sig":"MEUCIBaeQFBCS/Jx+z9mTKTT5YU9U9nB8MD1XSgWHyV+qofPAiEArHfa2ZO8JnK6hju3kO+EeVGlY9apNNngZ8G0UKyUgLc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":182524},"engines":{"node":">=18"},"gitHead":"db3c16e9106dc13268cbbafd6b0b09753f60e871","scripts":{"test":"npm run build && node --check dist/index.js && bash -n install.sh && bash -n scripts/setup-bauplan.sh && bash -n scripts/generate-kit.sh && python3 -m py_compile templates/scripts/stream-fmt.py && python3 -c \"import json; json.load(open('templates/claude-config/settings.json'))\" && echo 'all checks passed'","build":"tsc && node -e \"const f='dist/index.js',fs=require('fs'),c=fs.readFileSync(f,'utf8');if(!c.startsWith('#!'))fs.writeFileSync(f,'#!/usr/bin/env node\\n'+c);fs.chmodSync(f,0o755);\"","prepack":"find . -name '__pycache__' -type d -prune -exec rm -rf {} + 2>/dev/null || true","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5c9c9273-668e-46f9-8927-12b04d00fb5f"}},"repository":{"url":"git+https://github.com/LIVELUCKY/bauplan.git","type":"git"},"_npmVersion":"11.17.0","description":"Turn a software idea into a complete, agent-executable build kit for Claude Code, GitHub Copilot, Codex, OpenCode and any AI coding agent.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"chalk":"^4.1.2","commander":"^15.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.9.3"},"_npmOperationalInternal":{"tmp":"tmp/bauplan_1.0.5_1781872331945_0.17556622353150364","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@0-nazmi/bauplan","version":"1.0.6","keywords":["ai","agent","claude","copilot","codex","opencode","build-kit","methodology","autonomous","vibe-coding"],"license":"MIT","_id":"@0-nazmi/bauplan@1.0.6","maintainers":[{"name":"0-nazmi","email":"nazmiahmad9@gmail.com"}],"homepage":"https://github.com/LIVELUCKY/bauplan","bugs":{"url":"https://github.com/LIVELUCKY/bauplan/issues"},"bin":{"bauplan":"dist/index.js"},"dist":{"shasum":"702558956a36e0daa164f3cc5201dae0a2c45da6","tarball":"https://registry.npmjs.org/@0-nazmi/bauplan/-/bauplan-1.0.6.tgz","fileCount":40,"integrity":"sha512-WI6IThWr9LONhiy40M961mtEka1/dUiU1CSyjWoJoW0pAXJ8hylU8MsbqCEUJS2tRZWm6x6g/Tw8AkZKNwGvHA==","signatures":[{"sig":"MEUCICNAXzZ4L9v08/5jd87ywnvXxJOqmiPWgjb1g9SL6VdXAiEAy6I0YyZRbavQYRjzZOgCktYeNX8/coV8Tm3KbLuopYg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":189658},"engines":{"node":">=18"},"gitHead":"cc7279f5230c0cfa2ece4d4d5e57385793b43e63","scripts":{"test":"npm run build && node --check dist/index.js && bash -n install.sh && bash -n scripts/setup-bauplan.sh && bash -n scripts/generate-kit.sh && python3 -m py_compile templates/scripts/stream-fmt.py && python3 -c \"import json; json.load(open('templates/claude-config/settings.json'))\" && echo 'all checks passed'","build":"tsc && node -e \"const f='dist/index.js',fs=require('fs'),c=fs.readFileSync(f,'utf8');if(!c.startsWith('#!'))fs.writeFileSync(f,'#!/usr/bin/env node\\n'+c);fs.chmodSync(f,0o755);\"","prepack":"find . -name '__pycache__' -type d -prune -exec rm -rf {} + 2>/dev/null || true","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5c9c9273-668e-46f9-8927-12b04d00fb5f"}},"repository":{"url":"git+https://github.com/LIVELUCKY/bauplan.git","type":"git"},"_npmVersion":"11.17.0","description":"Turn a software idea into a complete, agent-executable build kit for Claude Code, GitHub Copilot, Codex, OpenCode and any AI coding agent.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"chalk":"^4.1.2","js-yaml":"^4.2.0","commander":"^15.0.0","deepmerge":"^4.3.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.9.3","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/bauplan_1.0.6_1781874958611_0.5642473075467513","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@0-nazmi/bauplan","version":"1.1.0","description":"Turn a software idea into a complete, agent-executable build kit for Claude Code, GitHub Copilot, Codex, OpenCode and any AI coding agent.","keywords":["ai","agent","claude","copilot","codex","opencode","build-kit","methodology","autonomous","vibe-coding"],"homepage":"https://github.com/LIVELUCKY/bauplan","bugs":{"url":"https://github.com/LIVELUCKY/bauplan/issues"},"repository":{"type":"git","url":"git+https://github.com/LIVELUCKY/bauplan.git"},"license":"MIT","bin":{"bauplan":"dist/index.js"},"engines":{"node":">=18"},"scripts":{"build":"tsc && node -e \"const f='dist/index.js',fs=require('fs'),c=fs.readFileSync(f,'utf8');if(!c.startsWith('#!'))fs.writeFileSync(f,'#!/usr/bin/env node\\n'+c);fs.chmodSync(f,0o755);\"","test":"npm run build && node --check dist/index.js && bash -n install.sh && bash -n scripts/setup-bauplan.sh && python3 -m py_compile templates/scripts/stream-fmt.py && python3 -c \"import json; json.load(open('templates/claude-config/settings.json'))\" && echo 'all checks passed'","prepack":"find . -name '__pycache__' -type d -prune -exec rm -rf {} + 2>/dev/null || true","prepublishOnly":"npm run build"},"dependencies":{"chalk":"^4.1.2","commander":"^15.0.0","deepmerge":"^4.3.1","js-yaml":"^4.2.0"},"devDependencies":{"@types/js-yaml":"^4.0.9","@types/node":"^25.9.3","typescript":"^6.0.3"},"gitHead":"6c6810d5c05827c36bdf68fa10442e807e691a3a","_id":"@0-nazmi/bauplan@1.1.0","_nodeVersion":"20.20.2","_npmVersion":"11.17.0","dist":{"integrity":"sha512-F9DwzDs5bp0H545onMuC08mAIHJCcxjrl8TCd2GSowmoHdxje1Z1wkpUDOS9oFb5k43HkYyNI3tZTJljW2R2lg==","shasum":"df05c68a993f84cb4d7268712ce4bf58ecb6361b","tarball":"https://registry.npmjs.org/@0-nazmi/bauplan/-/bauplan-1.1.0.tgz","fileCount":40,"unpackedSize":187407,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCNzxH8ygYSvWFJIoLRtIj1LyX65jvyiD9Cpt2yBh51dAIgOj+fXQNzqeCMqIPdOnoMfqvpK5Ovyq8Cw2hYmyKqkGc="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5c9c9273-668e-46f9-8927-12b04d00fb5f"}},"directories":{},"maintainers":[{"name":"0-nazmi","email":"nazmiahmad9@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/bauplan_1.1.0_1781877669524_0.7623131444170044"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-17T14:46:00.203Z","modified":"2026-06-19T14:01:09.804Z","1.0.0":"2026-06-17T14:46:00.655Z","1.0.1":"2026-06-17T15:16:47.443Z","1.0.2":"2026-06-17T15:19:11.104Z","1.0.4":"2026-06-19T12:26:18.725Z","1.0.5":"2026-06-19T12:32:12.086Z","1.0.6":"2026-06-19T13:15:58.771Z","1.1.0":"2026-06-19T14:01:09.675Z"},"bugs":{"url":"https://github.com/LIVELUCKY/bauplan/issues"},"license":"MIT","homepage":"https://github.com/LIVELUCKY/bauplan","keywords":["ai","agent","claude","copilot","codex","opencode","build-kit","methodology","autonomous","vibe-coding"],"repository":{"type":"git","url":"git+https://github.com/LIVELUCKY/bauplan.git"},"description":"Turn a software idea into a complete, agent-executable build kit for Claude Code, GitHub Copilot, Codex, OpenCode and any AI coding agent.","maintainers":[{"name":"0-nazmi","email":"nazmiahmad9@gmail.com"}],"readme":"# Bauplan\n\n> Turn a software idea into a complete, autonomous build kit. Any AI coding agent\n> picks it up and builds the product story-by-story — with no guidance from you.\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n[![CI](https://github.com/LIVELUCKY/bauplan/actions/workflows/ci.yml/badge.svg)](.github/workflows/ci.yml)\n[![Works with](https://img.shields.io/badge/works%20with-Claude%20Code%20%7C%20Copilot%20%7C%20Codex%20%7C%20OpenCode-2EA44F.svg)](#quick-start)\n\n---\n\n## What it is\n\nBauplan is an open-source methodology and a small toolkit. You bring an idea. Bauplan produces a **complete kit** — live-verified research, a single source-of-truth (`CANON.md`), 10–14 spec docs, a numbered story backlog, parallel work lanes, and a native agent config for your chosen coding tool. An AI agent opens the kit and builds the product. You come back when it's done.\n\n```\nidea → research → CANON → docs → backlog → lanes → agent config → kit → agent builds it\n```\n\nThe kit runs itself. Bauplan is what you run **once**. The kit it produces runs **forever** — or until the product exists.\n\n---\n\n## What makes it different\n\nMost planning approaches tell an agent *what to do*. Bauplan engineers the conditions that make autonomous multi-session builds **succeed by default**:\n\n**1. Research-verified dependencies**\nEvery library, framework, and service is checked live before being pinned: last release date, release cadence, governance (foundation-backed or solo-maintainer?), active CVEs, license changes, maintenance-mode flags. Abandoned projects are caught before they're baked into a CANON no one wants to update. Training-data versions are never trusted.\n\n**2. A single source of truth that wins every conflict**\n`CANON.md` holds every version pin, route, data model, and quality gate. All other docs are required to agree with it. The rule — *if a doc conflicts with CANON, CANON wins* — is enforced in code (hooks, CI, agent instructions) not just convention. An agent working on any story can answer \"what version of X?\" without reading ten files.\n\n**3. Independent verification**\nThe agent that implements a story never verifies it. A fresh-context verifier re-runs the story's literal `Verify` block with no memory of how the code was written — and therefore no incentive to rationalize failures. This single pattern catches more bugs in unattended runs than any linting rule.\n\n**4. Context-free resumability**\nA session hook injects the current board state (progress, next story, barrier, last lesson) at session start and after every compaction — in under a second, from a shell script. Any model, any tool, zero memory: every session knows exactly where the build stands. Stopping is always safe; restarting is always free. Claims survive crashes by design (a commit-to-main = claim, not a lock file).\n\n**5. File-ownership lanes**\nEach parallel worker owns a set of paths. There is no coordination protocol — workers just don't touch each other's files. Collisions become impossible rather than managed. A cross-lane touch requires explicit Integrator review. This scales from one agent to five without any changes to the workflow.\n\n**6. The walking skeleton gate**\nMilestone 1 is always the thinnest possible end-to-end slice — one real user action produces one real visible result. Nothing else merges until this gate is green. It forces proof of architecture before features and surfaces integration failures before they've compounded into a six-week rewrite.\n\n**7. Mandatory gap audit**\nAfter the kit is generated, Bauplan turns fresh eyes on it: week-one failures (auth flows with no mailer, no container registry, no asset upload path, no content moderation), classic engineering gaps (no GC cron, no rate limits, no backup verification), legal and regulatory items. Gaps become an addendum; each is merged, deferred, or rejected by the owner — nothing lands silently.\n\n**8. Token discipline is architectural, not advisory**\nThe subagent pipeline (doc-scout, story-implementer, verifier, integrator) keeps the orchestrator's context small by design. Heavy reads go to doc-scout which returns a distilled extract. Code goes to story-implementer which returns a brief report. Verification goes to the fresh-context verifier. The main thread coordinates; it does not accumulate. This is not a tip — it is the structure.\n\n---\n\n## Installation\n\nInstall once. Use everywhere.\n\n```bash\n# Recommended: one-line install (macOS / Linux)\ncurl -fsSL https://raw.githubusercontent.com/LIVELUCKY/bauplan/main/install.sh | bash\n\n# Or via npm (works on all platforms including Windows with WSL)\nnpm install -g @0-nazmi/bauplan\n\n# Or clone and install manually\ngit clone https://github.com/LIVELUCKY/bauplan.git ~/.bauplan\nbash ~/.bauplan/scripts/setup-bauplan.sh\n```\n\n`bauplan install`:\n- Copies the methodology to `~/.bauplan/` (the CLI's data dir — always)\n- **Asks** before installing subagents + commands into `~/.claude/` (global, every Claude Code project). Decline it and use `bauplan init` per project instead. Flags: `--yes` (accept, non-interactive) · `--skip-global` (core only).\n- Drops `bauplan` in `/usr/local/bin` or `~/bin`\n\nPrefer per-project? Skip the global install and run `bauplan init` — it asks which agents to set up and writes their config into the current project. OpenCode, Codex and Copilot need no global config at all; every kit ships their config in-tree (`AGENTS.md`, `.opencode.json`, `.github/copilot-instructions.md`).\n\nRe-running `init` **merges** into existing configs (never overwrites): markdown via `BAUPLAN` markers, JSON/YAML via deep-merge — so your own keys and edits survive.\n\n```\nbauplan doctor        # verify everything is wired up\n```\n\n---\n\n## Quick start\n\n### Generate a kit for any project\n\nThe CLI scaffolds config; **your chosen agent generates the kit.** Tell it to run the `/new-project` flow:\n\n```\nClaude Code     claude  →  /new-project \"A self-hosted form analytics tool — no SaaS\"\nGitHub Copilot  Copilot Chat: \"Generate a Bauplan kit for: <idea>\"\nCodex/OpenCode  codex|opencode \"Follow AGENTS.md. Generate a Bauplan kit for: <idea>\"\n```\n\nThe agent asks ≤3 questions, dispatches research scouts in parallel, writes CANON, generates the full doc suite, runs the gap audit, and hands you a ready kit — typically in 20–40 minutes.\n\nFrom inside Claude Code (agents installed globally after `bauplan install`):\n```\n/new-project \"A self-hosted form analytics tool\"\n```\n\n### Build the product\n\n```bash\ncd generated-kits/form-analytics\nbash scripts/setup-claude.sh     # one-time per kit\nclaude                           # then: /next-story\n```\n\nEach story: `/next-story` → `/clear` → `/next-story`\n\nThe `SessionStart` hook re-injects board state after every `/clear` automatically — zero re-orientation cost.\n\n---\n\n## Using with each tool\n\n### Claude Code (native — full feature set)\n\nAfter `bauplan install`, the methodology is available in **every project** — no per-project setup:\n\n```\n/new-project \"idea\"          generate a kit\n/review-kit [path]           gap audit on a kit\n/bauplan-next-story          implement the next story (in a generated kit)\n/bauplan-status              board report\n/bauplan-barrier             run the next integration gate\n```\n\nThe four subagents (`bauplan-doc-scout`, `bauplan-story-implementer`, `bauplan-verifier`, `bauplan-integrator`) are wired globally and available in all your projects automatically.\n\nTo add Bauplan to an **existing project** without generating a full kit:\n```bash\ncd my-existing-project\nbauplan init\n```\n\n### GitHub Copilot\n\nEvery generated kit ships with `.github/copilot-instructions.md` — Copilot Chat in VS Code auto-loads it, so the methodology is pre-loaded for every session in the kit.\n\nTo generate a kit via Copilot Chat:\n```\n\"Generate a Bauplan kit for: <idea>. Follow METHODOLOGY.md.\"\n```\n\nFor Copilot Workspace: create one GitHub Issue per story (template in `prompts/copilot.md`). See `prompts/copilot.md` for the complete guide including Copilot CLI usage.\n\n### OpenAI Codex\n\n`AGENTS.md` at the repo root is auto-loaded by Codex. After `bauplan install`, `~/.bauplan/AGENTS.md` is always available as a reference:\n\n```bash\ncodex \"Follow ~/.bauplan/AGENTS.md. Generate a Bauplan kit for: <idea>\"\n```\n\nFor a generated kit: `codex \"Read LOOP.md and STATUS.md. Implement the next ready story. Stop after Verify passes.\"` — see `prompts/codex.md`.\n\n### OpenCode\n\nOpenCode auto-loads the `AGENTS.md` + `.opencode.json` shipped in every kit (and added to any project by `bauplan init`) — no global setup needed:\n\n```bash\nopencode \"Generate a Bauplan kit for: <idea>\"\n```\n\nFor a generated kit: one story per session, `--no-auto-approve` for complex stories. See `prompts/opencode.md`.\n\n### Any other agent / API\n\n`prompts/system-prompt.md` is the complete methodology in one file. Paste it as the system prompt in any tool:\n\n```bash\ncat ~/.bauplan/prompts/system-prompt.md | pbcopy    # macOS\ncat ~/.bauplan/prompts/system-prompt.md | xclip     # Linux\n```\n\nThen ask that agent to generate a kit. Generation is always the agent's job — the CLI only scaffolds config (`bauplan init`) and installs the methodology.\n\n---\n\n## What a generated kit contains\n\n| File | Purpose |\n|---|---|\n| `START-HERE.md` | Entry point for anyone new to the kit |\n| `CANON.md` | Single source of truth — version pins, data model, routes, gates |\n| `LOOP.md` | The per-session build algorithm (orient → pick → claim → execute → verify → log → loop) |\n| `STATUS.md` | Live board — story claims, barriers, build log |\n| `docs/00-INDEX.md` | Doc map with reading orders |\n| `docs/01..0N-*.md` | Architecture, data model, API, frontend, infra, security, runbooks… |\n| `docs/NN-EPICS-AND-STORIES.md` | The backlog — 50-90 stories, each with Goal / Context docs / Touches / Acceptance / Verify |\n| `docs/NN-PARALLEL-WORKSTREAMS.md` | Lanes, barriers, dispatch table, claim protocol |\n| `docs/NN-FILE-SCAFFOLD.md` | Every target file annotated with its creating story |\n| `docs/NN-CONVENTIONS.md` | DoD, commit format, testing bar (also root `AGENTS.md`) |\n| `CLAUDE.md` | Claude Code orchestrator discipline |\n| `.claude/agents/` | doc-scout · story-implementer · verifier · integrator |\n| `.claude/commands/` | /next-story · /status · /barrier · /lane |\n| `.claude/hooks/` | session-brief (board injection) · guard (hard blocks) |\n| `claude-config/` | Staged copy (some unzip tools skip dotdirs) |\n| `scripts/setup-claude.sh` | Activates the Claude Code config, git-inits, checks toolchain |\n| `scripts/stream-fmt.py` | Pretty-prints live agent activity (prompts in, tool calls, verdicts, cost) |\n| `docs/99-gap-audit.md` | Post-generation gap audit with merge decisions |\n\n---\n\n## How it works\n\n```mermaid\nflowchart LR\n    A[Idea] --> B[Clarify ≤3 questions]\n    B --> C[Parallel research scouts]\n    C --> D[CANON — you write it alone]\n    D --> E[Parallel doc writers]\n    E --> F[Gap audit + owner approval]\n    F --> G[Execution machinery]\n    G --> H[Kit zip]\n    H --> I[Agent builds the product]\n\n    style D fill:#fef3c7,stroke:#d97706\n    style F fill:#fee2e2,stroke:#dc2626\n```\n\n**Phase 1 — Clarify.** At most three questions. Anything skipped becomes a documented assumption in CANON.\n\n**Phase 2 — Research.** Parallel scouts verify live: exact version + release date, governance, CVEs, maintenance flags. Rejected alternatives are documented. Nothing is assumed from training data.\n\n**Phase 3 — CANON.** The orchestrator writes this directly — never delegates it. Consistency requires a single author.\n\n**Phase 4 — Docs.** Parallel writers, each reading only CANON and their named context sections. Writers are instructed never to invent versions; if something contradicts CANON, CANON wins.\n\n**Phase 5 — Gap audit.** Four passes: week-one failures, engineering gaps, legal/regulatory, deliberate exclusions. Each finding gets an explicit merge/defer/reject decision from the owner.\n\n**Phase 6 — Execution kit.** LOOP.md, STATUS.md (seeded from backlog story count), parallel workstream spec, file scaffold, Claude Code agent config (subagents, hooks, commands), and a START-HERE.md.\n\n---\n\n## Tool compatibility\n\n| Capability | Claude Code | GitHub Copilot | OpenAI Codex | OpenCode |\n|---|---|---|---|---|\n| Auto-loads methodology | ✅ CLAUDE.md + hooks | ✅ .github/copilot-instructions.md | ✅ AGENTS.md | ✅ AGENTS.md |\n| Slash / chat commands | ✅ native | ✅ chat prompts | ✅ chat prompts | ✅ prompt text |\n| Subagent pipeline | ✅ 4 dedicated agents | ❌ manual round-trips | ❌ manual | ❌ manual |\n| Session-start board injection | ✅ SessionStart hook | ❌ include in prompt | ❌ include | ❌ include |\n| Pre-action guards | ✅ guard.sh hook | ❌ | ❌ | ❌ |\n| Independent verifier | ✅ fresh context | Manual | Manual | Manual |\n| Live tool-call visibility | ✅ stream-fmt.py | ✅ chat UI | Partial | ✅ terminal |\n| Config file | `CLAUDE.md` + `.claude/` | `.github/copilot-instructions.md` | `AGENTS.md` | `AGENTS.md` + `.opencode.json` |\n| Integration guide | built-in | `prompts/copilot.md` | `prompts/codex.md` | `prompts/opencode.md` |\n\n---\n\n## Repo layout\n\n```\nbauplan/\n├── README.md\n├── METHODOLOGY.md           ← the full specification (principles, phases, story format, exec machinery)\n├── AGENTS.md                ← auto-loaded by Codex, OpenCode, and any AGENTS.md-aware tool\n├── LICENSE                  ← MIT\n├── .github/\n│   ├── workflows/ci.yml          ← validates scripts, JSON, required files on every push\n│   └── PULL_REQUEST_TEMPLATE.md\n├── prompts/\n│   ├── system-prompt.md     ← self-contained, paste into any tool\n│   ├── research-scout.md    ← template for dispatching research scouts\n│   ├── doc-writer.md        ← template for dispatching doc writers\n│   ├── gap-audit.md         ← the mandatory post-generation audit\n│   ├── codex.md             ← OpenAI Codex integration guide\n│   ├── copilot.md           ← GitHub Copilot integration guide\n│   ├── gemini.md            ← Gemini CLI / AI Studio guide\n│   ├── cursor.md            ← Cursor integration guide\n│   └── opencode.md          ← OpenCode integration guide\n├── templates/               ← copied verbatim into every generated kit\n│   ├── CANON.md             ← CANON template with {{PLACEHOLDERS}}\n│   ├── LOOP.md              ← per-session algorithm (generic, final — no placeholders)\n│   ├── CLAUDE.md            ← orchestrator discipline (generic)\n│   ├── STATUS.md.sh         ← seeds STATUS.md from backlog story count\n│   ├── claude-config/       ← 4 subagents, 4 commands, 2 hooks, settings.json\n│   └── scripts/\n│       ├── setup-claude.sh  ← activates .claude config in a generated kit\n│       └── stream-fmt.py    ← live agent activity pretty-printer\n├── cli-commands/            ← bauplan's own slash commands (installed to ~/.claude)\n│   └── commands/            ← /new-project, /review-kit\n├── scripts/\n│   └── setup-bauplan.sh     ← one-shot setup (idempotent)\n└── generated-kits/          ← your kits land here (gitignored)\n```\n\n---\n\n## Running a generated kit\n\nAfter `bash scripts/setup-claude.sh`:\n\n```bash\nclaude\n```\n\nIn Claude Code:\n```\n/next-story           ← implements one story end-to-end, stops, reports\n/clear                ← fresh context (session hook re-injects board state)\n/next-story           ← next story\n/status               ← progress report (reads only STATUS.md)\n/barrier              ← run next integration gate\n```\n\nFor other tools, the equivalent is: read LOOP.md, read STATUS.md, implement one story, stop.\n\n---\n\n## Contributing\n\n- New tool integration → `prompts/<toolname>.md` + row in the tool table above\n- Methodology improvement → update `METHODOLOGY.md` + `prompts/system-prompt.md` in sync\n- New template file → update `ci.yml` required-files list\n- PRs: `bash -n scripts/*.sh` + `python3 -m py_compile templates/scripts/stream-fmt.py` must pass\n\nMIT License — see [LICENSE](LICENSE).\n","readmeFilename":"README.md"}