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/) — 15 agents, 27 skills, session hooks, slash commands, and a bundled MCP server. Agents 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. 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 (12 languages) 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 knowledge in the cloud
nx memory T2 Per-project persistent notes
nx pm T2+T3 Project management lifecycle
nx scratch T1 Ephemeral session scratch pad
nx serve Background daemon for auto-reindexing
nx collection T3 Inspect and manage cloud collections
nx migrate T3 Migrate collections from single-database to four-store layout
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:

  • 15 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, load PM 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
  • Bundled MCP server — sequential-thinking via .mcp.json, no separate install

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
Project Management Progress tracking, blockers, archive, session integration
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.0.0rc9.tar.gz (906.2 kB view details)

Uploaded Source

Built Distribution

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

conexus-1.0.0rc9-py3-none-any.whl (120.8 kB view details)

Uploaded Python 3

File details

Details for the file conexus-1.0.0rc9.tar.gz.

File metadata

  • Download URL: conexus-1.0.0rc9.tar.gz
  • Upload date:
  • Size: 906.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for conexus-1.0.0rc9.tar.gz
Algorithm Hash digest
SHA256 388c25923fd7218726e4a7c81ffb1a4be32ec88b064528f98aaafbb5aa1c2ce9
MD5 b921c282088cbf525cdeea4213701c6e
BLAKE2b-256 fc22cd4b5b2939747847ee546ab998aea3b1be1b6fba3961e97c75c87dc109b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for conexus-1.0.0rc9.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.0.0rc9-py3-none-any.whl.

File metadata

  • Download URL: conexus-1.0.0rc9-py3-none-any.whl
  • Upload date:
  • Size: 120.8 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.0.0rc9-py3-none-any.whl
Algorithm Hash digest
SHA256 b653d16ca1a6d5447fc542d1c5dc0b52defd0359af771ac0b9f4f2f3e3234541
MD5 c55448709cff52b0ce3e24a220523571
BLAKE2b-256 25f50e2ab434535802c83fed52ccdb4b164fe45e4f1c4e812392cfc1e5de1a8a

See more details on using hashes here.

Provenance

The following attestation bundles were made for conexus-1.0.0rc9-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