Init Project - NowStack Mobile

SkillAI & models

Initialize or rebrand a NowStack Mobile product. Use for repo bootstrap, product brief intake, site-config, AGENTS.md, landing, mobile copy, Convex env, and final validation.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Init Project - NowStack Mobile skill

What this skill tells your AI

The instructions your AI receives, as published by melvynx/saveit.now in .agents/skills/ns-init-project/SKILL.md and read by ahel’s review.

<strict_order>

  1. Verify repo/remotes/worktree and Convex setup.
  2. Collect one product brief or PRD. Do not run a long questionnaire if the user already gave the idea.
  3. Update product context in AGENTS.md and shared config in site-config.ts, then mirror title, slug, bundleId, product ids, and auth.trustedOrigins into convex/siteConfig.ts.
  4. Update visible product copy across web-app/ and mobile-app/, including onboarding images in mobile-app/app/onboarding/content.ts and the product id in mobile-app/App.storekit. 4b. Apply branding colors in mobile-app/lib/theme.ts (the single source of truth — every mobile color resolves from there). Ask whether the app wants dual theme (light + dark, ships with a switcher) or a single theme (e.g. dark-only). For single-theme apps, follow the Mono Theme procedure in references/theming.md so the switcher is removed and only one scheme is maintained — never hand-edit scattered hex.
  5. Configure backend runtime env in Convex only; never commit secrets. At minimum set RESEND_API_KEY, EMAIL_FROM, BETTER_AUTH_SECRET, SITE_URL (sign-in is broken without them).
  6. If the user plans store builds, run cd mobile-app && eas init and copy the project id into site-config.ts > easProjectId; set prod Convex URLs in mobile-app/eas.json.
  7. Validate changed surfaces with npm run check-setup plus the build checks, and summarize remaining manual steps from docs/production-checklist.md. </strict_order>

<config_targets> Read these before editing config or branding:

sed -n '1,240p' site-config.ts
sed -n '1,220p' AGENTS.md
rg -n "NowStack|nowts|boilerplate|TODO|SaaS" web-app mobile-app convex docs site-config.ts package.json

Update only values grounded in the product brief. Do not invent legal company, domain, pricing, store ids, or OAuth credentials. </config_targets>

<env_groups> Ask by service group, not one variable at a time:

  • Base/Auth: SITE_URL, BETTER_AUTH_SECRET, trusted origins, OAuth client ids/secrets.
  • Email: RESEND_API_KEY, sender/contact values.
  • Payments: Stripe for web/Android, Apple IAP metadata for iOS, matching site-config.ts.
  • Files/R2: target names used by convex/storage/r2.ts, normally R2_ENDPOINT, R2_ACCESS_KEY_ID, R2_SECRET_ACCESS_KEY, R2_BUCKET_NAME, R2_PUBLIC_URL.

Set server-side runtime values in Convex:

npx convex env set KEY "value"
npx convex env list

</env_groups>

npm run check-setup

Then run only the checks that match touched surfaces:

npx convex dev --once
cd web-app && npm run typecheck
cd web-app && npm run build
cd mobile-app && npx tsc --noEmit
cd mobile-app && npm run lint

<stop_gates> Stop and ask when:

  • GitHub/Convex authentication requires a browser/login prompt.
  • Product brief is missing or too vague to update config.
  • Secrets or live payment/store operations are required.
  • The worktree contains unrelated changes that would be staged/committed. </stop_gates>

Signals

GitHub stars
31
Forks
5
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
ns-init-project
Source
github.com/melvynx/saveit.now