Entry point for Claude Code working in this repository. See AGENTS.md for the project overview, MCP setup, AI workflow, and constraints — those apply equally to Claude Code.
- Build, test, console rebundle, lint commands →
CONTRIBUTING.md - Final verification before PRs → run the full Gradle matrix, console
asset check, console JS syntax check, console JS harnesses, and
git diff --checkfromCONTRIBUTING.md. - Restart loop after Kotlin changes → run
bash scripts/restart-console.sh(add--with-appto also reinstall the sample APK). Kotlin server code is pinned in the JAR; the console JS is live-reloaded under--console-assets-dir. Full flag list inCONTRIBUTING.md§ Console Inner Loop. - Bridge protocol changes must update
BridgeProtocol.VERSION, the consoleMinimumSupportedProtocolVersion, and the mirrored constants inBridgeClient.ktandServerVersionRoutes.kt.BridgeProtocolVersionSyncTest(:fixthis-mcp:test) enforces equality across all four sites at CI time. Full procedure:docs/reference/bridge-protocol.md. - Architecture invariants (core has no MCP/CLI/Android dep, persisted JSON
field names are compatibility contracts, sidekick hosts no HTTP/MCP server)
→
docs/architecture/overview.mdanddocs/architecture/adr/. - Console UI iteration — pass
--console-assets-dirto read HTML/CSS/JS from source instead of the packaged JAR; rebundle JS vianode scripts/build-console-assets.mjsafter edits (produces minifiedapp.js≤ 225 KiB raw / 58 KiB gzip, anapp.js.mapsource map for DevTools, and aconsole-build-meta.jsonsidecar inlined aswindow.FixThisConsoleConfig.buildMetaat serve time), then verify withnode scripts/build-console-assets.mjs --check. Details indocs/reference/feedback-console-contract.md. - Connected tests — require an unlocked interactive emulator or device.
Locked physical devices can still report
deviceinadbwhile failing Compose hierarchy discovery. Seedocs/guides/troubleshooting.md.