Skip to main content

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.

Release PyPI License: MIT


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.toml enforces 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gdmcode-0.3.4.tar.gz (576.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gdmcode-0.3.4-py3-none-any.whl (395.5 kB view details)

Uploaded Python 3

File details

Details for the file gdmcode-0.3.4.tar.gz.

File metadata

  • Download URL: gdmcode-0.3.4.tar.gz
  • Upload date:
  • Size: 576.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for gdmcode-0.3.4.tar.gz
Algorithm Hash digest
SHA256 e8c329c53ce647ffd4c2eda9c9f39a67852a2ad38a754d70a78fc6500b390e6f
MD5 79b15989e8f4bbe603433ee93ebb4991
BLAKE2b-256 5f8f8d900f45b67e4f32683478890b8c6d16bd8fd4bad384195754d89f2788a3

See more details on using hashes here.

Provenance

The following attestation bundles were made for gdmcode-0.3.4.tar.gz:

Publisher: release.yml on guidegdm/gdmcode

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gdmcode-0.3.4-py3-none-any.whl.

File metadata

  • Download URL: gdmcode-0.3.4-py3-none-any.whl
  • Upload date:
  • Size: 395.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for gdmcode-0.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 8094e0a14e9dc2c1e48ea2774488c3154a2341a5afa06ba33adcb048af1ff7a3
MD5 f67c8e0fe1974522548cb9e0887cdc05
BLAKE2b-256 5e11a58771ec1c60eb00331ce2384302b2460262e50ec8eb6717a84e99d31e17

See more details on using hashes here.

Provenance

The following attestation bundles were made for gdmcode-0.3.4-py3-none-any.whl:

Publisher: release.yml on guidegdm/gdmcode

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 Pingdom Monitoring Sentry Error logging StatusPage Status page