Skip to main content

Self-hosted semantic search and knowledge management for LLM-driven development

Project description

Nexus

CI PyPI version Python versions License: AGPL v3

Nexus is a support framework and tooling foundation for systematic development with evolving semantic knowledge. It gives teams and individual developers a way to index what they build, search what they know, and maintain coherent direction as projects grow in complexity — especially under the speed and pressure of LLM-driven agentic coding.

Three layers, each useful on its own, each building on the last:

  1. Semantic search and repository indexing (nx) — Index any repo: code is chunked with tree-sitter AST parsing, prose with semantic markdown splitting, PDFs with layout-aware extraction. Search across all of it with a single command. Three storage tiers let you start local with zero API keys and add cloud search when you're ready.

  2. A Claude Code plugin (nx/) — 14 agents, 27 skills, session hooks, slash commands, and two bundled MCP servers. Agents access all three storage tiers via structured MCP tools (no Bash dependency), search indexed code before proposing changes, and coordinate through standard pipelines (plan, implement, review, test). Works with the CLI; does not require RDR.

  3. A structured decision framework (RDR) — Research-Design-Review documents: the traction control for agentic development. Each decision is a short document with classified evidence (Verified, Documented, or Assumed). Write one, build it, learn something, write another. Nexus keeps the growing corpus searchable and navigable. Fully optional.

Use just the CLI. Add the plugin. Adopt RDR later, or never. Each layer amplifies the ones below it but none requires the ones above.

Quick Start

uv tool install conexus          # install the nx CLI from PyPI

nx config init                   # configure API keys
nx doctor                        # verify setup

nx index repo .                  # index current repo
nx search "authentication flow"  # semantic search
nx search "auth" --hybrid        # semantic + git frecency

Scratch and memory commands work with zero API keys. Cloud search requires ChromaDB and Voyage AI accounts — both offer free tiers that cover all typical Nexus usage. See Getting Started.

Repository Indexing

nx index repo is the core of Nexus. Point it at any git repo and it:

  1. Walks tracked files via git ls-files (respects .gitignore)
  2. Classifies each file by extension — code, prose, or PDF
  3. Chunks code with tree-sitter AST parsing (31 languages, 52 file types) and prose with semantic markdown splitting
  4. Embeds each chunk with a purpose-built Voyage AI model
  5. Routes results to separate collections: code__<repo>, docs__<repo>, and rdr__<repo> for RDR documents
  6. Computes git frecency scores so recently-touched files rank higher in hybrid search

Auto-discovers RDR documents in docs/rdr/ and indexes them into a dedicated collection. Stable across git worktrees. Configurable per-repo via .nexus.yml. See Repo Indexing.

The CLI

Three storage tiers with increasing durability:

Tier Storage Network Use
T1 — scratch In-memory ChromaDB None Session-scoped working notes
T2 — memory Local SQLite + FTS5 None Per-project notes that survive restarts
T3 — knowledge ChromaDB cloud + Voyage AI Required Permanent semantic search

Every command targets one or more tiers:

Command Tier Description
nx search T3 Semantic and hybrid search
nx index T3 Index code repos, PDFs, and markdown
nx store T3 Store, export, and import knowledge
nx memory T2 Per-project persistent notes
nx scratch T1 Ephemeral session scratch pad
nx collection T3 Inspect and manage cloud collections
nx config Credentials and settings

RDR: Research-Design-Review

Agentic coding is like driving on slick ice — fast, powerful, and easy to lose control of. RDR is the traction control: a short document where you state the problem, record what you know, describe the plan, and note what you rejected. It gives humans a structured way to steer LLM-driven development and feed discoveries back into the next decision.

Each finding is classified so readers know what is solid and what is a guess:

Classification Meaning
Verified Confirmed via source code search or working spike
Documented Supported by external documentation only
Assumed Unverified — flag it if your design depends on it

RDRs are iterative, not waterfall. You write one, build it, learn something, and write another. A real project might produce 20+ RDRs over its lifetime — foundation decisions, mid-project pivots when assumptions break, performance fixes from real usage, quality refinements from actual data. Each one builds on what you learned implementing the last.

That many design documents create an information management problem. Nexus handles it: every RDR is semantically searchable the moment it is committed, metadata is queryable without parsing markdown, and agents receive prior-art context automatically. The corpus stays navigable as it grows. See RDR Overview.

The Plugin

The nx/ directory is a Claude Code plugin. Install via the marketplace:

/plugin marketplace add Hellblazer/nexus
/plugin install nx@nexus-plugins

The plugin provides:

  • 14 agents — code review, debugging, architecture planning, research synthesis, strategic planning, and more
  • 27 skills — RDR workflow, TDD discipline, brainstorming gates, nexus CLI reference
  • Session hooks — auto-initialize scratch, surface T2 memory context, health-check dependencies, prime beads
  • Slash commands/research, /create-plan, /review-code, /rdr-create, /rdr-accept, etc.
  • Standard pipelines — feature, bug, and research workflows with built-in review gates
  • Two bundled MCP servers — nexus (8 storage tier tools for agents) and sequential-thinking, both via .mcp.json

Each agent runs on a model matched to its task: opus for complex reasoning, sonnet for implementation, haiku for utility. The plugin integrates with Beads for task-level tracking — session hooks prime bead context, RDR close decomposes decisions into beads, and branch naming ties back to bead IDs. See nx/README.md for the full plugin documentation.

Documentation

Document What it covers
Getting Started Install, configure, first index and search
CLI Reference Every command, every flag
Storage Tiers T1/T2/T3 architecture and data flow
Memory and Tasks T2 memory, beads integration, session context
Repo Indexing Smart file classification, chunking, frecency
Configuration Config hierarchy, .nexus.yml, settings
Architecture Module map, design decisions
Contributing Dev setup, testing, code style

RDR (Research-Design-Review): Overview · Workflow · Nexus Integration · Templates · Project RDR Index

Prerequisites

License

AGPL-3.0-or-later. See LICENSE.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

conexus-1.10.2.tar.gz (1.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

conexus-1.10.2-py3-none-any.whl (146.9 kB view details)

Uploaded Python 3

File details

Details for the file conexus-1.10.2.tar.gz.

File metadata

  • Download URL: conexus-1.10.2.tar.gz
  • Upload date:
  • Size: 1.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for conexus-1.10.2.tar.gz
Algorithm Hash digest
SHA256 5d6ee733b6396e531153ced2b7132f3b9ffad5d321b0957ff1739a84f73f44d3
MD5 ca3dd848588e33c05d07ddc2dd2a59ad
BLAKE2b-256 cdec88593edb0d68766ce0aec81d35266a85a3b0412175499d530d88587c20d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for conexus-1.10.2.tar.gz:

Publisher: release.yml on Hellblazer/nexus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file conexus-1.10.2-py3-none-any.whl.

File metadata

  • Download URL: conexus-1.10.2-py3-none-any.whl
  • Upload date:
  • Size: 146.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for conexus-1.10.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6404520450dbf6bdeb9f53d7ffa918eb14a1189d2fc2311ff2039501b6f555b1
MD5 49e4bc90e59363fe90b61cc29fbafdec
BLAKE2b-256 978ca25ef4a60f676647c087825264d05c78216dfbf9d00276ab361d3c17c9ad

See more details on using hashes here.

Provenance

The following attestation bundles were made for conexus-1.10.2-py3-none-any.whl:

Publisher: release.yml on Hellblazer/nexus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page