newsence
來源篩選

Show HN: Dora – Query Codebase Dependency Graphs from SQLite (for AI Agents)

Hacker News

Dora is a new CLI tool designed for AI agents to efficiently navigate and understand codebases. It leverages SQLite to query dependency graphs, offering a more structured and token-efficient alternative to traditional tools like grep, find, and glob.

newsence

Show HN:Dora - 從 SQLite 查詢程式碼庫依賴圖(適用於 AI 代理)

Hacker News
大約 1 個月前

AI 生成摘要

Dora 是一款專為 AI 代理設計的新型 CLI 工具,旨在高效地導航和理解程式碼庫。它利用 SQLite 查詢依賴圖,為 grep、find 和 glob 等傳統工具提供了一種更結構化、更節省 token 的替代方案。

GitHub - butttons/dora: CLI built for AI agents to help navigate codebases better. An alternative to grep/find/glob

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

To see all available qualifiers, see our documentation.

CLI built for AI agents to help navigate codebases better. An alternative to grep/find/glob

License

butttons/dora

Folders and files

Latest commit

History

Repository files navigation

dora - Code Context CLI for AI Agents

Stop wasting tokens on grep/find/glob. Give your AI agent fast, structured code intelligence.

Features

See It In Action

Typical Workflow Without dora

Image

With dora CLI

Image

System Requirements

Installation

Option 1: Download Pre-built Binary (Recommended)

Download the latest binary for your platform from the releases page:

Option 2: Build from Source

Install SCIP Indexer

You'll need a SCIP indexer for your language. For TypeScript/JavaScript:

For other languages, see SCIP Indexers.

AI Agent Integration

→ See AGENTS.md for complete integration guides for:

Quick start for any agent:

Claude Code Integration

dora integrates with Claude Code via settings and optional skill configuration. Just add these files to your project:

  1. Add to .claude/settings.json (enables auto-indexing and permissions):

  2. (Optional) Add the dora skill at .claude/skills/dora/SKILL.md:

After running dora init, create a symlink:

This enables the /dora command in Claude Code. View the skill file.

  1. Add to CLAUDE.md (after running dora init):

This gives Claude quick access to dora commands and guidance on when to use dora for code exploration. The snippet includes command reference and best practices.

  1. Initialize dora:

What this gives you:

Troubleshooting:

Quick Start

1. Initialize

This creates a .dora/ directory with a default config.

2. Configure Commands

Edit .dora/config.json to configure your SCIP indexer:

For TypeScript/JavaScript:

For Rust:

3. Index Your Codebase

4. Try It Out

5. Example Workflow

6. Learn Custom Queries

New to dora? The cookbook has recipes with real examples:

All recipes include tested SQL patterns from real codebases.

Commands Overview

Setup & Status

Code Navigation

Documentation

Architecture Analysis

Advanced Queries

Command Reference

Quick reference for all commands with common flags:

Setup Commands

Code Navigation

Documentation

Architecture Analysis

Advanced Commands

SCIP Indexers

Output Format

All commands output valid JSON to stdout. Errors go to stderr with exit code 1.

Debug Logging

For debug logging, testing, building, and development instructions, see CONTRIBUTING.md.

Troubleshooting

Common Issues

Integration Issues

Claude Code index not updating:

Stop hook not firing:

Want to see indexing progress:

Performance Issues

Index takes too long:

Queries are slow:

Contributing

Contributions are welcome! For development setup, testing, building binaries, and code style guidelines, see CONTRIBUTING.md.

Quick start:

For detailed architecture and development guidelines, see CLAUDE.md.

License

MIT

Links

About

CLI built for AI agents to help navigate codebases better. An alternative to grep/find/glob

Topics

Resources

License

Contributing

Uh oh!

There was an error while loading. Please reload this page.

Stars

Watchers

Forks

Releases

12

Contributors

3

Uh oh!

There was an error while loading. Please reload this page.

Languages

Footer

Footer navigation