1 Signed-in session
/chrome-debug-profile + Playwright on CDP — your SSO, cookies, apps. The foundation that worked across orgs.
LocaDev
is the loop where the agent does almost everything: gather requirements,
clarify them in Slack / Discord / Teams, update
Jira and Azure DevOps boards,
open PRs with gh, and exercise
desk-hosted Azure, AWS & GCP–shaped resources, managed agent runtimes included — while
pre/post hooks refuse decisions and “ready” without citations and receipts.
You type. You approve. The machine ships the busywork.
End-to-end automation except the human at the keyboard.
Browser-first: your signed-in Chrome session (no API keys for every SaaS) —
then site skills, grounding, local cloud, and gh.
/chrome-debug-profile + Playwright on CDP — your SSO, cookies, apps. The foundation that worked across orgs.
Not only Jira fields: product UIs, chat threads, PDF/Excel in Teams/Slack, wikis. /web-requirements plans, then snapshots.
Read/comment/transition Jira & Azure DevOps in the UI you already use. API CLI optional. Layer thin site skills for repeat flows.
ghAssumes GitHub CLI is installed and authed: branches, PRs, checks — agent-driven, human-approved.
Summon only the Azure/AWS/GCP-shaped bits you need: blobs, bus, SQL, Redis, Functions-style workers, S3, Pub/Sub, Firestore, managed agent runtimes, mail, channel fakes — env-only wiring.
/grounding demands snapshot citations before decisions and receipts before ready — not vibes.
Default: browser UI via CDP (no tokens). Optional REST CLI when headless. Details: boards/README.md · pattern: browser-skills.md.
Open Jira/ADO in your Chrome session. Read AC, comments, attachments. Comment & transition in the UI. Snapshot for citations.
Optional: ./boards/board.sh with JIRA_API_TOKEN / AZURE_DEVOPS_EXT_PAT when you want the CLI path.
Repeatable org flows as thin skills on top of chrome-debug + Playwright — not a new OAuth app per tool.
Big choices and “we’re done” both fail closed without grounding. Protocol lives in hooks/ on GitHub.
Before architecture, board rewrites, or committing work: cite docs, channel messages, jira:/ado: keys, or repo paths. ./hooks/pre-decision.sh
Before “ready for review”: verify, tests, Jira/ADO update, gh PR evidence. ./hooks/post-ready.sh
Empty sources fail the gate. Conflict? Ask the channel again — don’t assume and ship.
Same SDK shapes as production. Env-only costume change when you finally go real-cloud.
Azurite, Service Bus, Foundry-shaped bridge, optional Cosmos & AI Search, Key Vault, sample Functions on Azurite.
MiniStack S3 on :4566. endpoint_url, test keys, no surprise invoice.
Google's own Pub/Sub and Firestore emulators plus fake-gcs-server. Point the *_EMULATOR_HOST vars at them.
Bedrock AgentCore, Foundry Agent Service and Agent Platform invoke APIs in front of your agent container. Scripted scenarios, an event log and reset for evals.
Fake Slack / Discord / Teams so agents can post clarifications and you can see the messages land.
Playground, demos, captured mail, message UIs — so “it works” survives a demo. UI changes: /playwright e2e for post-ready.
Stack chrome-debug + Playwright, then build site skills on top — drive tools you already use (boards, chat, PDFs) without API keys. Full map: docs/browser-skills.md · local.
Base session. Work-copy of your Chrome + CDP :9222. SSO, cookies, Jira, Teams — the login problem solved once.
Drive that session. Click boards, open chat PDFs/Excel, capture pages. Clean Chromium is only for your app’s CI e2e later.
Gather & specialize. AI plans, then snapshots under .grok/local/requirements/. Org skills layer on the same CDP base.
Core stays light. Profiles are optional loot — equip only what this run needs.
| Profile | What you get | Port |
|---|---|---|
core | Azurite, Service Bus, bridge, PGlite, Topaz, Redis | — |
aws | MiniStack S3 gateway | 4566 |
search | Qdrant + AI Search emulator | 8800 |
cosmos | Cosmos DB vNext emulator | 8081 |
mail | Fake SendGrid (+ /captured) | 8095 |
slack | Fake Slack Web API (+ /ui) — clarify in-channel | 8096 |
discord | Fake Discord REST (+ /ui) — clarify in-channel | 8097 |
functions | Azure Functions runtime + sample (Azurite storage) | 7071 |
teams | Fake Teams + echo bot — clarify in-channel | 3979 |
sample | In-repo FastAPI consumer | 18080 |
agents | Managed agent runtimes: AWS AgentCore, Azure Foundry Agent Service, GCP Agent Platform · scenarios, events, reset, OTLP | 8103 |
gcp | Pub/Sub + Firestore emulators, fake-gcs-server | 8085 / 8086 / 4443 |
kv | Key Vault (lowkey-vault) | 8443 |
ollama | Dockerized Ollama for the bridge | — |
cloudflare | Wrangler local Workers | 8787 |
oauth | Fake GitHub/Google OAuth, TOTP, soft passkeys | 8098 |
sms | Fake Twilio SMS (+ /captured) | 8099 |
geo | Fake Geocodio | 8100 |
bunny | Fake Bunny Stream (local HLS slate) | 8101 |
stripe | Fake Stripe: Checkout, PaymentIntents, Connect webhooks | 8102 |
gigchain | Cosmos SDK localnet | 26657 |
supabase | Local Supabase via the Supabase CLI | 54321–54324 |
Everything ships from github.com/gtfodevs/locadev — clone first, then summon the stack. macOS / Linux + Docker Compose v2.
git clone https://github.com/gtfodevs/locadev.git · star/watch the repo for updates · open issues there.
Agent host + gh auth + boards config. Then make up && make verify — wire from sandbox.env.example.
Browser gather (chat/PDF/tickets) → cite → code → ready. You type; AI drives the session.
Local cloud is a sidekick, not a free Azure/AWS/GCP subscription in a trench coat. Topaz ≠ Entra. PGlite ≠ multi-writer Postgres. AI Search is partial. Hooks force citations so the AI doesn’t paper over those gaps — or invent requirements. Source of truth: github.com/gtfodevs/locadev.