Skip to main content

Lightning Code Index - Sub-millisecond semantic code search and analysis

Project description

LCI - Lightning Code Index

Lightning-fast code indexing and search for AI assistants.

CI Go Report Card License: MIT

Features

  • Sub-millisecond search: Trigram-based indexing with <5ms search guarantee
  • Multi-language support: Go, TypeScript, JavaScript, Python, Rust, C#, PHP, and more
  • MCP integration: Model Context Protocol server for AI assistant integration
  • Semantic search: Natural language queries with intelligent matching
  • Call graph analysis: Track function calls, references, and dependencies
  • Semantic annotations: @lci: vocabulary for marking up code with metadata

Installation

npm (recommended)

npm install -g @standardbeagle/lci

pip

pip install lightning-code-index

Homebrew (coming soon)

brew install standardbeagle/tap/lci

From Source

go install github.com/standardbeagle/lci/cmd/lci@latest

From Releases

Download pre-built binaries from GitHub Releases.

Quick Start

CLI Usage

# Index and search in current directory
lci search "handleRequest"

# Find symbol definitions
lci def UserService

# Find all references to a symbol
lci refs CreateUser

# Display function call hierarchy
lci tree main

# Fast grep-style search
lci grep "TODO|FIXME"

# List files that would be indexed
lci list

MCP Server

Start the MCP server for AI assistant integration:

lci mcp

Claude Code Integration

Add to your .mcp.json:

{
  "lci": {
    "command": "lci",
    "args": ["mcp"],
    "env": {}
  }
}

Configuration

Create .lci.kdl in your project root:

project {
    name "my-project"
    root "."
}

index {
    include "**/*.go" "**/*.ts" "**/*.py"
    exclude "**/node_modules/**" "**/vendor/**"
}

search {
    max-results 100
    context-lines 3
}

MCP Tools

When running as an MCP server, LCI exposes these tools:

Tool Description
search Semantic code search with fuzzy matching
get_context Get detailed context for a code symbol
find_files Fast file path search with glob patterns
code_insight Codebase intelligence and analysis
context Save/load code context manifests
semantic_annotations Query @lci: semantic labels
side_effects Analyze function purity and side effects

Semantic Annotations

Mark up your code with @lci: annotations for enhanced AI understanding:

// @lci:risk[high] @lci:public-api
// @lci:requires[env:DATABASE_URL]
func HandleUserLogin(w http.ResponseWriter, r *http.Request) {
    // ...
}

// @lci:purpose[Validate user credentials against database]
// @lci:must[Return error for invalid credentials]
func ValidateCredentials(username, password string) error {
    // ...
}

Annotation Categories

  • Risk & Safety: @lci:risk[low|medium|high|critical], @lci:safe-zone, @lci:stability
  • Dependencies: @lci:requires[env:VAR], @lci:requires[db:table], @lci:requires[service:name]
  • Conventions: @lci:convention[pattern], @lci:idiom[name], @lci:template[name]
  • Contracts: @lci:must[behavior], @lci:must-not[behavior], @lci:invariant[condition]
  • Purpose: @lci:purpose[description], @lci:domain[area], @lci:owner[team]

Architecture

lci/
├── cmd/lci/          # CLI entry point
├── internal/
│   ├── core/         # Trigram index, symbol store, reference tracker
│   ├── parser/       # Tree-sitter based multi-language parsing
│   ├── search/       # Search engine and scoring
│   ├── indexing/     # Master index and pipeline
│   ├── mcp/          # MCP server and tools
│   └── analysis/     # Code analysis and metrics
└── pkg/              # Public API

Performance

LCI is designed for speed:

  • Indexing: <5s for typical projects (<10k files)
  • Search: <5ms for most queries
  • Memory: <100MB for typical web projects
  • Startup: Near-instant with persistent index

Development

# Run tests
go test ./...

# Build
go build ./cmd/lci

# Run with race detector
go test -race ./...

License

MIT License - see LICENSE for details.

Contributing

Contributions are welcome! Please read the contributing guidelines before submitting PRs.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

lightning_code_index-0.1.1-py3-none-macosx_10_12_x86_64.whl (3.3 kB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file lightning_code_index-0.1.1-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for lightning_code_index-0.1.1-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 72c1f380f7405edb646a2f5a92a063d7c2088307a15e50168a054cdace177746
MD5 9d48fee0a56cd87f088a84e9465461ec
BLAKE2b-256 ea826d2f6d68d0f55f88e31c4e9323f8d857676b182b665e96873025d41731a9

See more details on using hashes here.

Provenance

The following attestation bundles were made for lightning_code_index-0.1.1-py3-none-macosx_10_12_x86_64.whl:

Publisher: release.yml on standardbeagle/lci

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