Run the app
SkillWeb & browsingRun the Macro app on Cursor Cloud and pick up edits. Use when asked to run the app, open it in the browser, test a frontend or backend change, hot reload, or before touching stack.sh, rebuild.sh, frontend.sh, or just stack.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Run the app skill
What this skill tells your AI
The instructions your AI receives, as published by macro-inc/macro in .claude/skills/run-app/SKILL.md and read by ahel’s review.
The app is http://localhost:3000/app. Open it in the VM browser. The user's laptop cannot reach these URLs.
| Goal | Command |
|---|---|
| Start | bash .cursor/stack.sh |
| After a Rust edit | bash .cursor/rebuild.sh |
After an apps/web edit | save the file |
The .cursor scripts re-enter the pinned nix shell. For any other docker, just, bun, or doppler command, prefix with nix develop /workspace --command.
Do not run just run_local. That is the laptop TUI.
Start
bash .cursor/stack.sh
Let the first run finish. It compiles whatever changed since the environment bake. Do not kill the Nix build, copy binaries out of /nix/store, or replace this with hand-rolled docker compose.
Log in with any email. The login API returns the code. Codes also land in Mailpit at http://localhost:8025.
After a Rust edit
bash .cursor/rebuild.sh
Volumes stay. If the log says binaries are unchanged, the mounts were left alone.
Do not run just stack up or stack.sh --fresh to pick up an edit. up deletes the stack and recreates it. Use --fresh only when you mean to wipe.
cargo build and just build do not remount containers. rebuild.sh is the remount path.
After an apps/web edit
Save the file. Vite watches apps/web. If the page does not update, read ~/.cursor-cloud/frontend-dev.log for hmr update.
If http://localhost:3000/app stops responding, restart the dev server:
bash .cursor/frontend.sh stop && bash .cursor/frontend.sh
Use the same restart after a frontend dependency or Vite config change.
Do not run just stack update --frontend. That builds a static bundle. This Cloud stack does not serve one. On a --no-frontend stack that flag then tells you to re-run just stack up, which wipes volumes.
Show the change
Bring the stack up, log in, and demonstrate the change in the UI. Unit tests and SQL probes are not a walkthrough.
If login fails
If the page says "unable to lookup identity providers", FusionAuth is in maintenance mode. docker ps shows macro-fusionauth-1 as unhealthy. curl localhost:9011/api/status returns 302.
docker restart macro-fusionauth-1
Wait until the container is healthy.
If the page loads and API calls fail, the backend is down. Run just stack status --json, then bash .cursor/stack.sh.
Do not chase agent_harness_service restart loops when DOPPLER_TOKEN is absent. That loop is expected.
Status
just stack status --json
docker compose -p macro logs -f <service>
Signals
- GitHub stars
- 4k
- Forks
- 409
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
run-app-macro-inc- Source
- github.com/macro-inc/macro