Skip to content

Latest commit

 

History

History
206 lines (160 loc) · 8.99 KB

File metadata and controls

206 lines (160 loc) · 8.99 KB

Compass documentation

Compass is a native, local-first knowledge graph engine for source code and project artifacts. It discovers the entities in a project, records how they relate, and gives people and tools a smaller, structured way to explore a large codebase.

Who this page is for: evaluators, Compass users, integrators, and contributors.

You will learn: where to start, which documents answer which questions, and which material describes current behavior versus future direction.

Prerequisites: none.

Reading time: about 5 minutes.

Compass was inspired by Graphify, but the products now evolve independently. Compass has no Graphify runtime or test dependency. It includes Compass-native capabilities, such as CompassQL and versioned graph history, and its public contracts are defined by Compass documentation and native tests.

Three reader journeys through the Compass documentation

Choose your path

I am evaluating Compass

Start here if you want to understand the product before adopting it:

  1. Getting started — install Compass, build a graph, and answer a real question.
  2. How Compass works — understand the pipeline without needing graph-database experience.
  3. Graph model — learn what nodes, relationships, communities, and provenance mean.
  4. Security and privacy — see what stays local and when a configured provider may be contacted.
  5. Compatibility and performance — inspect the published evidence.

I use or integrate Compass

Start with Getting started, then choose the task closest to yours:

I contribute to Compass

Read these in order when you need a durable mental model of the Rust workspace:

  1. Design principles
  2. System architecture
  3. Language architecture
  4. Workspace and crate tour
  5. Extraction pipeline
  6. Universal evidence implementation
  7. Query engine
  8. Semantic pipeline
  9. Extending Compass
  10. Contributing

Documentation map

Learn the concepts

Document What it answers
How Compass works How does a directory become a queryable graph?
Graph model What do the entities and relationships mean?
Provenance How can I judge where an edge came from?
CompassQL concepts When should I use an exact structural query?

Complete a task

Guide Outcome
Getting started A working local graph and your first useful answers
Exploring a codebase A repeatable architecture-reading workflow
Integrating Compass Stable, machine-readable data in another tool
Assistant setup A native Compass skill installed at the right scope
Versioned history Immutable graphs and diffs for exact Git commits
Operations Safe operation of long-running and optional surfaces

Understand the design

Document Focus
Design principles Local-first, deterministic, bounded, inspectable behavior
Architecture Major layers and the data that crosses them
Language architecture Grammar, adapter, evidence, resolution, and transition boundaries
Storage and history Incremental artifacts and immutable historical realizations
Security and privacy Trust boundaries, credentials, and offline behavior

Work on the implementation

Document Focus
Workspace tour Which crate owns which responsibility
Extraction pipeline Discovery through atomic output publication
Universal evidence Language contracts, crate boundaries, resolution, and qualification
Query engine Discovery queries, traversal, and CompassQL
Semantic pipeline Optional provider-backed extraction
Extending Compass Adding languages, relations, integrations, and commands

Copy a recipe

The cookbook index routes to:

Look up an exact contract

Reference Contents
Commands Command families, common inputs, output modes, and diagnostics
Configuration Providers, environment, paths, and precedence
Outputs compass-out/, graph JSON, query results, and history exports
Compatibility Compass contracts, hard cutovers, and portability
CompassQL 1 Canonical language and runtime contract
CompassQL support Checked syntax and feature matrix

How these documents are written

Compass documentation uses four document types:

Concept     explains what something means and why it exists
Guide       walks through a complete task
Cookbook    solves one concrete scenario with a short recipe
Reference   states an exact interface, option, format, or limit

This separation is deliberate. A guide should not force you through an exhaustive option table, and a reference should not hide a precise contract inside a long tutorial.

Substantial pages begin with their audience, outcomes, prerequisites, and estimated reading time. They end with related pages and a recommended next step. Small diagrams are ASCII so they remain useful in any terminal. Larger architecture diagrams are checked-in SVG files with accessible titles and descriptions.

Current, planned, and aspirational

Compass evolves quickly, so future-facing documentation uses explicit labels:

  • Available now means the behavior is implemented and supported by current source, help text, tests, or release evidence.
  • Planned means a committed design or implementation plan describes the work. A plan is evidence of intent, not evidence that the feature has shipped.
  • Aspirational means the idea expresses a direction or problem worth exploring. It has no promised release, compatibility, or delivery date.

See the roadmap for the combined view.

Canonical policy and evidence

Some topics already have a single authoritative document. The learning guides summarize and link to these; they do not replace them:

If a summary and a canonical document ever disagree, follow the canonical document and open a documentation issue.

Product status in one paragraph

Compass is a Rust workspace that ships the compass executable. Structural code extraction and graph queries run locally and do not require Python, embeddings, a vector database, or runtime grammar downloads. Semantic extraction for documents and other non-code sources is optional and may contact the provider you explicitly configure. The current release packaging and platform guarantees are recorded in the compatibility ledger, not inferred from what happens to compile on one developer machine.

Related pages

Next step: follow Getting started to build and query your first graph.