Build with AI like an engineering team — not like a chat session.
Vibe Coding Production Kit (VCP) is a production-minded operating system and zero-runtime-dependency CLI for AI-assisted software development. It turns vague “vibe coding” into a repeatable engineering lifecycle built around specifications, architecture, bounded tasks, repository-native agent rules, readiness gates, security, verification evidence, independent review, safe updates, and recovery.
It is model-agnostic and works with tools such as Codex, Claude Code, Cursor, GitHub Copilot, and other coding agents.
Arabic documentation: README.ar.md
Run the published npm package directly — no global install required:
npx vibe-coding-production init . --agent all --stack auto --yesOr target another repository:
npx vibe-coding-production init ./my-app --agent claude --stack auto --yesPreview without writing:
npx vibe-coding-production init . --agent all --stack auto --dry-runThe executable is also available as vcp when installed or invoked through npm package tooling.
If you intentionally want to run the repository version instead of the published npm package:
npx --yes github:Moeeryani/Vibe-Coding-Production-Kit init . --agent all --stack auto --yesThe CLI requires Node.js 22+, has no runtime dependencies, and auto-detects JavaScript/Node.js, TypeScript, Python, and Go only when repository evidence supports that decision.
New here? Follow the end-to-end 10-minute Quickstart.
VCP is intended to be driven primarily by the coding agent rather than by a developer manually filling every template or memorizing every command.
After initialization, you can tell Claude Code, Codex, Cursor, or another compatible agent:
Set up VCP for this repository. Inspect the existing code, package scripts, tests,
architecture, and documentation. Draft the VCP source-of-truth files from repository
evidence. Distinguish discovered facts from proposed decisions, and ask me only for
decisions that require human product or engineering intent. Run VCP Doctor when done.
For feature work, state the intent normally:
Use VCP and add verified email change. Draft the task, run the readiness gates,
ask me only for unresolved product decisions, plan before coding, verify the result,
and perform an independent review.
The desired split is simple:
AI does the inspection, drafting, bookkeeping, and VCP command execution.
Human makes product/engineering decisions and approves important trade-offs.
VCP preserves the decisions, gates implementation, and records verification evidence.
Most vibe-coding workflows optimize for getting the first demo working. VCP optimizes for the 100th feature, the second developer, production incidents, security reviews, migrations, refactors, upgrades, and years of maintenance.
| Casual vibe coding | Vibe Coding Production Kit |
|---|---|
| Prompt is the source of truth | Repository docs are the source of truth |
| Large “build this app” requests | Small bounded task contracts |
| Agent starts coding immediately | Readiness + plan-before-code gates |
| “Tests should pass” | Executed verification evidence |
| Same agent builds and judges | Independent review workflow |
| Copy templates once | Versioned lifecycle state + safe updates |
| Overwrite/reinstall to upgrade | Baselines, merge, migrations, rollback |
| Hope production is okay | Security, observability, release/recovery thinking |
What the developer should experience:
state intent
↓
answer only unresolved human decisions
↓
review / approve plan
↓
review final result + evidence
What the coding agent executes behind that experience:
init / inspect
↓
task
↓
ready --stage plan
↓
context --mode plan
↓
plan
↓
ready --stage implement
↓
context --mode implement
↓
implement
↓
verify
↓
independent review
↓
doctor
↓
release / observe
When a newer VCP version is available:
update --check
↓
update --dry-run
↓
resolve conflicts if any
↓
update
↓
doctor
vcp init now creates .vcp/manifest.json and persistent baseline snapshots. Once a repository is initialized, VCP refuses to replace that lifecycle state with init --force; upgrades go through the update engine.
Check version state:
vcp update . --check
vcp update . --check --jsonPreview the full migration plan without writing project files:
Apply after reviewing the plan:
Recover the newest safe recovery point:
Detach or re-track one VCP-managed file without deleting local content:
vcp manage ignore AGENTS.md
vcp manage track AGENTS.mdThe update engine uses:
managed, generated, and preserve ownership policies;CONFLICT instead of guessing on overlaps;See docs/UPDATES.md for the full contract and docs/CLI.md for commands/options.
The read-only doctor checks whether the engineering system is actually configured—not merely copied:
npx vibe-coding-production doctor .It reports concrete PASS / WARN / FAIL findings for agent instructions, unresolved verification commands, source-of-truth documents, untouched templates, CI, plan/review workflow, manifest compatibility, baseline integrity, and interrupted update transactions.
Use --json for automation or --strict to make warnings non-zero. See docs/DOCTOR.md.
npx vibe-coding-production task accept-invite --title "Accept invitation"The generator creates docs/tasks/accept-invite.md with source-of-truth links, acceptance criteria, scope boundaries, security/privacy questions, failure modes, observability, tests, rollout/recovery, implementation planning, review checks, and the verification commands actually configured in AGENTS.md.
The coding agent should draft and update this task from repository evidence instead of asking the developer to fill every field manually.
See docs/TASK-PACKS.md.
vcp ready accept-invite --stage plan
vcp ready accept-invite --stage implementThe planning gate requires a real outcome, resolvable Source of Truth, concrete acceptance criteria, explicit scope, and an unambiguous task structure. The implementation gate additionally requires resolved architecture/data/integration boundaries, domain invariants, security/privacy, failure modes, observability, testing, rollout/recovery, a concrete implementation plan, and an executable verification plan.
Referenced Source of Truth files that still contain known starter-template signals are reported as warnings so the agent can draft project-specific decisions instead of treating an empty template as evidence.
vcp context accept-invite --mode planUse --mode implement, review, security, or release as the task progresses. Add only affected implementation files with repeatable --include flags. Context packs reject repository escapes and enforce a size budget by default.
Preview exactly what would execute:
Execution requires explicit consent and an implementation-ready task:
vcp verify accept-invite --run \
--output .vcp/evidence/accept-invite.jsonCommands run sequentially and stop after the first failure. Evidence records command, status, exit code, signal, timeout state, and duration, while raw stdout/stderr is deliberately not persisted by default.
See docs/VERIFICATION-EVIDENCE.md.
Start with examples/reference-saas-invite/ to see the workflow as concrete engineering artifacts instead of blank templates.
It models a security-sensitive multi-tenant invitation vertical slice with completed product/domain/architecture/data artifacts, ADR, threat model, test strategy, bounded task, layered code, and negative-path tests for authorization, tenant boundaries, token hashing, expiry, replay, and email binding.
cd examples/reference-saas-invite
npm test
npm run checkThe example explicitly documents what remains unproven for real production infrastructure instead of calling a demo “production-ready.”
Do not ask AI to build your project. Build a system that makes it difficult for AI to build your project incorrectly.
The human owns intent, trade-offs, architecture, risk acceptance, and final decisions. AI helps inspect, draft, research, plan, implement, test, review, document, and automate — inside explicit constraints.
Idea
-> Product brief
-> PRD + acceptance criteria
-> User flows
-> Domain model
-> Architecture + ADRs
-> Data model
-> Threat model
-> Test strategy
-> Epics / stories / bounded tasks
-> Readiness gate
-> Plan before code
-> Bounded implementation
-> Verification evidence
-> Independent review
-> CI gates
-> Release + observability
-> Safe VCP lifecycle updates
-> Learn and update the source of truth
AGENTS.md — repository-wide rules and an AI-first VCP operating protocol for coding agents.vcp task — bounded repository-native task contracts.vcp ready — separate plan/implementation readiness gates.vcp context — bounded phase-specific AI context packs.vcp verify — explicit execution and verification evidence.vcp doctor — repository/system health audit without a misleading magic score.vcp update — lifecycle-aware safe updates with merge/migrations/recovery.These are the main project documents VCP manages:
docs/product/PRODUCT-BRIEF.mddocs/product/PRD.mddocs/product/USER-FLOWS.mddocs/architecture/DOMAIN.mddocs/architecture/ARCHITECTURE.mddocs/architecture/DATA-MODEL.mddocs/security/THREAT-MODEL.mddocs/testing/TEST-STRATEGY.mdDo not treat this as a manual form-filling checklist. Have the coding agent inspect repository evidence and draft these files. The developer should approve or correct decisions that require human intent. AGENTS.md should likewise be populated from proven repository commands where possible; unresolved commands stay explicit instead of being guessed.
.
├── AGENTS.md
├── README.md
├── README.ar.md
├── CONTRIBUTING.md
├── SECURITY.md
├── bin/
├── lib/
├── docs/
│ ├── 00-START-HERE.md
│ ├── QUICKSTART.md
│ ├── CLI.md
│ ├── UPDATES.md
│ ├── product/
│ ├── architecture/
│ ├── security/
│ ├── testing/
│ └── delivery/
├── prompts/
├── examples/
├── scripts/
└── .github/
A good agent task normally has:
If a task requires a long explanation of “and while you're there…”, split it.
The kit intentionally avoids locking you into one AI vendor. Keep universal rules in AGENTS.md, and add tool-specific instruction files only when they provide real value.
Do not duplicate conflicting rules across multiple agent configuration files. Prefer one source of truth and thin adapters.
See CONTRIBUTING.md if you want to help.
MIT — use it in personal, commercial, and open-source projects.