Claude-ast-index-search  by defendend

Fast, multi-language code indexing and search CLI

Created 1 month ago
261 stars

Top 97.4% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

This project provides a high-performance, native Rust CLI tool (ast-index) designed to accelerate code search and analysis for AI agents and developers. It addresses the need for faster, more intelligent code navigation across a vast array of programming languages, significantly improving developer productivity and AI agent capabilities.

How It Works

ast-index employs a native Rust implementation, leveraging SQLite with FTS5 for efficient full-text indexing and ripgrep internals for rapid grep-based searches. It utilizes rayon for parallel processing during file parsing and tree-sitter grammars for accurate Abstract Syntax Tree (AST) analysis across 28 supported languages. This architecture prioritizes speed and precision, offering substantial performance gains over traditional search methods.

Quick Start & Requirements

Installation is streamlined via Homebrew (brew install ast-index) or Winget (winget install --id defendend.ast-index). Building from source requires the Rust toolchain. For AI agent integration, specific setup steps are provided for Claude Code Plugin, Gemini CLI, and Cursor. A one-time ast-index rebuild command is typically required to index a project before use.

Highlighted Details

  • Performance: Achieves up to 260x speedup for operations like indexing imports and 14x for general search compared to grep on large codebases.
  • Broad Language Support: Offers AST-based indexing and search for 28 languages, including TypeScript, JavaScript, Rust, Python, Go, Java, C#, Swift, Ruby, PHP, and more, with dedicated commands for many.
  • AI Agent Integration: Designed for seamless integration with AI coding assistants like Claude (via plugin), Gemini (via skill), Cursor, and any Bash-capable agent, supporting the Model Context Protocol (MCP).
  • Extensive Functionality: Provides a rich set of CLI commands for universal search, symbol lookup, dependency analysis, code pattern identification (e.g., usages, implementations, call-tree), and language-specific queries. Grep-based commands are available for quick searches without an index.

Maintenance & Community

The project shows active development with frequent updates detailed in an extensive changelog. No specific community channels (e.g., Discord, Slack) or notable contributors are listed in the README.

Licensing & Compatibility

The project is released under the permissive MIT License, allowing for broad adoption, commercial use, and integration into closed-source projects without significant restrictions.

Limitations & Caveats

The README does not explicitly detail limitations, alpha status, or known bugs. While extensive, the auto-detection of project types might require manual configuration via .ast-index.yaml for complex monorepos or non-standard project structures.

Health Check
Last Commit

2 days ago

Responsiveness

Inactive

Pull Requests (30d)
8
Issues (30d)
6
Star History
244 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.