# exograph v0.2.0 - Table of Contents

Local CodeQL-style code search for Elixir, backed by Postgres and ExAST.

## Pages

- [Changelog](changelog.md)
- [Exograph](readme.md)
- [Getting Started](getting-started.md)
- [Querying](querying.md)
- [Exograph DSL](dsl.md)
- [Code Facts](code-facts.md)
- [Call Graph](call-graph.md)
- [Postgres and ParadeDB](postgres-paradedb.md)
- [Package Indexing](package-indexing.md)
- [Mix Tasks](mix-tasks.md)
- [Comparisons](comparisons.md)
- [Architecture](architecture.md)

## Modules

- [Exograph](Exograph.md): Local CodeQL-style code search for Elixir, backed by Postgres and ExAST.
- [Exograph.CallEdge](Exograph.CallEdge.md): Reach-derived call graph edge.
- [Exograph.CallEdgeHit](Exograph.CallEdgeHit.md): Call graph edge search hit.
- [Exograph.Comment](Exograph.Comment.md): Source comment extracted from a file.
- [Exograph.CommentHit](Exograph.CommentHit.md): Comment search hit.
- [Exograph.DSL](Exograph.DSL.md): Ecto-shaped query DSL for Exograph.
- [Exograph.DSL.Query](Exograph.DSL.Query.md): Query IR produced by `Exograph.DSL`.

- [Exograph.Definition](Exograph.Definition.md): Syntactic definition extracted from source.
- [Exograph.DefinitionHit](Exograph.DefinitionHit.md): Definition search hit.
- [Exograph.Extractor.ExAST](Exograph.Extractor.ExAST.md): Extracts ExAST-backed structural fragments from Elixir source files.

- [Exograph.Extractor.Reach](Exograph.Extractor.Reach.md): Extracts Reach semantic facts from source files.
- [Exograph.File](Exograph.File.md): Source file stored once per package version.

- [Exograph.Fragment](Exograph.Fragment.md): Searchable code unit.
- [Exograph.FragmentStore.Postgres](Exograph.FragmentStore.Postgres.md): Durable fragment store backed by Ecto and Postgres.

- [Exograph.GraphNode](Exograph.GraphNode.md): Reach-derived semantic graph node.
- [Exograph.Hit](Exograph.Hit.md): Candidate or verified search hit.
- [Exograph.Index](Exograph.Index.md): Runtime handle for an Exograph index.
- [Exograph.InvertedIndex.Postgres](Exograph.InvertedIndex.Postgres.md): Postgres/ParadeDB candidate retrieval backend implemented with Ecto queries.
- [Exograph.Package](Exograph.Package.md): Source package identity for multi-package indexes.

- [Exograph.PackageVersion](Exograph.PackageVersion.md): Concrete package release/version identity for multi-version indexes.

- [Exograph.Postgres](Exograph.Postgres.md): Ecto/Postgres helpers for the durable Exograph backend.
- [Exograph.Reference](Exograph.Reference.md): Syntactic reference extracted from source.
- [Exograph.ReferenceHit](Exograph.ReferenceHit.md): Reference search hit.
- [Exograph.TextHit](Exograph.TextHit.md): Source text search hit.
- [Exograph.TreeStore.Postgres](Exograph.TreeStore.Postgres.md): Durable AST tree node store backed by Ecto and Postgres.

## Mix Tasks

- [mix exograph.index](Mix.Tasks.Exograph.Index.md): Indexes Elixir source files with Exograph.
- [mix exograph.search](Mix.Tasks.Exograph.Search.md): Searches Elixir source files with Exograph.

