gdm: AI coding agent for professional developers
Project description
gdm — Open-Source 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
pipx install gdmcode
gdm version
gdm login grok # or: gemini | codex
cd my-project && gdm "fix the login bug"
If you cannot reach a model provider directly, start gdm and run /proxy, then paste the relay token with /proxy token. The provider API key stays encrypted locally; the relay should not persist provider keys.
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.
- Open source and auditable — MIT licensed, hash-chained audit log, team policy enforcement.
Feature status
| Feature | Status | Task(s) |
|---|---|---|
| Multi-model routing (Grok / Gemini / Codex) | ✅ implemented | models-001/002/005 |
| Local model support — Ollama / vLLM | ✅ implemented | 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 | ✅ implemented | autonomous-002 |
| Self-healing debug loop | ✅ implemented | autonomous-004 |
| Multi-file orchestration | ✅ implemented | autonomous-001 |
| Impact analysis gate | ✅ implemented | autonomous-005 |
| Autonomy slider — 5 levels | ✅ implemented | ide-004 |
| VS Code extension | ✅ implemented | ide-001/002/003 |
| Voice interface (PTT + streaming) | ✅ implemented | voice-001/002/003 |
| Remote / LAN server + phone UI | ✅ implemented | remote-001/002/003 |
| Chrome extension + bridge | ✅ implemented | extensions-002 |
| MCP protocol server | ✅ implemented | integrations-003 |
| GitHub Actions CI integration | ✅ implemented | integrations-001 |
| Playwright browser automation | ✅ implemented | 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 | ✅ implemented | moonshot-006 |
| Impact graph smart test selection | ✅ implemented | moonshot-007 |
| CI eval pipeline | ✅ implemented | evals-002 |
| Continuous memory | ✅ implemented | memory-003 |
| Proxy/relay mode (geo-restricted regions) | ✅ implemented | proxy-001 |
| OIDC identity integration | 📋 planned | — |
Installation
Recommended (isolated environment):
pipx install gdmcode
pip:
pip install gdmcode
Development install:
git clone https://github.com/guidegdm/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 | codex | all
Secrets are stored in the OS keychain — never in TOML files.
Interactive setup is also available inside gdm with /login, /logout, and /proxy. First launch without credentials shows onboarding instead of starting model agents; type a normal message like hey to test the connected LLM.
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 guidegdm
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.3.52.tar.gz.
File metadata
- Download URL: gdmcode-0.3.52.tar.gz
- Upload date:
- Size: 594.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e7f9ce3a2579f6f67d938c421e740b0494ef7680e18dd9bb9b8387e18363a2c3
|
|
| MD5 |
878a10d1d6b4c44f91f4930033e7f14e
|
|
| BLAKE2b-256 |
a1179deb3ca55a44e0935113156fd790a787eab007c5189ff980adb374173715
|
File details
Details for the file gdmcode-0.3.52-py3-none-any.whl.
File metadata
- Download URL: gdmcode-0.3.52-py3-none-any.whl
- Upload date:
- Size: 411.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a68905ff44a87e9a67438f2f6d340d69c6693212663fec5c2e10328c680d1934
|
|
| MD5 |
1eb58c92350c20704ae0ca4368125cf9
|
|
| BLAKE2b-256 |
9650f4870152df6d98bdc3911464cd48141b91b166d497f3b2d7325e71ebbac3
|