first-run-setuplisted
Install: claude install-skill ryan75195/dotnet-agent-harness
# First-run setup (EAS build/deploy readiness + optional features)
Run this when the SessionStart config check nudges you, or when the user asks
to "set up the project" / "make it build-ready". Goal: clear every critical
item so `eas build` / `eas submit` run without hitting a setup wall, then
record optional-feature decisions.
## Read current state first
Run `node scripts/config-doctor.js` and read its report. Work only the items
it flags. Re-run it at the end - success is when it prints nothing.
## Tier 1 - critical (do these first, in order)
1. **EAS login.** Run `eas whoami`. If not logged in, ask the user to run
`! eas login`, then re-run `eas whoami` to confirm.
2. **EAS project link.** If `app.config.js` has no `extra.eas.projectId`, run
`eas init` (or ask the user to run `! eas init` if it needs interactive
auth). Because this template uses a dynamic `app.config.js`, `eas init`
may print the project id rather than writing it - if so, set
`extra.eas.projectId` in `app.config.js` by hand to the id it prints.
Commit the `app.config.js` change through the CLAUDE.md dev lifecycle
(issue -> feat branch -> PR), never directly on main.
3. **Production bundle identifier.** If the bundle id still contains
`com.example.`, ask the user for their real reverse-DNS id (e.g.
`com.acme.myapp`) and set it in `app.config.js`. Both the production and
`.dev` values derive from the same string in the template. Commit via the
lifecycle.
4. **iOS credent