Operates as a Discord control plane for Google's Antigravity IDE on Windows via Chrome DevTools Protocol (CDP). This allows remote control of the IDE (e.g., via mobile) using local machine resources.
This repository bundles a patched version of LazyGravity at vendor/LazyGravity to ensure reliable session routing and UI unblocking.
- Local setup: vendor/LazyGravity/README.md#quick-setup
- Upstream docs: LazyGravity Setup Guide
Run the stack from Git Bash:
./run.sh startThis opens Antigravity IDE with CDP enabled (default port 9222) and starts LazyGravity in the background.
start: Starts the managed IDE and background bot. (SetNO_COLOR=1to disable colors).stop: Terminates the bot and the IDE CDP process.status: Reports the health of the bot, CDP, and workbench.repair-sessions: Resets stale Discord chat bindings inantigravity.db.build-lazygravity: Builds the localvendor/LazyGravitysubmodule.test: Runs the Python (launcher) and npm (submodule) test suites.doctor/cdp-status: Diagnostic checks for the environment and CDP targets.
- Custom Path: Set
ANTIGRAVITY_EXEin.envif not using the default%LOCALAPPDATA%path. UseAntigravity IDE.exe(notAntigravity.exe). - CDP Failures: If CDP fails to start, close all existing Antigravity windows and run
./run.sh startagain. The debugging flag only applies to the first process. - Diagnostics: Run
lazy-gravity doctororcurl http://127.0.0.1:9222/json/listto inspect targets.
- Rich Embeds: Plans, files, and tools appear as native Discord embeds and buttons.
- Replies & Attachments: Replying includes the original message context. Text files under 50KB and images can be attached directly in Discord.
- Lazy CDP Status: The Discord dashboard may show
CDP: Not connectedeven if healthy. Connections populate lazily upon sending a prompt or/join. - Startup Sequence:
./run.sh start- Use
/projectin Discord to select a workspace. - Send a prompt or
/jointo connect.
- Discord Commands:
/shutdown: Closes the IDE without killing the bot or losing bindings./project list: Restarts the IDE if closed and shows projects./stop: Interrupts LLM generation.
Always clone with submodules: git clone --recurse-submodules <url>.
Fork Rules for vendor/LazyGravity:
- Never commit directly to
main. It must perfectly mirror upstream. - Keep features on
integration/*branches. - To sync: pull upstream
main, push to your fork'smain, rebase yourintegration/*branch, force push, and update the parent repo pointer. - See ADR 0004.
./run.sh testValidates launcher logic, code quality (pylint), and runs submodule npm tests.
Note: Lifecycle behavior changes still require manual testing with ./run.sh stop, start, and status.