ace-tool-rs  by missdeer

Codebase context engine for AI assistants

Created 2 months ago
280 stars

Top 93.1% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

ace-tool-rs is a high-performance codebase context engine implemented in Rust. It addresses the challenge of enabling AI assistants to effectively search, understand, and leverage large codebases through natural language queries. Designed for developers and AI integration, it provides real-time indexing, semantic search, and prompt enhancement, significantly improving AI's ability to generate relevant and actionable code-related insights.

How It Works

This project is a Rust implementation of a Model Context Protocol (MCP) server. It employs real-time indexing of project files, utilizing mtime caching for incremental updates and multi-threaded processing for efficiency. A core feature is its adaptive upload strategy, employing an AIMD (Additive Increase, Multiplicative Decrease) algorithm, inspired by TCP congestion control, to dynamically optimize upload concurrency and timeouts based on runtime metrics. This approach ensures high performance and efficient indexing even for large codebases.

Quick Start & Requirements

The recommended installation is via npx ace-tool-rs --base-url <API_URL> --token <AUTH_TOKEN>, which automatically downloads the appropriate binary for Windows, macOS, and Linux. Building from source requires Rust 1.70+ and can be done using cargo build --release. An API endpoint for the indexing service and an authentication token are necessary.

Highlighted Details

  • Full JSON-RPC 2.0 implementation for MCP Protocol Support.
  • Adaptive Upload Strategy (AIMD) dynamically optimizes indexing performance by adjusting concurrency and timeouts.
  • Supports over 50 programming languages and various configuration/web file types.
  • Integrates with multiple AI APIs (Claude, OpenAI, Gemini, Codex) for advanced prompt enhancement using codebase context.

Maintenance & Community

The project is authored by missdeer. Contributions are welcomed via pull requests. Specific community channels (like Discord/Slack) or a public roadmap are not detailed in the README.

Licensing & Compatibility

ace-tool-rs is dual-licensed. For non-commercial, personal, or educational use, it is available under the GNU General Public License v3.0 (GPLv3). Commercial or workplace use requires obtaining a separate commercial license by contacting missdeer@gmail.com. The GPLv3 license imposes copyleft restrictions.

Limitations & Caveats

The tool does not support nested ignore files, only processing root .gitignore and .aceignore. It has limitations on individual file size (128KB) and upload batch size (1MB). Network access to the indexing API is a requirement.

Health Check
Last Commit

2 weeks ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
3
Star History
63 stars in the last 30 days

Explore Similar Projects

Starred by Alex Yu Alex Yu(Research Scientist at OpenAI; Cofounder of Luma AI), Will Brown Will Brown(Research Lead at Prime Intellect), and
7 more.

avante.nvim by yetone

0.3%
18k
Neovim plugin emulating Cursor AI IDE for AI-driven code assistance
Created 1 year ago
Updated 2 days ago
Feedback? Help us improve.