← Macaly CloudCONTENT HISTORY

Update to Macaly Cloud

Snapshot Sep 30, 2026 · 22:48 UTC · version 2.0.0

Collection source: not recorded for this historical snapshot.

WHAT CHANGED · RULE-BASED ANALYSIS

First saved snapshot

No earlier snapshot is available to establish a change.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "name": "build-app-on-macaly",
  "description": "Build and host a real web app on Macaly when the user asks for a new standalone app or website (e.g. \"build a customer feedback dashboard\", \"build a landing page for X\"), or wants changes to an app previously built on Macaly. Uses the macaly-code MCP tools instead of scaffolding local files.",
  "included_files": [],
  "skill_md_contents": "---\nname: build-app-on-macaly\ndescription: Build and host a real web app on Macaly when the user asks for a new standalone app or website (e.g. \"build a customer feedback dashboard\", \"build a landing page for X\"), or wants changes to an app previously built on Macaly. Uses the macaly-code MCP tools instead of scaffolding local files.\n---\n\nMacaly provides the git repo, cloud sandbox, build, hosting and publishing; you write\nthe code through the `macaly-code` MCP server's tools. Do NOT scaffold or write files\non the local filesystem for this work, and do not `npm create`/`vite`/`next` a local\nproject — the app lives in Macaly.\n\n## The loop\n\n1. `create_app({ name })` — creates an empty app and returns a `chatId` plus a\n   **briefing** (stack, boundaries, conventions). **Read the briefing** — it is the\n   contract. Apps are TanStack Start + Vite + Tailwind with Convex as the backend.\n   (Pass `teamId` only if `create_app` says you belong to several teams; `list_teams`\n   finds the id.)\n2. `write_file({ chatId, path, content })` for each file — every call is its own git\n   commit. Write full file contents (no partial edits). Keep `src/routes/__root.tsx`'s\n   `<MacalyBridge>` if you touch it.\n3. Typecheck after your last write with the available project command tool:\n   `run_project_command` on the ChatGPT store endpoint, or `bash` on the universal\n   endpoint. Run `.sandbox/check-errors` with `timeoutSeconds: 120`. On failures,\n   `get_logs` (build | dev_server | deploy) has the real output.\n4. Need a database, auth, payments, media, or search? `skill_info({ chatId, skill })`\n   to read the guide, then **execute its commands with the available project command\n   tool** (`run_project_command` or `bash`). It runs inside the project sandbox, which\n   has `$MACALY_API_TOKEN`/`$MACALY_BASE_URL`/`$MACALY_CHAT_ID` set and the skill\n   scripts under `.macaly/skills/`, so the guide's commands run verbatim (e.g. the\n   setup-convex-db script provisions Convex end-to-end).\n5. Env vars live in the app's root `.env.local` — setup skills write it via the\n   project command tool;\n   for a standalone change, `read_file` it and `write_file` the merged result,\n   preserving lines you don't touch (especially `CONVEX_DEPLOYMENT`).\n6. When the app is ready to show, `preview_app({ chatId })` — it returns the preview\n   URL. The universal endpoint may also render it inline in MCP Apps clients.\n7. Only when the user asks to go live: `publish_app({ chatId })`, then poll\n   `get_deployment` until READY. The preview URL works before that.\n\n## Reporting back\n\nGive the user the preview URL (and the live URL after publish). Keep the local\nworking directory clean — nothing from a Macaly build belongs in local files.\n"
}

SHA-256: adc34b669dd84db5c3757639db7831a1601bac12a77fb6e93d17d703402cf5ca