Skip to content

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.

  • 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).
Terminal window
bun add @atomprd/spec @atomprd/core
bun add @atomprd/codegen @atomprd/codegen-senlang

Optional:

  • @atomprd/sdk — re-exports for downstream consumers.
  • @atomprd/cliatomprd 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.

  1. 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": []
    }
  2. 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");
  3. Run it:

    Terminal window
    bun run validate.ts
    # OK: 1 atoms

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.