EKOSdocs
Docs / Guides Build

Indexing a Repository

Compile a Git repository — code, history, docs and dependencies — into a knowledge index.

Goal: a searchable, evidenced model of one repository.

Steps

cd /path/to/repo
ekos init

Edit ekos.toml so [observe] covers the repository root and skips everything that is not your source:

[observe]
paths = ["."]                       # keep "." — see the warning below
ignore-patterns = [".ekos", ".git", "target", "node_modules", ".venv", "venv", "site-packages", "__pycache__", "dist"]
ekos config preview-scan            # counts what build would observe, reads nothing
ekos build && ekos recover && ekos resolve && ekos compile && ekos commit

Use paths = ["."]. The Git observer only checks for a .git directory directly under an observe path. If paths lists subdirectories, there are zero Git commits in the index and nothing warns you.

Ignore patterns are directory names, not globs: *.lock matches nothing. ekos config validate warns about this.

What you get

Analyzer Recovers
Rust / Python / JavaScript / Elixir / Perl modules, symbols, imports, Calls, inheritance (Extends), doc comments, source spans
Python ORM SQLAlchemy models as Table objects with same-file foreign keys
crate_topology, cicd Cargo.toml crates and GitHub Actions workflows
dependency scan declared dependencies as Technology objects
Git commits and authors (Person)
localdocs Markdown/PDF/DOCX/HTML sections, with heading-aware structure and links between documents

Add GitHub issues and pull requests

Set environment variables before ekos build:

export EKOS_GITHUB_OWNER=alexeyban EKOS_GITHUB_REPO=EKOS
export EKOS_GITHUB_TOKEN=…          # optional; raises rate limits

Verify

ekos query find "main"
ekos ledger status

Contamination check. If counts look far too large, something you did not mean to index was observed (virtualenvs and vendored code are the usual cause). Fix ignore-patterns, ekos clean, and rebuild.