Skip to content

dirmacs/deagle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

deagle — Rust-native Code Intelligence

deagle

Rust-native code intelligence. Single binary, no Docker, no external services.
Built by DIRMACS. Documentation

Features

  • 7 language parsers: Rust, Python, Go, TypeScript/JavaScript, Java, C, C++ (tree-sitter)
  • 3 search modes: substring, fuzzy (skim), keyword (FTS5 BM25)
  • Structural AST search: deagle sg '$X.unwrap()' (ast-grep)
  • Regex text search: deagle rg 'TODO|FIXME' (ripgrep)
  • Incremental indexing: SHA-256 file hashing, skip unchanged files
  • MCP server: 6 tools for Claude Code/editor integration (search, keyword, stats, map, sg, rg)
  • HTTP API: 6 REST endpoints matching CLI
  • LOC counting: per-language breakdown (tokei)
  • Graph DB: SQLite WAL mode with nodes, edges, file hashes, FTS5
  • Parallel parsing: rayon for multi-core indexing, batch inserts
  • Single binary — no Docker, no external services

Performance

Measured with hyperfine on a single VPS (release build):

Codebase Files Entities Edges Time
dstack (small) 14 296 282 125ms
deagle (medium) 15 400 385 339ms
ARES (large) 94 3,486 3,392 2.2s

SQLite WAL mode + batch prepared statements + rayon parallel parsing.

Install

cargo install deagle

Usage

# Index a codebase (incremental — skips unchanged files)
deagle map /path/to/project

# Force full re-index
deagle map . --force

# Search for symbols
deagle search "handler"
deagle search "Config" --kind struct
deagle search "proc" --fuzzy          # fuzzy match (skim)

# Structural AST search (ast-grep patterns)
deagle sg '$X.unwrap()'               # find all unwrap calls
deagle sg 'fn $NAME($$$) { $$$ }'     # find all functions
deagle sg 'struct $S { $$$FIELDS }'   # find all structs

# Regex text search (ripgrep)
deagle rg 'TODO|FIXME' --lang rust

# Lines of code
deagle loc .

# Graph statistics
deagle stats

Autonomous agent use cases

Deagle powers code intelligence in autonomous agent sessions using the ralph-loop pattern from dstack. The loop rotates through deagle commands to find work when the main task queue is empty:

Action Command What it finds
Dead code hunt deagle sg "pub fn \$NAME" + reference check unused public functions
Architecture audit deagle search "" --kind struct oversized types, SRP violations
Coupling analysis deagle search "" --kind import import hotspots, circular deps
Test gap detection deagle search <fn> filtered against test files untested public APIs
Cross-repo impact deagle sg across multiple indexed repos shared pattern drift

Graph-first exploration (vs grepping raw files) keeps autonomous agents from burning tokens on random file reads. A ralph loop running on a 100K-LOC codebase can produce 20+ actionable intel reports per hour using deagle statsdeagle sgdeagle search pipelines.

Architecture

deagle-core    — Graph types + SQLite storage + fuzzy/FTS5 search + incremental hashing
deagle-parse   — Tree-sitter parsers (Rust, Python, Go, TypeScript/JS) + ast-grep + ripgrep
deagle     — CLI: map, search, sg, rg, loc, stats (6 commands)
deagle-server  — HTTP API (Axum) + MCP server (rmcp) for editor integration

MCP Server

For Claude Code, Cursor, or any MCP-compatible editor:

deagle-mcp  # stdio transport

Tools: deagle_search, deagle_stats, deagle_map, deagle_sg, deagle_rg

Supported Languages

Language Parser Entities
Rust tree-sitter-rust functions, methods, structs, enums, traits, imports, constants, modules
Python tree-sitter-python functions, methods, classes, imports, constants, decorators
Go tree-sitter-go functions, methods, structs, interfaces, type aliases, imports, constants
TypeScript/JS tree-sitter-typescript functions, arrow functions, methods, classes, interfaces, enums, type aliases, imports

License

MIT

About

Rust-native code intelligence — tree-sitter + SQLite, single binary

Resources

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors