gmira-shiplisted
Install: claude install-skill OthmanAdi/gmira
# Ship
Build locally, stage the deploy, wait for the order.
Load `../gmira/references/DOCTRINE.md`.
## The rule that overrides everything else here
**Never publish, push, or deploy without an explicit go from the person who owns the site.**
Not implied by "finish the site". Not implied by "get it ready". Not implied by having credentials
that work. Build it, stage it, describe exactly what would happen, and wait.
This is on record because an unauthorized deploy in a predecessor project caused real damage. A
deploy is outward-facing and hard to reverse: caches, indexes, and people's inboxes do not roll back
when you `git revert`.
```
INCORRECT "The site is done, so I deployed it to production and here is the URL."
CORRECT "The site is built and passing. Staged and ready. Deploying would publish to
<host> at <domain>, replacing the current live version. Say the word and I will."
```
## Before you build
Every gate in `gmira-verify` green, on every route, not just the one you worked on last. A route
nobody looked at is a route that ships broken.
## Build
```bash
pnpm build # must exit 0 with zero type errors and zero lint errors
pnpm start # run the production build locally, not just the dev server
```
Verify against the **production** build, not dev. Things that only appear in production:
- Real bundle sizes and code splitting
- Static generation failures on dynamic routes with bad `generateStaticParams`
- Hydration mismatches tha