adk-samples / adk-voice-agent
AGENTS.md11k starsChanged 44 days agoApache-2.0View on GitHub
Voice is synchronous and short-lived; coding work is slow and stateful. Combined naively:
- Reads credentials
1 other project uses a version of this.
Trending
More talk lately.about the whole repository
Most recently taken up by
- google/adk-recipesword for word, first seen Nov 8, 2026
Who's talking about google/adk-samples
- @stephanjanssen.be“Google just open sourced a Python Agent Development Kit @ github.com/google/adk-p... Native Streaming and …”Bluesky · Apr 9, 2025 · 12 likes
- google/adk-python“stream_query and HTTP Streaming to Vertex AI Agent Return Empty/Exhausted Responses (Works via ADK Web)”GitHub · Jul 8, 2025 · 5 reactions
- google/adk-recipes“Support running agents fully locally without Vertex AI (offline mode)”GitHub · Apr 14, 2025 · 4 reactions
- google/adk-recipes“[BUG]: Deployment of Data Science agent to Agent Engine fails ”GitHub · Oct 1, 2025 · 3 reactions
- A Hacker News story“CaMeL-Powered Secure Agent Demo with ADK”Hacker News · Aug 9, 2025 · 3 points
The biggest 5 of 32 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 32
Talked about on GitHub, Bluesky, Hacker News and Stack Overflow (32 times).
On GitHub · 23
- Jul 8, 2025stream_query and HTTP Streaming to Vertex AI Agent Return Empty/Exhausted Responses (Works via ADK Web) — google/adk-python5 reactions
- Apr 14, 2025Support running agents fully locally without Vertex AI (offline mode) — google/adk-recipes4 reactions · 7 comments
- Oct 1, 2025[BUG]: Deployment of Data Science agent to Agent Engine fails — google/adk-recipes3 reactions · 1 comment
- Oct 28, 2026docs: fix 5 broken internal anchor links and 1 dead external link — google-gemini/gemini-cli1 reaction · 4 comments
- Oct 20, 2026Update adk-samples references and python/agents discovery paths for google/adk-recipes restructure — google/agents-cli1 reaction · 2 comments
18 more on GitHub
- Oct 12, 2026list: scan the template dir we cloned, not the clone root — GoogleCloudPlatform/agent-starter-pack1 reaction
- Feb 12, 2026interrupted sometimes didn't work — google/adk-python1 reaction · 10 comments
- Jan 8, 2026Implement 5 ADK agent projects that can be easily run by newbies — addyosmani/adk-product-engineers1 reaction
- Nov 20, 2025[BUG]: deep-search/gemini-fullstack: Wrong prompt to access session state — google/adk-recipes1 reaction
- Jun 21, 2025unable to import StdioServerParameters — google/adk-recipes1 reaction · 2 comments
- Jun 17, 2025VertexAiRagRetrieval needs llama-index package — google/adk-recipes1 reaction · 3 comments
- Jun 5, 2025Bug: display_name in file uploads causes error with Google.GenAI backend (non-Vertex) — google/adk-python1 reaction · 6 comments
- May 18, 2025Missing Image — google/adk-recipes1 reaction
- Apr 11, 2025Duplicate key name — google/adk-recipes1 reaction · 1 comment
- Oct 18, 2026Fix(audit,#17387): Day4 Track2 tranche 1 -- Lab8/Lab9 reformulations honnetes, cures accents — jsboige/CoursIA0 reactions · 14 comments
- Sep 17, 2026Rename sample references to recipe across repository — google/adk-recipes0 reactions
- Sep 12, 2026docs(deep-search): fix cloud deployment instructions and scaffold path (#2575) — google/adk-recipes0 reactions · 4 comments
- Sep 12, 2026docs: fix 404 link to relocated Deep Search sample — google/adk-docs0 reactions · 1 comment
- Sep 9, 2026Add repo skills instructions and documentation links to AI issue response workflow — google/adk-recipes0 reactions
- Jul 24, 2026Fix broken adk-samples links from deleted sample agents and notebooks — google/adk-docs0 reactions · 1 comment
- Jun 12, 2026ci: run the spam-detection bot via the adk-samples reusable workflow — google/adk-go0 reactions · 1 comment
- May 27, 2026Add Deep Search Agent project to portfolio showcase — asafsilner/silner-showcase-prime0 reactions
- Feb 12, 2026fix: path typo in story teller example — google/adk-recipes0 reactions · 3 comments
On Bluesky · 4
- Apr 9, 2025Google just open sourced a Python Agent Development Kit @ github.com/google/adk-p... Native Streaming and #MCP support out of the box 👀… — @stephanjanssen.be12 likes and reposts
- Jul 12, 2026Exploring the ADK Samples repo from Google—it’s like a guidebook for building intelligent agents. Seeing multi-language support reflects… — @iam.slys.dev1 likes and repost
- Dec 9, 2025📦 google / adk-samples ⭐ 6,900 (+67) 🗒 Python A collection of sample agents built with Agent Development Kit (ADK) — @github-trending.bsky.social1 likes and repost
- May 20, 2025Explore practical use-cases & build! 🧪 Hands-on Patent Search Codelab: codelabs.developers.google.com/patent-searc... 📚 Check out sample… — @kweinmeister.bsky.social0 likes and reposts · 1 reply
On Hacker News · 3
- Aug 9, 2025CaMeL-Powered Secure Agent Demo with ADK3 points · 1 comment
- Jun 13, 2025A collection of sample agents built with Agent Development (ADK)2 points
- Aug 13, 2025CaMeL agent to protect against indirect prompt injection1 point · 1 comment
On Stack Overflow · 2
- Aug 30, 2025Google ADK SequentialAgent sub_agents not waiting for user input1 vote
- Aug 29, 2025Issue with deploying ADK Agent on Google Agent Engine0 votes
Other versions1 project uses a version of this.
Word for word · 1
- google/adk-recipes★ 11k100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,843 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository43 other files it gives its agents.
- AGENTS.mdAGENTS.md
- contrib/kotlin/llm-auditor/AGENTS.mdAGENTS.md
- core/python/adk-voice-agent/sandbox/home/AGENTS.mdAGENTS.md
- core/python/adk-voice-agent/tests/eval/fixtures/alex/repos/portland-trip/AGENTS.mdAGENTS.md
- core/python/ambient-expense-agent/AGENTS.mdAGENTS.md
- core/python/ambient-quality-agent/AGENTS.mdAGENTS.md
- core/python/cross-session-memory/AGENTS.mdAGENTS.md
- core/python/deep-search/AGENTS.mdAGENTS.md
- core/python/genmedia-for-commerce/AGENTS.mdAGENTS.md
- core/python/long-horizon-harness/AGENTS.mdAGENTS.md
- core/python/oauth-user-consent-flow/AGENTS.mdAGENTS.md
- core/python/rag-agent-search/AGENTS.mdAGENTS.md
- core/python/rag-vector-search/AGENTS.mdAGENTS.md
- core/python/safety-plugins/AGENTS.mdAGENTS.md
- core/python/adk-voice-agent/sandbox/home/CLAUDE.mdCLAUDE.md
- core/python/genmedia-for-commerce/CLAUDE.mdCLAUDE.md
- align-recipe-pyprojectSkill
- extract-python-environment-variablesSkill
- generate-manifestSkill
- generate-python-runnability-testSkill
- github-pr-reviewSkill
- make-python-recipe-deployableSkill
- prepare-python-recipeSkill
- repo-oracleSkill
- scaffold-python-recipeSkill
- blog-writerSkill
- content-research-writerSkill
- approvalsSkill
- coding-workflowSkill
- connected-apps-mcpSkill
- deliverablesSkill
- filesystemSkill
- recommendationsSkill
- agents-cli-aquaSkill
- custom-investigationSkill
- rcaSkill
- bootstrap-google-toolsSkill
- find-skillsSkill
- google-workspaceSkill
- policySkill
- routinesSkill
- retail-product-searchSkill
- retail-virtual-tryonSkill
The file
We split this AGENTS.md into the rules it gives an agent
10 rules. About 0 are common, 2 are distinctive, and 8 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 71
When moving, renaming, or adding a module, update the recipe table, layout, and linked docs in docs/.
- Distinctive: line 75
Only change code the request targets.
- Very specific: line 76
Run Python through uv run.
- Very specific: line 77
Never change model values (LIVE_MODEL, GROUNDING_MODEL, harness models) unless asked.
- Very specific: line 78
No test-mode branches in app/.
- Very specific: line 79
Keep app/agent.py to wiring.
- Very specific: line 83
Never block on stdin as an agent: pass NONINTERACTIVE=1 (or --no-input) with make onboard PROJECT=<id> NONINTERACTIVE=1, and run make …
- Very specific: line 84
Import ADK tool instances, not modules: from google.adk.tools.load_web_page import load_web_page.
- Very specific: line 85
Verify voice changes with make eval (uv run agents-cli eval compare <baseline> <candidate>), then make test and make lint.
- Distinctive: line 87
If an error repeats three times, fix the root cause instead of retrying.
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
ADK Voice Agent: guide for agents and developers
- Studying the recipe: how ADK Voice Agent keeps a Gemini Live voice agent responsive while coding agents work on each user's computer.
- Maintaining the code: rules, repo layout, and commands when changing this repo.
Studying the recipe
The problem
Voice is synchronous and short-lived; coding work is slow and stateful. Combined naively:
- Blocking tool calls stall the audio stream.
- Reading a 60-line diff aloud is useless.
- Work in one thread is lost to the next without a persistent disk and named project folders.
- Coding agents holding OAuth tokens can send mail without asking.
Recipe table
| # | Pattern | Start here | Scope | Deep dive |
| 1 | Non-blocking voice tools. Slow tools return a pending status at once, finish in the background, and deliver results with WHEN_IDLE. A quick lookup over 8 s yields one "still working" line. | app/voice/non_blocking.py → non_blocking_tool(), thread_tool() | Any run_live agent | Architecture: a voice turn |
| 2 | Exactly-once milestones. Each thread milestone is announced once, to the waiting tool call or as a background update. | app/voice/thread_updates.py → ThreadUpdates | Transferable | Architecture: a voice turn |
| 3 | A personal computer per user. The daemon serves /exec, /runs/*, /files/*, and /activity behind Environment. ComputerProvider owns lifecycle (host dir, Docker, static URL, or GCE VM + disk). Idle computers stop; voice sessions pre-warm; warm hours keep them on during workdays. | app/workers/providers/base.py → ComputerProvider (registry.py), reaper.py → reap_once(), warm_once(), app/workers/environment.py → Environment | Any agent needing a Linux box | Architecture: where code runs, Extending: add a computer provider |
| 4 | The home directory as memory. Threads work in git repos under code/<repo>, projects/<slug>, or scratch/<date>-<slug>. The first writer leases the folder; a concurrent writer gets a git worktree merged back on finish. The server commits once per round and reads diffs via git diff. | app/workers/workspace.py → resolve_project(), open_workspace(), finish_workspace() | Transferable | Architecture: the filesystem |
| 5 | Interchangeable coding harnesses. Claude Code and the Antigravity CLI share one protocol, configured via native files (~/AGENTS.md, skills, MCP config, deny rules). | app/workers/harnesses/base.py → CodingHarness, CliHarness.thread_files(), registry.py → get_harness_registry(), sandbox/home/AGENTS.md, sandbox/skills/ | Transferable | Extending: add a coding harness |
| 6 | Multi-turn threads with gates. Work runs in a multi-turn thread (Turn list) with statuses running, awaiting_approval, and idle, and outcomes finished, failed, and cancelled. Prompts are delegated verbatim; questions and plans are normal turn answers. Gated MCP calls pause at awaiting_approval: voice approvals follow a two-turn prompt rule, while UI taps send permission_key. | app/threads/registry.py → ThreadRegistry, app/threads/driver.py → drive() | Any human-in-the-loop agent | Architecture: thread lifecycle |
| 7 | One MCP gateway with server-held tokens. Harnesses see one MCP server. The gateway proxies .mcp.json servers as <server>__<tool>, attaching the user's token on the server so no OAuth token reaches a computer. Connected apps define access; mcp_gates pauses writes for approval. Built-in stdio servers cover Google REST APIs. | app/api/mcp_gateway.py → call_gateway_tool(), app/api/mcp_permissions.py → request_permission(), workspace_mcp/ → Server in _server.py | Any agent calling MCP servers for a user | Security model: the MCP gateway |
| 8 | Declarative permissions. config/policy.yaml declares shell deny globs (rendered into native harness configs), mcp_gates enforced at the gateway, and run budgets. | app/workers/policy.py → load_policy(), claude.py → permission_settings(), antigravity.py → deny_rules() | Transferable | Security model: permission gates |
| 9 | Context and answer cards alongside thread chat. app/api/surfaces.py serves A2UI v0.9 cards (events, threads, files), projects render as thread feeds, and threads render as multi-turn chat in ThreadView.tsx using shared parts (web/src/components/stage/thread/). app/api/mcp_outputs.py extracts links to created PRs, Docs, and events. | app/api/surfaces.py → build_a2ui_surfaces(), app/context_cards.py → card_items(), web/src/components/stage/ThreadView.tsx, web/src/components/a2ui/A2UISurfaceDeck.tsx, web/src/components/a2ui/answer/AnswerCard.tsx | Transferable | Architecture: the visual stage |
| 10 | Declarative connected apps. Google and GitHub are declared in YAML (OAuth, icons, services, mcp_servers, scopes) with a ProviderHooks seam for provider-specific flows. make onboard registers them once; users connect via OAuth 2.0 (+ PKCE for Google) with refresh rotation. | config/integrations.yaml, app/auth/oauth.py → ensure_fresh_access_token(), app/auth/provider_hooks.py → ProviderHooks, app/api/apps.py → apps_state() | Pattern transfers | Extending: add an app |
Beyond the core
- Briefing a returning user.
app/voice/briefing.py→collect_missed_milestones()andapp/voice/instruction.py→build_orchestrator_instruction()summarize what happened while the user was away.build_connections_briefing()lists unconnected apps underNOT CONNECTEDso the voice opens the Connect page vianavigate(app/tools/navigation_tools.py) and resumes on[APP CONNECTED] <name>. - Quick reads without a thread.
app/tools/look_tools.py→look()runs in-processworkspace_mcptools markedreadOnlyHintand shows an answer card on home. Routing rules live inapp/voice/instruction.pyandtests/eval/datasets/system1.json. - ADK Voice Agent's own tools over MCP.
app/api/mcp.pyserveslist_threads,read_thread,update_user,save_to_drive,present_card,recall,recall_conversation, and grounded search at/api/v1/mcpwith a per-thread token (mint_mcp_token()), reached via the daemon's/mcp-relayand documented inconnected-apps-mcp. - Durable event log.
app/store/thread_store.py→ThreadStorestores thread rows, append-only events, and ADK sessions (get_session_service()inapp/app_utils/services.py) in SQLite or Postgres. - Remembering the user.
app/memory/keeps one structured profile per user in Agent Engine Memory Bank:store.py→recall_profile(),profile.py→render_profile(),ingest.py→curated_contents()(user speech, agent replies, andstart_thread,message_thread,share_contextarguments; never tool output), andepisodes.pyfor conversation/thread memories. See Architecture: memory and Security model: memory. - Carrying context between conversations and threads.
app/voice/continuity.pycarries recent turns across dropped connections;share_contextinapp/threads/registry.pyandapp/threads/prompts.py→share_context_block()passes prompts, answers, changed files, and branch between threads. See Architecture: sharing context between threads. - Screen focus and project threads.
app/voice/focus.pytracks screen focus (home,project,thread) viaPOST /api/v1/focusandnavigate(app/tools/navigation_tools.py), injectingOPEN ON SCREENand pushing live[SCREEN FOCUS]updates.app/projects.py→project_thread()lists a project's threads and reads its status note from a running computer (else from the newest thread in the store);name_project()promotesscratch/toprojects/. See Architecture: screen focus and projects. - Test doubles at the boundaries only. Tests swap the environment (
set_environment), put a scriptedclaude/agyonPATH(tests/fake_agent_cli.py), and inject HTTP transports (tests/fake_integrations.py). - One container for System 1.
app/fast_api_app.pyserves/run_live, REST, and the built UI; computers runsandbox/Dockerfile.
Study order
app/agent.py, thenapp/voice/:non_blocking.py,thread_updates.py,focus.py,instruction.py.app/threads/: followstart_thread()inapp/tools/thread_tools.pytoexecuting(status="running"), throughawaiting_permission(status="awaiting_approval") andapprove(), tocompleted(status="idle",outcome="finished") andmessage_thread().app/workers/workspace.py: folder selection, leases, worktrees, and per-turn commits.app/workers/providers/,app/workers/environment.py, andsandbox/README.md.app/api/mcp_gateway.py,app/api/mcp_permissions.py, andconfig/policy.yaml.app/api/surfaces.py,web/src/components/stage/ThreadView.tsx, andweb/src/components/a2ui/.app/auth/andconfig/integrations.yaml.
What to skip when studying
- Setup & deploy:
scripts/onboard.py,scripts/doctor.sh,scripts/provisioning/,scripts/deploy.py,terraform/. - UI chrome & first-boot plumbing:
web/src/components/sheets/,web/src/components/stage/,sandbox/entrypoint.sh.
agents-cli metadata
agents-cli-manifest.yaml declares voice_agent in app/agent.py; manifest.yaml is the adk-recipes catalog entry.
Maintaining the code
Keep this file current
When moving, renaming, or adding a module, update the recipe table, layout, and linked docs in docs/. All file and symbol links must resolve.
Rules
- Only change code the request targets. Reuse existing protocols or registries over per-provider special cases.
- Run Python through
uv run. - Never change model values (
LIVE_MODEL,GROUNDING_MODEL, harness models) unless asked; model reads go throughapp/app_utils/models.py. Fix a404by checkingLIVE_MODEL_LOCATIONorGOOGLE_CLOUD_LOCATION(global). - No test-mode branches in
app/. Test doubles live intests/fakes.py,tests/fake_agent_cli.py,tests/fake_integrations.py, andtests/eval/sitecustomize.py. - Keep
app/agent.pyto wiring; put voice logic inapp/voice/and thread logic inapp/threads/. - New thread states/transitions go in
TRANSITIONSinapp/threads/model.py, with wording indescribe.py. - New environment variables go in
.env.exampleanddocs/configuration.md. - UI styles use tokens in
web/src/styles/base.css, never hex literals. - Never block on stdin as an agent: pass
NONINTERACTIVE=1(or--no-input) withmake onboard PROJECT=<id> NONINTERACTIVE=1, and runmake deploy DRY_RUN=1beforemake deploy AUTO_APPROVE=1 NONINTERACTIVE=1. See Run as a coding agent. - Import ADK tool instances, not modules:
from google.adk.tools.load_web_page import load_web_page. - Verify voice changes with
make eval(uv run agents-cli eval compare <baseline> <candidate>), thenmake testandmake lint. - Deploy only when asked (
make deploy DRY_RUN=1first). On a terraform409,terraform importthe resource. - If an error repeats three times, fix the root cause instead of retrying.
Layout
adk-voice-agent/
├── app/
│ ├── agent.py # root_agent `voice_agent`: wiring only
│ ├── fast_api_app.py # FastAPI app: ADK /run_live, REST, built UI, lifespan
│ ├── voice/ # non_blocking, thread_updates, voice_mode (VoiceSessionPlugin, live_run_config, VoiceAgent), focus (OPEN ON SCREEN), instruction, briefing, callbacks, background, preferences, continuity
│ ├── threads/ # model (states, Turn, TRANSITIONS), registry, driver, describe, prompts, titles, summaries, retention, documents (save_to_drive)
│ ├── store/ # ThreadStore, UserSettingsStore, SQLAlchemy models and engine
│ ├── memory/ # profile (UserProfile, render_profile), store (MemoryStore, MemoryBankStore, recall_profile), ingest (curated_contents, remember_on_close), episodes
│ ├── workers/
│ │ ├── environment.py # Environment protocol: SandboxEnvironment, LocalEnvironment
│ │ ├── factory.py # resolve_environment(), set_environment()
│ │ ├── providers/ # ComputerProvider: host, docker, static, gce; registry; reaper; last_known
│ │ ├── runs.py # detached harness runs: launch, poll, cancel
│ │ ├── workspace.py # home projects (code/, projects/, scratch/), leases, worktrees, commits, push
│ │ ├── policy.py # declarative permissions and run budgets (config/policy.yaml)
│ │ ├── manifest.py # config/workspaces.yaml loader
│ │ └── harnesses/ # CodingHarness, CliHarness, claude, antigravity, registry, activity
│ ├── api/ # REST under /api/v1, MCP bridge (/api/v1/mcp), mcp_gateway, mcp_permissions, mcp_outputs, surfaces, projects, apps, auth, memories
│ ├── auth/ # identity (dev / IAP), credential_store, oauth, providers, provider_hooks, google_apis, oauth_popup, adc, sandbox_credentials, env_store, verify, github/
│ ├── tools/ # thread_tools, navigation_tools (navigate), grounding_tools, look_tools (look), memory_tools
│ ├── app_utils/ # services, models (model env readers), http_client, time_utils, env_flags, model_locations, user_context, host_guard
│ ├── projects.py # list_projects, project_thread, delete_project_history, ProjectLabels, name_project
│ ├── user_settings.py # per-user voice preferences and default harness
│ └── context_cards.py # context cards and answer-card kinds (CARD_KINDS, card_items)
├── config/ # integrations.yaml, policy.yaml, workspaces.yaml
├── .mcp.json # connected apps' MCP servers, proxied by the gateway
├── workspace_mcp/ # built-in stdio Google Workspace MCP servers (_server.py, _google.py)
├── docs/ # quickstart, computer, connected-apps, architecture, configuration, security-model, extending, evals
├── scripts/ # onboard.py, provisioning/, doctor.sh, computer_ssh.py, deploy.py, run_eval.py, dev.sh
├── sandbox/ # computer image: Dockerfile, entrypoint.sh, home/, skills/, server.py
├── terraform/ # Cloud Run + IAP, Secret Manager, Cloud SQL, Agent Engine, computer VPC/NAT/template/SA
├── tests/ # unit/, live/, eval/ (voice/ System 1, system2_agent/ System 2, datasets/, fixtures/alex), test_runnability.py, fakes
├── web/ # React + TypeScript + Vite UI (src/components/a2ui/answer/, src/lib/cards.ts)
├── Dockerfile # System 1 image: built UI + API
├── Makefile # run `make` for targets
├── manifest.yaml # adk-recipes catalog entry
└── agents-cli-manifest.yaml # agents-cli project configCommands
| Command | Purpose |
make onboard | Set up a deployment: .env, app registrations, terraform, computer image, and deploy (PROJECT=<id>, DRY_RUN=1) |
make dev | API on :8000 and UI on :3000 with hot reload |
make docker | Build and run System 1's image on :8080 |
make deploy | Terraform, then agents-cli deploy to Cloud Run behind IAP (DRY_RUN=1, AUTO_APPROVE=1) |
make destroy | Delete computers (PURGE=1 for home disks) and terraform resources |
make doctor | Check your computer over IAP SSH: tools, daemon, Vertex AI, MCP relay, disk |
make test | Offline unit, runnability, and web tests |
make lint | ruff 0.16.8, codespell, ty, mypy, Biome 2.5.10, and the web typecheck |
make format | Ruff and Biome formatting with the adk-recipes rules |
npm --prefix web test | Web unit tests |
make ssh | Shell in your computer (gcloud compute ssh --tunnel-through-iap, then docker exec) |
make eval | System 1 voice evals over ADK Live against a scripted computer (DATASET=, CASES=) |
make eval-sandbox | System 2 computer evals on docker computers with Alex persona (HARNESS=, CASES=, NO_BUILD=1) |
make computer-image | Build multi-arch computer image (sandbox/Dockerfile, sandbox/cloudbuild.yaml) and print rollout tag (terraform/README.md) |
REST routes: Architecture: REST control plane. Troubleshooting: Quickstart, Your computer, Connected apps, Evals.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

