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 | GemCode terminal UI (scrollback-style; tui/scrollback.py) |
| IDE stdio | Editor integration over JSONL stdin/stdout |
| Agent Mesh | In-process multi-agent orchestration (automatic) |
| Kaira daemon | Optional always-on background scheduler |
| A2A server | Cross-machine agent communication via Google A2A protocol |
| Live audio (experimental) | Microphone-driven Gemini Live sessions |
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 also supports legacy instruction filenames for compatibility.
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 offto 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 (Agent Mesh + Multi-Agent)
GemCode includes a built-in multi-agent orchestration system that works automatically — no separate daemon required.
Key features:
- Agent Mesh — in-process concurrent agent execution with full tool access
- Event Bus — agents communicate via pub/sub (no Unix sockets needed)
- Self-Triggering Agents — agents auto-activate on events (e.g., verifier reviews completed work)
- Delegation Learning — remembers which agents succeed at which tasks
- A2A Bridge — expose/consume agents across machines via Google's A2A protocol
Quick example in the REPL:
> Analyze the auth module. Delegate security review to the verifier.
The agent calls org_delegate("verifier", ...) → mesh runs a full-power verifier agent → result flows back automatically.
Docs:
Start the IDE bridge
gemcode ide --stdio
Run live audio
gemcode live-audio -C .
Status note:
live-audiois currently experimental and may fail due to upstream Gemini Live availability/reliability (for example transient1011internal 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 parallel code review pipeline |
/eval |
Run evaluation gates |
/kaira |
Show scheduler usage help |
/super |
Super mode: auto-approve tools, no GemCode HITL · /super off |
Orchestration commands
| Command | Purpose |
|---|---|
/agent list |
Show all org members |
/agent tree |
Show org hierarchy |
/agent create |
Create a new agent member |
/agent assign <member> <task> |
Delegate work to a member |
/agent improve <member> <lessons> |
Improve a member's skill |
Detailed behavior:
Capability overview
| Capability | What it adds |
|---|---|
| Agent Mesh | In-process multi-agent orchestration (automatic, no daemon needed) |
| A2A Bridge | Cross-machine agent communication via Google A2A protocol |
| Self-Triggers | Agents auto-activate on events (verification, failure recovery) |
| Delegation Learning | Remembers successful patterns, suggests optimal routing |
| 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 (experimental) |
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
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 gemcode-0.4.0.tar.gz.
File metadata
- Download URL: gemcode-0.4.0.tar.gz
- Upload date:
- Size: 333.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
67b567bfd4109c6577cc9c7ab6c214e7dc823b47173b313d7cce7abb4a5f2709
|
|
| MD5 |
af1c7d2504fbaf542b240c0277530749
|
|
| BLAKE2b-256 |
51b45ca2d7240b6770c567c8c9a386a312687cddd1a31a26f66b52612d10d1c0
|
Provenance
The following attestation bundles were made for gemcode-0.4.0.tar.gz:
Publisher:
publish-pypi.yml on Veoksha/GemCode
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gemcode-0.4.0.tar.gz -
Subject digest:
67b567bfd4109c6577cc9c7ab6c214e7dc823b47173b313d7cce7abb4a5f2709 - Sigstore transparency entry: 1429409620
- Sigstore integration time:
-
Permalink:
Veoksha/GemCode@ea9692ff122b3009577cae213a5cae5c0f4a7845 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/Veoksha
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@ea9692ff122b3009577cae213a5cae5c0f4a7845 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gemcode-0.4.0-py3-none-any.whl.
File metadata
- Download URL: gemcode-0.4.0-py3-none-any.whl
- Upload date:
- Size: 361.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eef6d18c49f1990a80ac69d011f635f575248a74b7b8ec3b530decaa21d47b9d
|
|
| MD5 |
443c7ff7be2035c5d4c7309d401ca3cc
|
|
| BLAKE2b-256 |
b2ba469738473f591d6cc08043507c0d99e9535c6ef38b3b88ec902669e67cb2
|
Provenance
The following attestation bundles were made for gemcode-0.4.0-py3-none-any.whl:
Publisher:
publish-pypi.yml on Veoksha/GemCode
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gemcode-0.4.0-py3-none-any.whl -
Subject digest:
eef6d18c49f1990a80ac69d011f635f575248a74b7b8ec3b530decaa21d47b9d - Sigstore transparency entry: 1429409625
- Sigstore integration time:
-
Permalink:
Veoksha/GemCode@ea9692ff122b3009577cae213a5cae5c0f4a7845 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/Veoksha
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@ea9692ff122b3009577cae213a5cae5c0f4a7845 -
Trigger Event:
push
-
Statement type: