Metadata-Version: 2.4
Name: dev-agents
Version: 0.9.1
Summary: AI Agents for Agile Dev Teams
Author-email: Dev Agents Team <dev@codeligence.com>, Juri Kuehn <juri@codeligence.com>
Maintainer-email: Juri Kuehn <juri@codeligence.com>
License-Expression: AGPL-3.0
Project-URL: Homepage, https://github.com/codeligence/dev-agents
Project-URL: Bug Tracker, https://github.com/codeligence/dev-agents/issues
Project-URL: Documentation, https://docs.dev-agents.ai
Project-URL: Repository, https://github.com/codeligence/dev-agents
Project-URL: Source Code, https://github.com/codeligence/dev-agents
Keywords: ai,agents,pydantic-ai,slack,azure-devops,automation,development,testing,impact-analysis,git,llm,chatbot
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Quality Assurance
Classifier: Topic :: Software Development :: Testing
Classifier: Topic :: Communications :: Chat
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Typing :: Typed
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: python-dotenv<2.0.0,>=1.0.1
Requires-Dist: pyyaml<7.0.0,>=6.0.2
Requires-Dist: dynaconf<4.0.0,>=3.2.11
Requires-Dist: jinja2<4.0.0,>=3.1.6
Requires-Dist: pydantic-ai~=0.7.3
Requires-Dist: beautifulsoup4~=4.13.5
Requires-Dist: fastapi~=0.116.1
Provides-Extra: slack
Requires-Dist: slack_sdk<4.0.0,>=3.19.5; extra == "slack"
Provides-Extra: azure
Requires-Dist: azure-devops<8.0.0,>=7.1.0b4; extra == "azure"
Provides-Extra: prod
Requires-Dist: dev-agents[azure,slack]; extra == "prod"
Provides-Extra: dev
Requires-Dist: pytest<9.0.0,>=8.4.1; extra == "dev"
Requires-Dist: pytest-asyncio<1.0.0,>=0.21.0; extra == "dev"
Requires-Dist: pytest-cov<7.0.0,>=4.1.0; extra == "dev"
Requires-Dist: pytest-mock<4.0.0,>=3.11.0; extra == "dev"
Requires-Dist: pytest-html<5.0.0,>=4.1.0; extra == "dev"
Requires-Dist: pytest-benchmark<6.0.0,>=4.0.0; extra == "dev"
Requires-Dist: pytest-xdist<4.0.0,>=3.3.0; extra == "dev"
Requires-Dist: black<25.0.0,>=23.0.0; extra == "dev"
Requires-Dist: isort<6.0.0,>=5.12.0; extra == "dev"
Requires-Dist: mypy<2.0.0,>=1.5.0; extra == "dev"
Requires-Dist: ruff<1.0.0,>=0.1.0; extra == "dev"
Requires-Dist: pre-commit<5.0.0,>=4.3.0; extra == "dev"
Requires-Dist: radon<7.0.0,>=6.0.1; extra == "dev"
Requires-Dist: xenon<1.0.0,>=0.9.0; extra == "dev"
Requires-Dist: vulture<3.0.0,>=2.10; extra == "dev"
Requires-Dist: mccabe<1.0.0,>=0.7.0; extra == "dev"
Requires-Dist: bandit[toml]<2.0.0,>=1.7.5; extra == "dev"
Requires-Dist: safety<4.0.0,>=3.0.0; extra == "dev"
Requires-Dist: pip-audit<3.0.0,>=2.6.0; extra == "dev"
Requires-Dist: semgrep<2.0.0,>=1.45.0; extra == "dev"
Requires-Dist: docformatter<2.0.0,>=1.7.0; extra == "dev"
Requires-Dist: interrogate<2.0.0,>=1.5.0; extra == "dev"
Requires-Dist: coverage[toml]<8.0.0,>=7.3.0; extra == "dev"
Requires-Dist: coverage-badge<2.0.0,>=1.1.0; extra == "dev"
Requires-Dist: genbadge[coverage,tests]<2.0.0,>=1.1.0; extra == "dev"
Requires-Dist: diff-cover<10.0.0,>=8.0.0; extra == "dev"
Requires-Dist: pipdeptree<3.0.0,>=2.13.0; extra == "dev"
Requires-Dist: piprot<1.0.0,>=0.9.11; extra == "dev"
Requires-Dist: commitizen<4.0.0,>=3.25.0; extra == "dev"
Requires-Dist: gitpython<4.0.0,>=3.1.40; extra == "dev"
Requires-Dist: py-spy<1.0.0,>=0.3.14; extra == "dev"
Requires-Dist: memory-profiler<1.0.0,>=0.61.0; extra == "dev"
Requires-Dist: psutil<6.0.0,>=5.9.0; extra == "dev"
Provides-Extra: docs
Requires-Dist: mkdocs<2.0.0,>=1.6.1; extra == "docs"
Requires-Dist: mkdocs-material<10.0.0,>=9.6.17; extra == "docs"
Requires-Dist: mkdocstrings[python]<1.0.0,>=0.30.0; extra == "docs"
Requires-Dist: mkdocs-git-revision-date-localized-plugin<2.0.0,>=1.4.7; extra == "docs"
Requires-Dist: mkdocs-minify-plugin<1.0.0,>=0.8.0; extra == "docs"
Requires-Dist: mkdocs-social-plugin<1.0.0,>=0.1.0; extra == "docs"
Requires-Dist: pymdown-extensions<11.0.0,>=10.16.1; extra == "docs"
Requires-Dist: cairosvg<3.0.0,>=2.8.2; extra == "docs"
Requires-Dist: mike<3.0.0,>=2.1.3; extra == "docs"
Requires-Dist: griffe<2.0.0,>=1.12.1; extra == "docs"
Requires-Dist: mkdocs-autorefs<2.0.0,>=1.4.2; extra == "docs"
Requires-Dist: mkdocs-redirects<2.0.0,>=1.2.2; extra == "docs"
Requires-Dist: mkdocs-include-markdown-plugin<8.0.0,>=7.1.6; extra == "docs"
Provides-Extra: all
Requires-Dist: dev-agents[azure,dev,docs,slack]; extra == "all"
Dynamic: license-file

