The Problem
Product teams spend many hours manually drafting PRDs, tech designs, and scaffolding agent files before any code is written. The effort is repetitive, error‑prone, and stalls early‑stage MVP delivery.
What This Does
The repo supplies a CLI‑driven workflow that asks the user a series‑by‑step set of questions, then generates fully‑filled PRD, tech‑design, and AGENTS.md assets from the bundled markdown templates. Core logic lives in cli/src/cli.ts, which dispatches to three commands implemented in cli/src/core/:
doctor.ts– validates the host environment (Node version, required tools, template presence).meta.ts– collects the interview answers, writes the PRD and tech‑design markdown files into the project root.scaffold.ts– copies the appropriate agent and skill files fromtemplates/into the user’s.agents/and.claude/directories.
All generated content is derived from the 63 template files under templates/ (e.g., templates/AGENTS.md, templates/agent_docs/*). The repository also ships pre‑written Claude, Gemini, and Cursor skill definitions in .claude/ and .agents/.
How It Is Wired
Entry point – cli/src/cli.ts is executed via the npm bin vibeworkflow (see cli/bin/vibeworkflow.js).
cli.tsparses CLI flags (--init,--doctor,--scaffold) and routes to the matching module.- Doctor phase –
doctor.run()(indoctor.ts) checks: Node ≥ 14 (viaprocess.version). Presence oftemplates/and write permission in the current directory. Reports failures through console and exits with code 1. This is the only module that touches the filesystem without producing output files. - Meta phase –
meta.run()(inmeta.ts) performs the interactive interview: Callsinquirer.promptto collect answers. WritesPRD.mdandTechDesign.mdusingfs.writeFileSync. Returns an object containing the collected data for the next step. This function is the primary writer to the project root and thus has the widest blast radius (any bug here corrupts the generated docs). - Scaffold phase –
scaffold.run(metaData)(inscaffold.ts): Resolves source paths undertemplates/.agents/andtemplates/.claude/. Usesfs.copyFileSyncandfs.mkdirSyncto replicate the directory tree into./.agents/and./.claude/. Substitutes placeholder tokens (e.g.,{{projectName}}) with values frommetaData. No external network calls; all effects are confined to the local filesystem.
Dependency graph – cli.ts → (doctor.run, meta.run, scaffold.run). Each core file is self‑contained; there are no circular imports. The only shared state is the metaData object passed from meta to scaffold. The CLI binary (cli/bin/vibeworkflow.js) simply loads cli/src/cli.ts and invokes its main function.
How To Use It
# Clone the repo
git clone https://github.com/moses-y/vibe-coding-prompt-template
cd vibe-coding-prompt-template/cli
# Install dependencies
npm ci
# Run the workflow (will prompt for answers and generate files)
npx vibeworkflow
No additional configuration files or environment variables are required. If you only want to verify the environment, run npx vibeworkflow --doctor. To generate only the scaffolding after manually creating PRD/TechDesign, use npx vibeworkflow --scaffold.
Real‑World Use
A startup wants to spin up an MVP for a Reddit‑to‑AI summarizer. After cloning the repo, a developer runs npx vibeworkflow. The CLI asks: “What problem does the product solve?” and “Which front‑end framework will you use?” The answers are written to PRD.md and TechDesign.md. The scaffold step creates .agents/vibe‑build and .claude/agents/code‑reviewer.md. The team then opens the generated AGENTS.md in their Claude or Cursor IDE and executes the pre‑written commands to build the MVP incrementally.
Code Health & Issues
- Tests – 10 Jest tests under
cli/test/cover the three core commands; they pass in CI (.github/workflows/cli-test.yml). - CI – GitHub Actions run lint, test, and release pipelines; no failures reported.
- License – MIT license present at repository root.
- Documentation – 24 markdown files, including a detailed README, usage guide, and agent‑skill specs.
No structural red flags detected. The only minor observation is that environment validation is limited to Node version; additional checks (e.g., presence of git) could improve robustness.
The Bottom Line
The repository delivers a ready‑to‑run CLI that automates the early‑stage product definition workflow using LLM‑friendly templates. It is well‑tested, documented, and easy to adopt for teams already using Claude, Gemini, or Cursor. It is best suited for engineers who want a reproducible way to generate PRDs, tech designs, and agent scaffolding without building their own prompt library.