| name | project |
| description | Defines the @samchon/graph product contract, workspace layout, public and generated-file boundaries, and canonical commands. Use when orienting in the repository, working inside any package, or choosing a build, test, coverage, experiment, or benchmark command. |
Project Outline
Product Contract
@samchon/graph is a code-graph index for coding agents. It discovers supported source languages, asks installed language servers for semantic declarations and relationships, and merges the separately packaged @samchon/graph-sitter best-effort fallback for languages whose server is missing or fails. It serves the resident result through one typed MCP tool and also exposes a TypeScript API plus the samchon-graph, samchon-graph dump, and samchon-graph view CLI lanes.
The graph is an index, not a source-delivery system. Results carry declarations, signatures, relations, decorators, diagnostics, tests, anchors, and source spans. They do not inline implementation bodies. When body text or an exact textual match is needed, return or use the smallest span and read the source normally.
The graph has two distinct trust levels:
- Facts such as nodes, edges, signatures, decorators, tests, and spans are checked against the synchronized index snapshot before return.
- Ranked selection in
lookup, entrypoints, and tour is heuristic. Its facts remain checked, but callers must judge whether the shortlist covers the question.
Keep the MCP contract typed and structured. Request and result union members pair by discriminator, question/draft/review preserve the deliberate request-selection flow, and next may claim only what the returned graph establishes. Do not force graph use when the next evidence is source body text, an unsupported file, or otherwise outside the index.