{"id":30702985,"url":"https://github.com/haasonsaas/buildli","last_synced_at":"2025-09-18T07:46:02.829Z","repository":{"id":296953130,"uuid":"995141186","full_name":"haasonsaas/buildli","owner":"haasonsaas","description":"A Rust-native command-line assistant for understanding and navigating codebases in plain English","archived":false,"fork":false,"pushed_at":"2025-06-03T03:30:46.000Z","size":49,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-06-03T15:39:25.713Z","etag":null,"topics":["cli","code-search","developer-tools","natural-language","rust"],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/haasonsaas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-03T03:09:49.000Z","updated_at":"2025-06-03T03:30:47.000Z","dependencies_parsed_at":"2025-06-03T15:39:35.682Z","dependency_job_id":"64b470b6-392c-4b23-822a-8aa4fde83c7f","html_url":"https://github.com/haasonsaas/buildli","commit_stats":null,"previous_names":["haasonsaas/buildli"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/haasonsaas/buildli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haasonsaas%2Fbuildli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haasonsaas%2Fbuildli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haasonsaas%2Fbuildli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haasonsaas%2Fbuildli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/haasonsaas","download_url":"https://codeload.github.com/haasonsaas/buildli/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haasonsaas%2Fbuildli/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273309572,"owners_count":25082545,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-02T02:00:09.530Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","code-search","developer-tools","natural-language","rust"],"created_at":"2025-09-02T16:02:13.140Z","updated_at":"2025-09-18T07:45:57.781Z","avatar_url":"https://github.com/haasonsaas.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"# buildli CLI\n\nA Rust-native command-line assistant for understanding and navigating codebases in plain English.\n\n## Features\n\n- 🔍 **Natural Language Search**: Query your codebase using plain English questions\n- 🚀 **Fast Indexing**: Parse and index code using tree-sitter for 500+ languages\n- 🧠 **Smart Embeddings**: OpenAI or local embeddings for semantic search\n- 📊 **Vector Storage**: Qdrant or local vector store for efficient retrieval\n- 🔄 **Auto-reindexing**: Watch mode for automatic updates when files change\n- 🛠️ **Bug Solver Mode** *(Coming Soon)*: Analyze bugs and get patch suggestions\n- 🌐 **API Server**: gRPC and REST endpoints for integration\n- 🔄 **Auto-update** *(Coming Soon)*: Keep buildli up to date automatically\n\n## Installation\n\n### From Source\n\n```bash\n# Clone the repository\ngit clone https://github.com/haasonsaas/buildli.git\ncd buildli\n\n# Build the release binary\ncargo build --release\n\n# Install to PATH\nsudo cp target/release/buildli /usr/local/bin/\n```\n\n### Prerequisites\n\n- Rust 1.70+ (install from https://rustup.rs)\n- Optional: Qdrant vector database for remote storage\n- Optional: OpenAI API key for embeddings\n\n## Quick Start\n\n1. **Configure buildli** (optional):\n```bash\n# Set OpenAI API key for embeddings\nbuildli config --set llm.api_key=\u003cyour-openai-key\u003e\n\n# View configuration\nbuildli config --print\n```\n\n2. **Index your codebase**:\n```bash\n# Index current directory\nbuildli index .\n\n# Index with file watching\nbuildli index . --watch\n\n# Index multiple paths\nbuildli index /path/to/project1 /path/to/project2\n```\n\n3. **Query your code**:\n```bash\n# Ask questions about your codebase\nbuildli query \"Where is the OAuth token refreshed?\"\n\n# Get more results\nbuildli query \"How does the billing system work?\" --top-k 20\n\n# Get JSON output for scripting\nbuildli query \"Find all database connections\" --json\n```\n\n## Configuration\n\nConfiguration is stored in `~/.buildli/config.toml`:\n\n```toml\n[paths]\nindex_root = [\"/home/dev/repos\"]\n\n[llm]\nprovider = \"openai\"\nmodel = \"gpt-4o-mini\"\napi_key = \"env:OPENAI_API_KEY\"\ntemperature = 0.3\n\n[vector]\nbackend = \"qdrant\"  # or \"local\"\nurl = \"http://127.0.0.1:6333\"\ncollection_name = \"buildli\"\n\n[embedding]\nprovider = \"openai\"  # or \"local\"\nmodel = \"text-embedding-3-small\"\nbatch_size = 100\n```\n\n## Current Status\n\n### ✅ Working Features\n- Natural language code search with OpenAI integration\n- Multi-language code parsing (Rust, Python, JavaScript, TypeScript, Go, Java, C/C++)\n- Persistent local vector storage\n- Configuration management\n- File watching with auto-reindexing\n- REST API server\n- gRPC API server with streaming support\n\n### 🚧 Coming Soon\n- **Bug Solver Mode**: Automated bug analysis and patch generation\n- **Auto-update**: Self-updating binary releases\n- **Repository/Language Filtering**: Filter queries by specific repos or languages\n\n## Commands\n\n### `buildli index`\nParse and embed code from specified paths.\n\n```bash\nbuildli index \u003cpaths...\u003e [OPTIONS]\n\nOptions:\n  -w, --watch          Watch for changes and auto-reindex\n  -c, --commit \u003cSHA\u003e   Index from specific commit\n  --ignore-tests       Ignore test files\n```\n\n### `buildli query`\nQuery the indexed codebase with natural language.\n\n```bash\nbuildli query \"\u003cquestion\u003e\" [OPTIONS]\n\nOptions:\n  -k, --top-k \u003cN\u003e      Number of top results (default: 10)\n  --json               Output in JSON format\n  -r, --repo \u003cREPO\u003e    Filter by repository\n  -l, --lang \u003cLANG\u003e    Filter by language\n```\n\n### `buildli bug` *(Coming Soon)*\nAnalyze and solve bugs based on description.\n\n```bash\nbuildli bug --desc \"\u003cdescription\u003e\" [OPTIONS]\n\nOptions:\n  --apply              Apply the suggested patch\n  --patch-file \u003cFILE\u003e  Save patch to file\n  --no-stream          Disable streaming output\n```\n\n*Note: This feature is under development and will be available in a future release.*\n\n### `buildli serve`\nStart the API server (HTTP and gRPC).\n\n```bash\nbuildli serve [OPTIONS]\n\nOptions:\n  -p, --port \u003cPORT\u003e    Server port (default: 8080)\n  -t, --token \u003cTOKEN\u003e  API authentication token\n```\n\nThe server starts:\n- HTTP API on the specified port (default: 8080)\n- gRPC API on port + 1 (default: 8081)\n\n### `buildli config`\nManage configuration.\n\n```bash\nbuildli config [OPTIONS]\n\nOptions:\n  --set \u003cKEY=VALUE\u003e    Set configuration value\n  --print              Print current configuration\n```\n\n### `buildli update` *(Coming Soon)*\nUpdate buildli to the latest version.\n\n```bash\nbuildli update [OPTIONS]\n\nOptions:\n  --channel \u003cCHANNEL\u003e  Release channel (default: stable)\n```\n\n*Note: Auto-update functionality is planned for a future release. For now, please update manually by pulling the latest source and rebuilding.*\n\n## API Integration\n\n### gRPC API\n\nThe gRPC API provides streaming responses for real-time interaction:\n\n```protobuf\nservice BuildliService {\n    rpc Query(QueryRequest) returns (stream QueryResponse);\n    rpc BugSolve(BugSolveRequest) returns (stream BugSolveResponse);\n    rpc IndexStatus(IndexStatusRequest) returns (IndexStatusResponse);\n}\n```\n\nConnect to the gRPC server on port 8081 (or your configured port + 1).\n\n### REST API\n\nThe REST API provides simple HTTP endpoints:\n- `GET /health` - Health check\n- `POST /v1/query` - Query the codebase\n- `GET /v1/index/status` - Get indexing status\n\n## Architecture\n\nbuildli uses a modular architecture:\n\n- **Parser**: Tree-sitter based code parsing for AST extraction\n- **Embeddings**: Pluggable embedding providers (OpenAI, local)\n- **Vector Store**: Pluggable vector stores (Qdrant, local)\n- **Query Engine**: Natural language processing with LLM integration\n- **Server**: gRPC and REST API for external integrations\n\n## Development\n\n```bash\n# Run tests\ncargo test\n\n# Run with debug logging\nRUST_LOG=debug cargo run -- query \"test query\"\n\n# Format code\ncargo fmt\n\n# Run linter\ncargo clippy\n```\n\n## License\n\nMIT","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhaasonsaas%2Fbuildli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhaasonsaas%2Fbuildli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhaasonsaas%2Fbuildli/lists"}