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.3.0.tar.gz (66.1 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.3.0-py3-none-any.whl (74.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for devagent-0.3.0.tar.gz
Algorithm Hash digest
SHA256 fe17ace10b25c736a99cff855a991c83fe09805f5cbc56932a7891f322e8af89
MD5 e2c61f560d92ad66b42c8db7bf19ddb5
BLAKE2b-256 cd25f71c4b67b4886720e738cfdf2995bca9cd427e4ebe177284b21d12199c75

See more details on using hashes here.

Provenance

The following attestation bundles were made for devagent-0.3.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.3.0-py3-none-any.whl.

File metadata

  • Download URL: devagent-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 74.7 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 35a4c4d70b513b4de757a703f99ec90c7b2e5e43e2ccabe4cfa752e1ba51bb4a
MD5 dd2d0d2f87fd68ac5019daa804767bbb
BLAKE2b-256 155ded71bc4bf1a9093849620867e59b01042d3ee60f140d6c0d332d8fbe9d26

See more details on using hashes here.

Provenance

The following attestation bundles were made for devagent-0.3.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