Skip to content

rai discover

Codebase discovery and analysis commands. Extract code symbols, analyze architecture, build the knowledge graph, and detect drift.

Scan a directory and extract code symbols (classes, functions, methods, interfaces, module docstrings). Supports Python, TypeScript, JavaScript, PHP, Svelte, and C#.

ArgumentDescription
PATHDirectory to scan. Default: .
FlagShortDescription
--language-lLanguage: python, typescript, javascript, php, svelte, csharp (auto-detect if not set)
--output-oOutput format: human, json, summary. Default: human
--pattern-pGlob pattern for files
--exclude-ePatterns to exclude (repeatable)
Terminal window
# Scan current directory (auto-detect languages)
rai discover scan
# Scan Python files only
rai discover scan src/ --language python
# JSON output for piping
rai discover scan src/ -l python -o json
# Exclude tests
rai discover scan . --exclude "**/test_*" --exclude "**/__tests__/**"

Analyze scan results with confidence scoring and module grouping. All analysis is deterministic — no AI inference required.

FlagShortDescription
--input-iPath to scan result JSON (reads stdin if not provided)
--output-oOutput format: human, json, summary. Default: human
--category-map-cYAML file with custom path-to-category mappings
Terminal window
# Analyze from file
rai discover analyze --input scan-result.json
# Pipe from scan
rai discover scan src/ -l python -o json | rai discover analyze
# Summary only
rai discover analyze --input scan-result.json --output summary

Build unified graph with discovered components. Integrates validated components into the knowledge graph.

FlagShortDescription
--input-iPath to validated components JSON
--project-root-rProject root directory. Default: .
--output-oOutput format: human, json, summary. Default: human
Terminal window
# Build with default input
rai discover build
# Build with custom input
rai discover build --input my-components.json

Check for architectural drift against baseline components. Compares scanned code against validated baseline to detect files in wrong locations, naming violations, and missing documentation.

ArgumentDescription
PATHDirectory to scan for drift. Default: src/
FlagShortDescription
--project-root-rProject root directory. Default: .
--output-oOutput format: human, json, summary. Default: human
Terminal window
# Check entire project
rai discover drift
# Check specific directory
rai discover drift src/new_module/
# JSON output
rai discover drift --output json

Exit codes: 0 no drift, 1 drift warnings found.

See also: rai graph build