Files
proffesor-for-testing__agen…/docs/setup/code-intelligence-quick-start.md
Profa ae528aea7e feat(code-intelligence): implement Wave 1-2 with SQL-based graph architecture
## Wave 1: Database Foundation
- Add SQL schema for code_chunks, code_entities, entity_relationships
- Use RuVector 768-dim embeddings (not pgvector)
- Implement hybrid_code_search function (BM25 + vector)
- Add pg_trgm extension for full-text search
- Create setup scripts for Ollama/nomic-embed-text

## Wave 2: Multi-Language Parser
- Implement TreeSitterParser with 5 language support
- Add language-specific extractors (TS, Python, Go, Rust, JS)
- Implement incremental parsing with tree caching
- Create comprehensive test suite with fixtures

## Architecture Decision
- Defer Apache AGE to v2 (see ADR-002)
- Use SQL tables for graph relationships
- Rationale: Lower complexity, team familiarity, sufficient for v1

Closes #159, Closes #160

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 13:49:39 +00:00

4.6 KiB

Code Intelligence System - Quick Start Guide

This guide will help you get the Code Intelligence System up and running in minutes.

Prerequisites Check

Run the validation script to check your setup:

npx tsx scripts/validate-code-intelligence-setup.ts

Installation Steps

1. Install Dependencies (Already Done)

The following dependencies have been installed:

  • tree-sitter@0.22.4 - Core parsing library
  • tree-sitter-typescript@0.21.2 - TypeScript grammar
  • tree-sitter-python@0.23.5 - Python grammar
  • tree-sitter-go@0.23.3 - Go grammar
  • tree-sitter-rust@0.24.0 - Rust grammar
  • tree-sitter-javascript@0.23.0 - JavaScript grammar
  • chokidar@3.6.0 - File system watcher
  • gpt-tokenizer@2.1.2 - Token counting

2. Start RuVector Database

docker run -d \
  --name agentic-qe-ruvector-dev \
  -p 5432:5432 \
  -e POSTGRES_PASSWORD=ruvector \
  ruvnet/ruvector:latest

Verify database is running:

docker exec agentic-qe-ruvector-dev psql -U ruvector -d ruvector_db -c "SELECT version();"

3. Setup Ollama (Optional - for local embeddings)

# Run automated setup script
./scripts/setup-ollama.sh

Or manually:

# Install Ollama
curl -fsSL https://ollama.ai/install.sh | sh

# Start Ollama service (in separate terminal)
ollama serve

# Pull embedding model
ollama pull nomic-embed-text

Configuration

Environment Variables

Create a .env file in the project root (optional):

# Database Configuration
RUVECTOR_HOST=localhost
RUVECTOR_PORT=5432
RUVECTOR_DATABASE=ruvector_db
RUVECTOR_USER=ruvector
RUVECTOR_PASSWORD=ruvector

# Knowledge Graph (optional)
AQE_KNOWLEDGE_GRAPH_ENABLED=true

Default Configuration

The system uses sensible defaults from src/code-intelligence/config/environment.ts:

import { getConfig } from './src/code-intelligence/config';

// Use defaults
const config = getConfig();

// Or override specific settings
const customConfig = getConfig({
  embeddings: {
    provider: 'openai',
    model: 'text-embedding-3-small',
    dimensions: 1536,
    batchSize: 100,
  },
});

Supported Languages

The system currently supports:

  • TypeScript (.ts, .tsx)
  • JavaScript (.js, .jsx)
  • Python (.py)
  • Go (.go)
  • Rust (.rs)

Next Steps

Once setup is complete, proceed to:

  1. Wave 2: Tree-sitter Parser Implementation
  2. Wave 3: Chunking and Embeddings
  3. Wave 4: Database Schema and Indexing
  4. Wave 5: Semantic Search and RAG
  5. Wave 6: Knowledge Graph Visualization

Usage Example

import { getConfig, validateConfig } from './src/code-intelligence/config';

// Get configuration
const config = getConfig();

// Validate configuration
validateConfig(config);

// Get database connection string
const connectionString = getDatabaseConnectionString(config);

console.log(`Connecting to: ${connectionString}`);

Directory Structure

src/code-intelligence/
├── config/
│   ├── environment.ts          ✅ Configuration management
│   ├── database-schema.ts      (Wave 2)
│   └── index.ts                ✅ Exports
├── parser/                     (Wave 2)
├── chunking/                   (Wave 3)
├── embeddings/                 (Wave 3)
├── indexing/                   (Wave 4)
├── graph/                      (Wave 4)
├── search/                     (Wave 5)
├── rag/                        (Wave 5)
└── visualization/              (Wave 6)

Troubleshooting

Tree-sitter Build Issues

# Rebuild native modules
npm rebuild tree-sitter

# If that doesn't work, reinstall
npm install --legacy-peer-deps

Database Connection Issues

# Check container status
docker ps | grep ruvector

# View logs
docker logs agentic-qe-ruvector-dev

# Restart container
docker restart agentic-qe-ruvector-dev

Ollama Issues

# Check service status
curl http://localhost:11434/api/tags

# View models
ollama list

# Re-pull model
ollama pull nomic-embed-text

Verification Commands

# 1. Validate setup
npx tsx scripts/validate-code-intelligence-setup.ts

# 2. Test Tree-sitter
node -e "require('tree-sitter'); console.log('OK')"

# 3. Test database
docker exec agentic-qe-ruvector-dev psql -U ruvector -d ruvector_db -c "SELECT 1;"

# 4. Test Ollama
curl http://localhost:11434/api/embeddings -d '{"model": "nomic-embed-text", "prompt": "test"}'

Support

For issues or questions: