You just cloned the repo. This page gets you oriented and productive in 30 minutes, without reading all 13 architecture docs.
Read, in order:
/README.md— what the product is, 5 surfaces, core idea/ARCHITECTURE.md— one-minute pipeline diagramdocs/architecture/README.md— 13-doc index, 4 tiers
If you stop reading here, you already understand: NodeBench is an open-source MCP that turns any Claude-compatible agent into a founder-diligence workflow. It runs an orchestrator-workers pipeline with a shared scratchpad, produces structured diligence blocks (founder, product, funding, news, etc.), and surfaces them as living reports the user can keep, dismiss, or watch.
# 1. Install deps
npm install
# or the preferred pnpm if pnpm-workspace.yaml is present
# 2. Convex dev (backend)
npx convex dev
# 3. In another terminal — Vite dev server (frontend)
npm run dev
# opens http://localhost:5173Click around the 5 surfaces:
?surface=home— composer + recent reports?surface=chat— conversation workspace?surface=reports— entity grid?surface=nudges— return-to queue?surface=me— your context
If you're using Claude Code on this repo, the .claude/rules/ directory
is your contract. Skim these five first:
| Rule | Why it matters |
|---|---|
agentic_reliability.md |
8-point checklist for every backend change (BOUND, HONEST_STATUS, TIMEOUT, SSRF, …) |
analyst_diagnostic.md |
Trace root cause, don't bandaid |
scenario_testing.md |
Tests must start from a real persona + goal + failure mode |
completion_traceability.md |
Every task-complete cites the original ask |
self_direction.md |
Don't wait for permission — decide, act, verify visually |
The full set is 31 rules with two-hop related_ cross-references. Start narrow.
src/features/<feature>/ ← UI, feature-first, 30 folders
convex/domains/<domain>/ ← backend, 19 domain folders
server/ ← node runtime (Express routes, MCP gateway, pipeline)
packages/mcp-local/ ← the published nodebench-mcp npm package
.claude/rules/ + .claude/skills/ ← Claude Code conventions
docs/architecture/ ← 13 canonical docs
Each feature folder has the same shape:
src/features/<name>/
├── views/ ← top-level page components
├── components/ ← feature-internal components
├── hooks/ ← feature-internal hooks
├── lib/ ← feature-internal utils
└── __tests__/ ← colocated tests
Good first tasks:
| Task | What it teaches |
|---|---|
| Fix a typo in copy | Dev loop basics — edit, hot reload, commit, PR |
| Add a test to an uncovered pure function | scenario_testing rule in practice |
Write a 3-line README.md for a scope-unclear root directory |
The repo's "wayfinding" discipline |
Follow guides/adding-a-diligence-block.md (if present) to add a stub block |
The orchestrator-workers + scratchpad pattern end-to-end |
Improve the docs/architecture/README.md index |
Documentation convention |
| Problem | Try |
|---|---|
npx tsc --noEmit errors |
You probably pulled without installing. npm install first. |
| Convex dev won't start | Check .env.local for VITE_CONVEX_URL — it must point to a deployed Convex instance or npx convex dev must be running. |
| Vite port conflict | Kill existing dev servers. lsof -i :5173 (Mac/Linux) or `netstat -ano |
| Tests fail on fresh clone | Check Node version — .nvmrc or package.json engines field. |
vite-*.log files appear |
These should be gitignored; if not, add them to .gitignore. |
- Don't add silent failure paths —
HONEST_STATUSrule - Don't add unbounded in-memory caches —
BOUNDrule - Don't add new surfaces without a State / Target / Transition / Invariant spec
- Don't copy-paste patterns — parameterize (see
ProposalInlineDecorations→DiligenceDecorationPluginas an example of the wrong vs right approach) - Don't skip the
analyst_diagnosticprocess on bug fixes — bandaids accumulate
- Read the relevant
docs/architecture/*.mddoc first - Search
.claude/rules/for the pattern - Search existing code for a sibling pattern — most new work has a precedent
- Then open a GitHub Discussion
npx tsc --noEmit→ 0 errorsnpx vitest run→ all greennpm run build→ cleannpx playwright test tests/e2e/product-shell-smoke.spec.ts→ green- Visual verification: screenshot the change at 1440×900
- If backend/infra: run the 8-point reliability checklist
Pick a task above, branch from main, and ship. When in doubt: fewer
assumptions, smaller commits, honest tests.
Welcome to NodeBench.