@cdr-kit/Scaffolder

npm create cdr-kit

One command per pattern. Pick a template and you have a working consumer app running locally in under a minute. Mock CDR out of the box; swap one provider to go live on Aeneid.

Invoke

terminal
# default = starter (Node mock-flow)
$ npm create cdr-kit my-app

# any other template via --template
$ npm create cdr-kit my-blog -- --template blog
$ npm create cdr-kit my-paywall -- --template paywall
$ npm create cdr-kit my-mcp -- --template mcp-server

UI templates

blog — Next.js 16 + React 19 + @cdr-kit/react-ui. Three inline <UnlockablePill>s on a real-looking blog post. The onscroll.app pattern. Recommended first.

paywall — Next.js single-page <SubscribeButton> gating a whole content block. Classic Substack/Patreon pattern.

MCP server template

mcp-server — stdio Model Context Protocol server. Exposes cdr_discover_vaults, cdr_subscribe_and_access, cdr_access_vault to any MCP host (Claude Desktop, Cursor, Windsurf). The agent pays from its own wallet — the LLM never sees the key.

Ships with a ready-to-paste claude_desktop_config.json.

Agent templates (one per framework)

Each template instantiates new CdrAgent({ privateKey, apiUrl }) and wires CDR tools into the named framework. Pick the one your stack uses; the rest of your agent logic stays untouched.

agent-vercel-ai — Vercel AI SDK chatbot using getVercelAITools(agent) with generateText.

agent-openai — Raw OpenAI / Anthropic tool-calling loop using getOpenAITools(agent).{tools, dispatch}.

agent-langchain — LangChain ReAct agent via createReactAgent({llm, tools: getLangChainTools(agent)}).

agent-agentkit — Coinbase AgentKit action provider via getCdrActionProvider(agent). Compose with your wallet provider.

agent-goat — GOAT SDK ToolBase[] via getGoatTools(agent).

starter template

starter — Two-file Node TypeScript script that runs new CdrAgent() + create/write/access end-to-end against real Aeneid testnet. Good for verifying the kit works in your env or for backend-only CDR work.

tree
my-app/
├── src/index.ts          # real Aeneid create + write + access in ~25 lines
├── .env.example          # WALLET_PRIVATE_KEY for the testnet wallet
├── package.json          # @cdr-kit/agent@^0.7.0 + @cdr-kit/contracts + @cdr-kit/core + consola + dotenv
└── README.md