Skip to main content

🚀 DevAgent

AI development agent for specification-to-code implementation.

PyPI version Python Versions License MCP

DevAgent bridges the gap between your project specifications (GitHub Issues, Markdown specs, or plain text) and your actual codebase. It leverages local LLMs and the Model Context Protocol (MCP) to automate impact analysis, highlighting exactly what exists, what needs extending, and what is missing.


✨ Features

  • 🧠 Automated Gap Analysis: Automatically compares new specs against your existing codebase and categorizes requirements:
    • Reuse: Code already exists.
    • ⚠️ Extend: Code exists but needs modification.
    • Conflict: Requirement contradicts existing logic.
    • 🔨 Net New: Entirely new implementation required.
  • 🔒 Local & Private: Fully supports running locally via Ollama and local ChromaDB embeddings. Your code never has to leave your machine.
  • 🔌 Model Context Protocol (MCP): Leverages official MCP servers to safely read your filesystem and fetch GitHub issues, alongside custom Python MCP servers for AST parsing and semantic RAG.
  • ⏱️ Effort Estimation & Planning: Uses heuristic baselines and LLM reasoning to estimate implementation hours and suggest an optimal implementation order.
  • 🎨 Beautiful Output: Renders beautiful Rich terminal UI interfaces and persists detailed Markdown reports for your team.

🛠️ Architecture

DevAgent uses a multi-agent LangGraph pipeline orchestrated via MCP:

graph TD
    Spec[Spec Source: GitHub, Markdown, Text] --> Parser[SpecParser Agent]
    Parser --> Context[Web Context via Brave/SearchX]
    Parser --> Reqs[Extracted Atomic Requirements]
    Reqs --> Inventory[CodeInventory Agent]
    Inventory <--> Chroma[(ChromaDB Vector Store)]
    Inventory --> Gap[Requirement Classifications]
    Gap --> Reporter[GapReport Agent]
    Reporter --> UI[Rich Terminal UI & Markdown Report]
    
    style Parser fill:#f9f,stroke:#333,stroke-width:2px
    style Inventory fill:#bbf,stroke:#333,stroke-width:2px
    style Reporter fill:#dfd,stroke:#333,stroke-width:2px

🚀 Installation

DevAgent is a Python CLI tool. The recommended way to install it is via pipx to keep its dependencies isolated:

pipx install devagent

(Alternatively, you can install it globally or in a virtual environment using pip install devagent).

⚠️ System Requirements

Because DevAgent utilizes official Model Context Protocol (MCP) servers under the hood, you must have Node.js installed on your machine.


⚙️ Configuration & Setup

Before analyzing your first project, initialize the global configuration:

devagent init

This interactive prompt will help you set up:

  • LLM Provider: Choose between Ollama (local), Groq, Anthropic, OpenAI, or Gemini.
  • GitHub Token: (Optional) Required if you want DevAgent to fetch specs directly from GitHub Issues.
  • Search Provider: (Optional) Brave or SearchX for gathering web context on implementation patterns.

You can always view or modify your config later using devagent config --show or devagent config --set key=value.


💻 Usage Guide: Analyzing a GitHub Issue

The most powerful way to use DevAgent is to point it directly at a GitHub Issue. It will fetch the issue description, analyze your local codebase, and tell you exactly what you need to do to implement it.

Step 1: Add your GitHub Token

First, ensure you have set your GitHub Personal Access Token in your configuration so DevAgent can read from the GitHub API.

# You can set it interactively via 'devagent init' or directly:
devagent config --set github.token=ghp_your_token_here

# Optionally, set a default repository to save typing later
devagent config --set github.default_repo=octocat/Hello-World

Step 2: Index your Local Codebase

Navigate to the root directory of the codebase on your machine and build the semantic search index. This maps your code into a local vector database.

cd /path/to/your/project
devagent index

Note: DevAgent automatically respects your .gitignore files. You can run this command anytime your code changes to perform a fast incremental update.

Step 3: Run the Analysis

Pass the GitHub Issue number to the analyze command. DevAgent will download the issue, extract the requirements, cross-reference them with your code, and generate a gap report.

# If you set a default_repo in config:
devagent analyze --issue 42

# Or specify the repo directly:
devagent analyze --issue 42 --repo octocat/Hello-World

DevAgent will output a detailed, color-coded report to your terminal and save a Markdown copy (e.g., issue-42-2026-08-09-153000.md) in your local reports folder.


📝 Other Usage Modes

DevAgent can also analyze local files or raw text:

# Analyze a local spec file
devagent analyze --spec ./docs/new_feature.md

# Analyze inline text
devagent analyze --text "Add a new user authentication endpoint supporting OAuth2."

Manage Reports

View previously generated reports for the current project:

# List all saved reports
devagent reports

# View a specific report in the terminal
devagent reports --show issue-42

Semantic Search

Need to quickly find where something is implemented? Use the standalone semantic search:

devagent search "user authentication logic"

🩺 Troubleshooting

If you run into issues with dependencies or services, run the built-in doctor command to check the health of your environment:

devagent doctor

🤝 Contributing

Contributions are welcome! Please check out the issues page or submit a pull request.

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

devagent-0.2.0.tar.gz (52.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

devagent-0.2.0-py3-none-any.whl (60.8 kB view details)

Uploaded Python 3

File details

Details for the file devagent-0.2.0.tar.gz.

File metadata

  • Download URL: devagent-0.2.0.tar.gz
  • Upload date:
  • Size: 52.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for devagent-0.2.0.tar.gz
Algorithm Hash digest
SHA256 6781d2ce7f89b62def6ffba26be8c03563e2b74cca3907ac052f6eed85dfd73c
MD5 30edc84792aabe432876bec8bc0ef3a1
BLAKE2b-256 c296651193129ed0e3cac8a8ee321ab054a1889b71144bd9a05a99ff646d13d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for devagent-0.2.0.tar.gz:

Publisher: publish.yml on knight22-21/DevAgent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file devagent-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: devagent-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 60.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for devagent-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7c3b2319584bf42658416fa49411b62b6c9cf9595f2f39102a98a4c9a8b7d856
MD5 6bacd106a5da0e342e378656127cd1d4
BLAKE2b-256 0215aefc4499122dea60819743b6c9bd9a61df70fd1af511bec749c4d6cc6f05

See more details on using hashes here.

Provenance

The following attestation bundles were made for devagent-0.2.0-py3-none-any.whl:

Publisher: publish.yml on knight22-21/DevAgent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page