While working on issue #1733 (environment doctor tooling) I read through CONTRIBUTING.md and found it does not reflect the current codebase:
- "Project Structure" lists
src/cli.js, src/parser.js, src/builder.js, src/queries.js, src/embedder.js, src/db.js, src/mcp.js, src/cycles.js, src/export.js, src/watcher.js, src/config.js, src/constants.js — none of these exist anymore; the source tree is now TypeScript under src/{shared,infrastructure,db,domain,features,presentation,graph,mcp,ast-analysis}/.
- "Code Style" says "All source is plain JavaScript (ES modules) — no transpilation", which hasn't been true since the TypeScript migration.
- "Requirements: Node.js >= 20" — package.json's
engines.node is >=22.12.0 and CLAUDE.md says >=22.6.
- "Architecture Notes" says "The
feat/rust-core branch introduces an optional native Rust engine via napi-rs" — that branch merged long ago; the native engine is default/current architecture (--engine native|wasm|auto), not an experimental branch.
- Test file examples use
.test.js (e.g. tests/parsers/go.test.js) but the actual suite is .test.ts.
- "Database" section lists only
nodes, edges, metadata, embeddings tables — missing function_complexity and ast_nodes (per CLAUDE.md).
This is out of scope for #1733 (which only touches environment/doctor tooling), so filing separately per repo convention rather than doing a drive-by rewrite. Whoever picks this up should diff CONTRIBUTING.md's "Project Structure", "Architecture Notes", "Code Style", and "Testing" sections against the current CLAUDE.md, which is up to date.
While working on issue #1733 (environment doctor tooling) I read through CONTRIBUTING.md and found it does not reflect the current codebase:
src/cli.js,src/parser.js,src/builder.js,src/queries.js,src/embedder.js,src/db.js,src/mcp.js,src/cycles.js,src/export.js,src/watcher.js,src/config.js,src/constants.js— none of these exist anymore; the source tree is now TypeScript undersrc/{shared,infrastructure,db,domain,features,presentation,graph,mcp,ast-analysis}/.engines.nodeis>=22.12.0and CLAUDE.md says>=22.6.feat/rust-corebranch introduces an optional native Rust engine via napi-rs" — that branch merged long ago; the native engine is default/current architecture (--engine native|wasm|auto), not an experimental branch..test.js(e.g.tests/parsers/go.test.js) but the actual suite is.test.ts.nodes,edges,metadata,embeddingstables — missingfunction_complexityandast_nodes(per CLAUDE.md).This is out of scope for #1733 (which only touches environment/doctor tooling), so filing separately per repo convention rather than doing a drive-by rewrite. Whoever picks this up should diff CONTRIBUTING.md's "Project Structure", "Architecture Notes", "Code Style", and "Testing" sections against the current CLAUDE.md, which is up to date.