Install
AtomPRD ships as a small set of npm packages plus a hosted SaaS for authoring. You can:
- Use the OSS packages to validate, diff and codegen PRD manifests in your own pipeline.
- Sign up for the hosted authoring UI to edit atoms in a 6-tab modal with AI assistance.
- Hook the MCP server into Cursor / Claude Code / Cline so a coding agent pulls atoms as live context.
This page covers the OSS install. For the hosted SaaS, see atomprd.dev.
Requirements
Section titled “Requirements”- Bun ≥ 1.2 (or Node ≥ 20 + npm — Bun is recommended).
- Node-resolvable workspace (Bun workspace or npm workspace).
- For codegen: a target runtime (e.g. SenLang, NestJS).
Install the OSS packages
Section titled “Install the OSS packages”bun add @atomprd/spec @atomprd/corebun add @atomprd/codegen @atomprd/codegen-senlangnpm install @atomprd/spec @atomprd/corenpm install @atomprd/codegen @atomprd/codegen-senlangpnpm add @atomprd/spec @atomprd/corepnpm add @atomprd/codegen @atomprd/codegen-senlangOptional:
@atomprd/sdk— re-exports for downstream consumers.@atomprd/cli—atomprd init / validate / gen / mcp(scaffold; WIP).@atomprd/mcp-server— MCP transport (HTTP + stdio).@atomprd/codegen-nestjs— NestJS codegen template (scaffold; WIP).
See the Spec → Packages page for status of every package.
Validate your first manifest
Section titled “Validate your first manifest”-
Create
atoms/manifest.json:{"version": "0.3","atoms": [{"id": "vis_main_a1b2","kind": "vision","name": "Habit Tracker vision","problemStatement": "People want to build small daily habits but lose track of streaks.","valueProposition": "No-friction tracker focused on streaks. One screen per habit, one tap to check in."}],"relations": []} -
Validate with the Zod schema:
import { PrdManifestSchema } from "@atomprd/spec";import manifest from "./atoms/manifest.json" assert { type: "json" };const result = PrdManifestSchema.safeParse(manifest);if (!result.success) {console.error(result.error.issues);process.exit(1);}console.log("OK:", result.data.atoms.length, "atoms"); -
Run it:
Terminal window bun run validate.ts# OK: 1 atoms
Hook up the MCP server (optional)
Section titled “Hook up the MCP server (optional)”If you use Cursor, Claude Code or Cline, you can let the coding agent read atoms directly through the AtomPRD MCP server:
// ~/.claude/mcp.json or .cursor/mcp.json{ "mcpServers": { "atomprd": { "command": "bunx", "args": [ "@atomprd/mcp-server", "--project", "<project-id>", "--token", "<personal-access-token>" ] } }}The MCP server exposes 8 read tools and 4 write tools. See MCP → Server for the full list.
- Walk through Quickstart → first project.
- Then build the Habit Tracker tutorial end-to-end.
- Or skip ahead to Concepts → Atom model for the why-this-shape rationale.