Skip to main content

Local-first coding agent on Google Gemini + ADK

Project description

GemCode User Manual

This document is the primary user-facing manual for GemCode. It explains the product at a high level and points to the subsystem-specific documentation pages that provide production-grade depth.

What GemCode is

GemCode is a local-first coding agent built around Google Gemini and the Google Agent Development Kit (ADK). It operates against a chosen project root and combines:

  • a configuration model
  • a runtime runner
  • a root language-model agent
  • a configurable tool inventory
  • project-local state under .gemcode/

GemCode is designed for repository-native work rather than copy-paste chat workflows.

Runtime modes

Mode Purpose
One-shot CLI Single prompt/response runs
REPL Stateful terminal interaction
TUI Scrollback terminal UI over the REPL runtime
IDE stdio Editor integration over JSONL stdin/stdout
Kaira Priority-queue scheduler for background jobs
Live audio (future scope) Planned: microphone-driven Gemini Live sessions (currently experimental/unreliable)

Recommended reading order

1. Setup and first use

2. Interactive use

3. Configuration and local assets

4. Tooling and safety model

5. Optional capability bundles

6. Integrations

7. Operations and release

8. .gemcode/ state reference

9. Architecture deep dive

Quickstart

Install

cd gemcode
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install -e ".[dev]"

Set your API key

export GOOGLE_API_KEY="your-key"

Start GemCode against a project

gemcode -C /path/to/project

One-shot run

gemcode -C /path/to/project "Explain this repository"

Mutating run

gemcode -C /path/to/project --yes "Fix the failing tests"

Essential concepts

Project root

Every GemCode run is anchored to a project root. This determines:

  • what files are visible
  • where .gemcode/ state is stored
  • what instruction files are loaded
  • which repo-local assets are active

.gemcode/

GemCode stores project-local state under .gemcode/, including:

  • sessions
  • logs
  • artifacts
  • memory
  • skills
  • rules
  • output styles
  • hooks
  • integration config

Reference:

Project instruction files

GemCode supports project instruction files loaded by the agent layer. The live code treats gemcode.md as the primary project instruction file and supports GEMINI.md as a compatibility path.

Reference:

GemSkills

GemSkills are reusable prompt playbooks stored under:

  • .gemcode/skills/<name>/SKILL.md
  • ~/.gemcode/skills/<name>/SKILL.md

They support:

  • creation
  • session loading
  • one-shot invocation
  • iterative editing

Permissions

GemCode combines:

  • workspace trust
  • permission mode
  • allow/deny settings
  • blanket approval flags
  • interactive approval prompts

Reference:

Super mode (fully autonomous)

Use when you want GemCode to run without GemCode’s own confirmation prompts (mutations, shell, ADK confirmation handoffs, AFC stdin prompt, attachment gate, auto-trust on CLI, and non-interactive get_user_choice = first option).

  • CLI: gemcode -C . --super "your task"
  • Env: GEMCODE_SUPER_MODE=1
  • REPL/TUI: /super (use /super off to clear the flag only)
  • Kaira: gemcode kaira -C . --super

Details and safety notes: ../docs/tools-and-permissions.md.

Common commands

Inspect models

gemcode models

Start the REPL

gemcode -C .

Attach a file to a one-shot turn

gemcode -C . --attach ./report.pdf "Summarize this"

Run the scheduler

gemcode kaira -C .

Orchestration (Kaira + org delegation)

Docs:

  • ../docs/orchestration.md

In one terminal:

gemcode kaira -C .

In another terminal:

gemcode -C .

Then in the REPL/TUI:

/org tree
/org hire verifier "QA / test planner" subagent gemcode "Find risks, propose tests, review plans."
/org assign verifier "Review the plan and propose tests"
/kaira jobs
/kaira follow <job_id_prefix>

Start the IDE bridge

gemcode ide --stdio

Run live audio

gemcode live-audio -C .

Status note:

  • live-audio is currently experimental and may fail due to upstream Gemini Live availability/reliability (for example transient 1011 internal errors).
  • Treat this as future scope for production workflows.

REPL command highlights

Command Purpose
/help Command summary
/status Model, capabilities, context, and runtime telemetry
/context Context pressure and prompt budget telemetry
/cost Token and cost estimate summary
/attach Queue file attachments for the next turn
/trust Manage workspace trust
/init Generate project instructions
/skills List skills
/gemskill Load a skill into the session prompt
/style Set session output style
/rules Inspect active rules
/diff Show current diff/checkpoint diff
/rewind Restore checkpoints
/review Run a review workflow
/eval Run evaluation gates
/kaira Show scheduler usage help
/super Super mode: auto-approve tools, no GemCode HITL · /super off

Detailed behavior:

Capability overview

Capability What it adds
Deep research research-focused tool routing and optional dedicated model path
Embeddings semantic search and optional embedding-backed memory
Memory retrieval-oriented persistent memory
Browser/computer use Playwright-backed browser automation and inspection
Live audio Gemini Live microphone sessions

Detailed behavior:

Integrations overview

Integration Entry point
IDE bridge gemcode ide --stdio
Web/SSE documented in docs/web-ui-contract.md
MCP .gemcode/mcp.json
OpenAPI .gemcode/openapi/

Detailed behavior:

Release and maintenance

Package version lives in:

  • gemcode/pyproject.toml

Release operations, troubleshooting, and PyPI workflow are documented in:

Documentation policy

This manual is intentionally concise. The detailed production documentation lives under docs/ and is organized by subsystem and operator concern so it can stay accurate as GemCode evolves.

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

gemcode-0.3.110.tar.gz (288.2 kB view details)

Uploaded Source

Built Distribution

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

gemcode-0.3.110-py3-none-any.whl (315.8 kB view details)

Uploaded Python 3

File details

Details for the file gemcode-0.3.110.tar.gz.

File metadata

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

File hashes

Hashes for gemcode-0.3.110.tar.gz
Algorithm Hash digest
SHA256 5129a00d3c6fb8a0a7e8e1ac585241171591aea64b9919da17fde0f2c295061e
MD5 78e86b1f00946b123a7ec7389b53e13a
BLAKE2b-256 01b867fefaf4720ad92637490f0d257dab6a4e5e74bd05ca973d9c5b9979d20a

See more details on using hashes here.

Provenance

The following attestation bundles were made for gemcode-0.3.110.tar.gz:

Publisher: publish-pypi.yml on Veoksha/GemCode

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

File details

Details for the file gemcode-0.3.110-py3-none-any.whl.

File metadata

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

File hashes

Hashes for gemcode-0.3.110-py3-none-any.whl
Algorithm Hash digest
SHA256 644591f9c4534ffddc466c2da965e8930c77ad2bc180bfde24a0ef2ad3dc73f8
MD5 a699e99f01d171f8469437c65e60cd4d
BLAKE2b-256 7ef7d8d6473a0cb0afda4d239426ae9817b72188d9cf8184713d7849a1fb7dc8

See more details on using hashes here.

Provenance

The following attestation bundles were made for gemcode-0.3.110-py3-none-any.whl:

Publisher: publish-pypi.yml on Veoksha/GemCode

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