Skip to main content

Getting Started

vectorless-code is a code-aware search engine built on vectorless. It indexes your codebase using tree-sitter AST parsing and answers questions via LLM reasoning — no embeddings, no vector database.

Install

pip install vectorless-code

Quick Start

# Initialize in your project directory
cd your-project
vcc init

This creates .vectorless_code/settings.yml with default include/exclude patterns.

# Compile the codebase
vcc compile

This discovers code files, parses them with tree-sitter into semantic nodes (functions, classes, methods), and feeds them to the vectorless engine.

# Ask a question
vcc ask "where is the authentication logic"

How It Works

vcc compile

├─ File Discovery (gitignore-aware)

├─ AST Parsing (tree-sitter)
│ ├─ Per-language SPLITTABLE_NODE_TYPES
│ └─ Fallback: line-based splitting

├─ Incremental (SHA-256 per-file hashing)
│ ├─ Changed/new → re-parse
│ └─ Unchanged → reuse cached raw_nodes

└─ Engine.compile(raw_nodes=...)
└─ BuildPass → EnrichPass → ReasoningPass → NavigationPass

Configuration

Project Settings

.vectorless_code/settings.yml:

# File patterns to include
include_patterns:
- "**/*.py"
- "**/*.rs"
- "**/*.ts"

# File patterns to exclude
exclude_patterns:
- "**/.*"
- "**/node_modules"
- "**/target"

API Key

# Option 1: Environment variable
export VECTORLESS_API_KEY="sk-..."

# Option 2: Prompted during vcc init
vcc init

Supported Languages

LanguageExtensionsAST Parsing
Python.py, .pyiYes
Rust.rsYes
Go.goYes
JavaScript.js, .jsx, .mjsYes
TypeScript.ts, .tsxYes
Java.javaYes
C.c, .hYes
C++.cpp, .hpp, .ccYes
Ruby.rbYes
Swift.swiftYes
Kotlin.ktYes
Scala.scalaYes
Others.sql, .sh, .lua, etc.Fallback (line-based)

CLI Reference

CommandDescription
vcc initInitialize project settings
vcc compileCompile codebase into searchable index
vcc ask <question>Ask a question about the codebase
vcc statusShow compilation status and statistics