gdm: AI coding agent for professional developers
Project description
gdm — AI Coding Agent
A terminal-native coding agent that reads your codebase, reasons over it, and edits files autonomously — with configurable autonomy, local model support, and a full audit trail.
⚡ Quick start (30 seconds)
pipx install gdmcode
gdm version
gdm health
cd my-project && gdm "fix the login bug"
See docs/quick-start.md for a step-by-step walkthrough.
Why gdm?
- Local-model support — run fully air-gapped with Ollama or vLLM; no data leaves your machine.
- Autonomy slider — five levels from "ask everything" to "fully autonomous"; start low, build trust.
- Transparent and controllable — explicit provider/model controls, hash-chained audit log, team policy enforcement.
Feature status
Reality-checked against docs/tasks-v2.
| Feature | Status | Task(s) |
|---|---|---|
| Multi-model routing (Grok / Gemini / DeepSeek / Codex) | ✅ implemented | models-001/002/005 |
| Local model support — Ollama / vLLM | 🚧 in progress | models-003 |
| Cost tracking and budget caps | ✅ implemented | runtime-005 |
| Session checkpoint / restore | ✅ implemented | core-002/003 |
| Audit log with hash chain | ✅ implemented | enterprise-002 |
| Team configuration and policy | ✅ implemented | enterprise-001 |
| Web search (debug / research) | ✅ implemented | tools-003 |
| Code index + whole-codebase mode | ✅ implemented | memory-001/005 |
| Git workflow automation | ✅ implemented | autonomous-003 |
| Verification loop | 🚧 in progress | autonomous-002 |
| Self-healing debug loop | 🚧 in progress | autonomous-004 |
| Multi-file orchestration | 🚧 in progress | autonomous-001 |
| Impact analysis gate | 🚧 in progress | autonomous-005 |
| Autonomy slider — 5 levels | 🚧 in progress | ide-004 |
| VS Code extension | ✅ implemented | ide-001/002/003 |
| Voice interface (PTT + streaming) | 🚧 in progress | voice-001/002/003 |
| Remote / LAN server + phone UI | 🚧 in progress | remote-001/002/003 |
| Chrome extension + bridge | 🚧 in progress | extensions-002 |
| MCP protocol server | 🚧 in progress | integrations-003 |
| GitHub Actions CI integration | ✅ implemented | integrations-001 |
| Playwright browser automation | 🚧 in progress | tools-002 |
| Sub-agent parallel execution | ✅ implemented | tools-005 |
| RBAC (role-based access control) | 📋 planned | enterprise-003 |
| Usage analytics dashboard | 📋 planned | enterprise-004 |
| Hermetic sandbox | ✅ implemented | moonshot-002 |
| Patch risk scoring | 🚧 in progress | moonshot-006 |
| Impact graph smart test selection | 🚧 in progress | moonshot-007 |
| CI eval pipeline | 🚧 in progress | evals-002 |
| Continuous memory | 🚧 in progress | memory-003 |
| Proxy/relay mode (geo-restricted regions) | ✅ implemented | proxy-001 |
| OIDC identity integration | 📋 planned | — |
Installation
Prerequisite: Python 3.11+ and pip
python --version
python -m pip --version
Recommended (isolated environment):
pipx install gdmcode
pip:
pip install gdmcode
Development install:
git clone https://github.com/GedeonMatabaro/gdmcode
cd gdmcode
pip install -e ".[dev]"
gdm health
Note: The PyPI package is gdmcode. The command is gdm.
Configuration
gdm uses a 7-layer precedence system (highest wins):
CLI flags > env vars (GDM_*) > team policy > team preferences
> project .gdm/config.toml > user ~/.config/gdm/config.toml > defaults
Quick setup:
gdm login grok # or: gemini | deepseek | codex | all
gdm models # list exact provider/tier -> model IDs
gdm --provider deepseek --model reasoner code
Secrets are stored in the OS keychain — never in TOML files.
Full configuration reference: docs/configuration.md
Enterprise
gdm includes audit and governance features suitable for team deployment:
- Audit log — every tool call is logged with a hash chain for tamper detection.
- Team policy —
.gdm/team.tomlenforces autonomy caps, network allowlists, and git permissions. - RBAC — planned (enterprise-003).
See docs/security-hardening.md for deployment guidance.
Architecture
gdm runs a tool-calling agent loop: the model receives a task, selects tools from a registered registry, executes them (subject to injection checks, RBAC, and network policy), and writes the results back into context. Sessions are checkpointed to SQLite; memory is indexed for whole-codebase reasoning.
Full architecture diagram: docs/architecture.md
Contributing
See CONTRIBUTING.md. Issues and PRs welcome.
License
MIT — Copyright GedeonMatabaro
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gdmcode-0.1.2.tar.gz.
File metadata
- Download URL: gdmcode-0.1.2.tar.gz
- Upload date:
- Size: 8.9 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0077cb7603faf0de07ab4c455979603b8f63012957fc40b37257edb56ccbcc74
|
|
| MD5 |
5160fd544ae4b04480d632011af9af10
|
|
| BLAKE2b-256 |
ba5b9fde98a689d8cd28ebf324393e0c5fdb588d88336b4d00e499ebf4d7d600
|
File details
Details for the file gdmcode-0.1.2-py3-none-any.whl.
File metadata
- Download URL: gdmcode-0.1.2-py3-none-any.whl
- Upload date:
- Size: 445.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8735dc8719f10e6886814be82ed4c11cba2601457c799bb7278f477b74c0e55c
|
|
| MD5 |
265c1af55b77d70db48488ef301c39a1
|
|
| BLAKE2b-256 |
666b8b821b03e5857fa5d3f446241fb51dd47ee6019103222f43fa5d82415d53
|