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
nx search "how does auth work" --answer  # synthesized answer with citations

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, hybrid, answer, and agentic 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.0rc5.tar.gz (802.9 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.0rc5-py3-none-any.whl (110.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: conexus-1.0.0rc5.tar.gz
  • Upload date:
  • Size: 802.9 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.0rc5.tar.gz
Algorithm Hash digest
SHA256 b5ab55f27daa66180ddce08b33276ec1e77e214d30bb4a50d3cf7918602c9b9e
MD5 c9662815ff2344882b3eaafee9da8a04
BLAKE2b-256 fa86c8366725dd883ad982462a03560aaf602cd06048988b280df5bb0a9130b4

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: conexus-1.0.0rc5-py3-none-any.whl
  • Upload date:
  • Size: 110.5 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.0rc5-py3-none-any.whl
Algorithm Hash digest
SHA256 4b270596e54a31858dfe642647558a483f7742eb6fc27b7ebbfd41e628554bdc
MD5 a5ef6e148c149963519ef539a125c63b
BLAKE2b-256 73f35f18a96b33dd977d5d10047cdcf8ade3ca4117e7b4ba9df1c106b30bee6e

See more details on using hashes here.

Provenance

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