Skip to content

Depcon v0.1.0

Latest

Choose a tag to compare

@github-actions github-actions released this 11 Jun 18:27

⬡ Depcon

AI-powered pre-commit validation — catch broken services before the commit lands

Python 3.11+
Gemini
Dynatrace
License: MIT


🚀 What is Depcon?

Depcon is a pre-commit hook that spins up your service in Docker, runs smoke tests against it, and uses a Gemini AI agent to diagnose failures via the Dynatrace MCP Server — blocking bad commits with a root cause and a one-command fix.

git commit
    ↓
Docker starts your service  →  Smoke tests run
    ↓ (on failure)
Gemini + Dynatrace MCP diagnose the root cause
    ↓
✗ Commit blocked  —  depcon fix apply  —  git commit ✓

📦 Installation

Requires Python 3.11+ and Node.js 18+ (for the Dynatrace MCP server)

Option A — pip

pip install git+https://github.com/urvigupta-05/depcon

Option B — uv tool (isolated environment, recommended)

uv tool install git+https://github.com/urvigupta-05/depcon

Option C — wheel from this release

Download depcon-0.1.0-py3-none-any.whl from the assets below ↓ then:

pip install depcon-0.1.0-py3-none-any.whl

Verify the install:

depcon --help

⚡ Quick Start

1. Configure credentials

# In the repo you want to protect:
cp /path/to/depcon/.env.example .env
# Fill in: DT_ENVIRONMENT, DT_API_TOKEN, DT_OTLP_ENDPOINT, GEMINI_API_KEY

2. Create depcon.toml

depcon config init

3. Wire the pre-commit hook

# Mac / Linux
echo '#!/bin/sh
depcon run' > .git/hooks/pre-commit && chmod +x .git/hooks/pre-commit
# Windows PowerShell
"#!/bin/sh`ndepcon run" | Set-Content .git/hooks/pre-commit

4. Commit — Depcon runs automatically

git commit -m "my change"
# → Depcon starts Docker, runs smoke tests, calls Gemini if tests fail

5. Apply the suggested fix

depcon fix apply   # patches the file from the last session
git add .
git commit         # ✓ passes

🛠️ Commands

Command Description
depcon run Full validation cycle (what the hook calls)
depcon run --chaos error Force 50% failures — useful for testing
depcon run --chaos panic Crash after 3rd request
depcon run --web Open browser dashboard with live AI stream
depcon fix apply Apply the AI-suggested fix from the last session
depcon session list List past diagnosis sessions

🔧 Requirements

Requirement Notes
Python 3.11+ python.org
Docker Desktop docker.com — must be running
Node.js 18+ nodejs.org — for Dynatrace MCP server via npx
Dynatrace tenant Free trial at dynatrace.com/signup
Gemini API key Free at aistudio.google.com/apikey — starts with AIza

🏗️ Built With

Component Technology
AI Agent Google Cloud Agent Builder (ADK) + Gemini 2.0 Flash
Observability Dynatrace MCP Server (@dynatrace-oss/dynatrace-mcp-server)
Telemetry OpenTelemetry → Dynatrace OTLP
Target service FastAPI + opentelemetry-instrumentation-fastapi
Container runtime Docker Compose
CLI Python · Typer · Rich

📚 Documentation

Full setup guide, architecture details, and contributing instructions are in the README.


Made for the Google Cloud Rapid Agent Hackathon — Dynatrace Track