<div align="center">
  <h1>Codeligence Dev Agents</h1>
  <p><b>You have your copilot, but what about the agile team work outside the IDE? Dev Agents handle the nasty grind outside your IDE: docs, reviews, debugging, logs & delivery, so you peacefully focus on building.</b></p>
  
  <br>

  <a href="https://setup.dev-agents.ai"><b>Setup Wizard</b></a>
  ·
  <a href="#quick-start">Quick start</a>
  ·
  <a href="https://docs.dev-agents.ai">Docs</a>
  ·
  <a href="#included-agents">Included agents</a>
  ·
  <a href="#license">License</a>
  <br><br>

![Build Status](https://img.shields.io/badge/build-passing-brightgreen.svg)
[![Version](https://img.shields.io/badge/version-0.9.1-blue.svg)](https://pypi.org/project/dev-agents/)
[![License](https://img.shields.io/badge/license-AGPL--3.0-blue.svg)](https://github.com/codeligence/dev-agents/blob/main/LICENSE.md)
[![Python](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)
[![Code Quality](https://img.shields.io/badge/code%20quality-black%20%7C%20%20ruff%20%7C%20mypy%20%7C%20bandit-brightgreen.svg)](https://shields.io)

</div>


**Core idea:** one consistent, named AI teammate (e.g. “Betty Sharp”) embedded into Slack, GitHub, DevOps, Jira, Console & more - automating tedious, repeatable tasks around your codebase.

Build using the elegant [Pydantic AI](https://ai.pydantic.dev/) framework.

## Why use Dev Agents

* **Dev AI Avatar** – one persona, many skills; shows up across your stack with a single voice.
* **Open-source** – free under **AGPLv3**; commercial license available for closed-source deployments & enterprise support.
* **LLM-flexible** – works with major hosted or local models.
* **Ready now** – 4 production agents live; more being ported from customer projects.
* **Easily Customizable** – Easily add more use cases or customizations by extending base classes and implementing protocols.
* **Fast setup** – guided onboarding at **[setup.dev-agents.ai](setup.dev-agents.ai)**; run locally or on your server.
* **Built for teams** – shines with **5+ devs** and complex, evolving codebases where docs, compliance & handovers matter.
* **Context and Integrations for Dev Teams.** While it works similarly to Claude Code or Gemini CLI, Dev Agents provide you with pre-engineered, dev specific contexts, prompts, and integrations for reproducible, cost-efficient results and a quick start.

## Quick start

1. Option: **Run the Setup Wizard:** [https://setup.dev-agents.ai](https://setup.dev-agents.ai)
   Generates your config and start instructions for local or server deployment.
2. Option: **Use Docker**:

```bash
# 1) Get example env and edit
wget -O .env https://raw.githubusercontent.com/codeligence/dev-agents/refs/heads/main/.env.example

# 2) Run the CLI Chat in the docker container
docker run --rm -it --env-file=.env -v ./your-cloned-git-repo:/code codeligence/dev-agents
```

You need to mount your cloned Git repository into the container so that Dev Agents can work with the code.

6. Option: **Clone and run**:

```bash
# 1) Clone
git clone https://github.com/codeligence/dev-agents.git
cd dev-agents

# 2) Copy example env and edit
cp .env.example .env

# 3) See src/entrypoints for possible interfaces. Start with command line, try Slack or AG-UI next
pip install -e .[all]
python -m entrypoints.cli_chat
```

Then interact in your tools (e.g. Slack):
`@DevAgents release notes for pull request 123 please`

## Included agents

* **Release Notes & Changelog** – turns merged PRs into clear notes for products/libs.
* **PR Review & Guideline Checker** – design patterns, conventions, risk flags.
* **UI Impact / Test-Notes** – maps diffs to flows; creates actionable test notes.
* **User Story Writer** – improves stories with concrete, testable detail.

_We’re currently porting more use cases from our customer deployments:_

* **Prod Log Root-Cause Analysis** – surfaces likely cause, links to code, suggests fixes.
* **Support Reply Drafts** – proposes informed responses from logs/context.
* **Code Migration Assistant** – highlights cross-repo impacts for framework/library jumps.

## Who it’s for

* Engineering teams **5+ devs** on long-lived, multi-gen codebases
* Teams with **documentation/compliance/support** overhead
* CTOs who want to **multiply output** while protecting developer focus

## Interfaces & Integrations

**Interfaces**

- **Slack** • **Teams** • **AG-UI** • **MCP** • **CLI** • **A2A**
- Add more easily
    
**Integrations**

- **Git providers:** GitHub / GitLab / Azure DevOps
- **Issues/PM:** Jira, GitHub Issues, GitLab Issues
- **Observability:** ELK / Loki / Files (others via MCP/tools)
- **Models:** All major providers and local LLMs
- Add more easily

## License

Core is **AGPLv3** (free). Commercial license available for closed-source deployments, enterprise support, onboarding, and SLAs.

Contact [Codeligence Sales](mailto:sales@codeligence.com) for more info.
