Commands Reference
NowKit is driven by slash commands. You type /kit- in your AI agent (Claude Code,
Cursor, Google Antigravity) and pick one; it asks plain questions and edits the code for you. This is
the whole product — you almost never edit files by hand.
Type /kit- any time to see the full list. Commands are grouped below by when you use them.
Two rules every command follows:
- Paced. Provider setups (Supabase, Firebase, RevenueCat, …) are broken into small steps with "stop and wait" gates. No wall of instructions. Nothing runs until you say go.
- Resumable + idempotent. Re-running a command is safe. It detects what's already configured and offers to keep it, change one thing, or redo that piece. The long flows (
/kit-start-setup,/kit-design-app,/kit-publish-to-play) can be left mid-way and resumed later — even next day, a new chat, or another machine: they read your project files to see what's done and pick up where you left off.
🚀 Start here
/kit-start-setup
The first command you run. Guided end-to-end setup: rename, onboarding copy, brand & theme, auth, paywall, analytics, then build & run. Asks what you're building (free / paid / exploring) and skips what you don't need. Runs the setup commands below inline. Stopped half-way? Run it again — it shows a "welcome back" status of what's done and continues from the next unfinished step. → See The Flow.
/kit-env-check
Verify your machine has every tool the kit needs — JDK 17, Android SDK, adb, the android
CLI, Android Skills, and optional tools (scrcpy). Detects your OS and prints the exact
install command for anything missing. Run this first if any build fails.
⚙️ Setup commands
These configure one feature each. /kit-start-setup runs the core ones for you; run any
standalone later to add or change a feature.
/kit-change-app-id
Rename the kit — package name, applicationId, and app display name — in one guided step.
Do this first, before adding any code, so the rename stays clean. Also rewrites
/kit-run-app so it always launches your renamed app.
/kit-setup-theme
Set your brand color (one hex — the kit derives the full light + dark palette and all container shades from it) and pick your icon pack (Material / Feather / Tabler / many more). Switching packs later is reversible.
/kit-setup-auth
Choose and configure authentication: Supabase (recommended) or Firebase, with
email + Google sign-in toggles. Walks the full provider setup — including the two Google
Cloud OAuth clients Google sign-in needs — paced, with stop-and-wait gates. Flips
AUTH_ENABLED on.
/kit-setup-firebase
Shared helper used by auth, analytics, and updates when you pick Firebase. You point it at
your downloaded google-services.json; it copies it into app/ and applies the Firebase
Gradle plugins.
/kit-setup-paywall
Configure the RevenueCat paywall and subscriptions. Sets up your RevenueCat app + entitlement + API key, and picks the paywall mode: SOFT (skippable, "Maybe later") or HARD (blocking, must subscribe). The paywall UI is RevenueCat's — you design it in their dashboard.
/kit-setup-analytics
Configure analytics + crash reporting. Multi-select: PostHog, Firebase Analytics, Crashlytics, Sentry. Crash reporting always runs; product analytics respects the user's privacy toggle.
/kit-setup-ai
Wire OpenRouter so your app can call any AI model with one key — Claude, GPT, Gemini,
Llama, 100+ models. Picks a default model (free / cheap / premium). Flips OPENROUTER_ENABLED.
/kit-setup-updates
Configure remote config, the force/soft update gate, maintenance mode, and push. Pick a provider — LOCAL (default, works offline), Supabase (prints the SQL for the config table), or Firebase. Lets you push an update prompt or maintenance notice later without shipping a new version.
/kit-setup-review-dialog
Wire the Google Play in-app review prompt at a trigger you choose — Nth launch, after a key action, time delay, or a manual call-site. Fires once (tracked in DataStore).
🎨 Build commands
/kit-design-app
Design and build your app's screens — the main event of Phase 2. Two phases: (1) generate the UI with your components + dummy data, you approve the look on-device; (2) wire each screen to data — Supabase, Room, Retrofit, or static — without touching the approved layout. Source the design from Stitch, screenshots, plain text, or scratch.
/kit-design-onboarding
Build a personalised, multi-screen Calm / Headspace-style questionnaire onboarding — welcome → value-prop → 3–5 question screens → permission priming → social proof → personalised plan → ready. Replaces the simple 3-page intro.
/kit-plan-monetization
Decide how your app makes money — then wire it in. Run it after /kit-design-app: it
reads your real screens, helps you pick a model (freemium, free-trial, or pay-once),
recommends which features to lock and what to charge, then wires the premium gates into
those screens. Everything is entitlement-only — the app just checks the premium switch, so
your products, prices, trials, and paywall design stay editable in RevenueCat with no code change.
If the paywall isn't set up yet, it runs /kit-setup-paywall first; at the end it walks you
through creating the products, attaching them to premium, and publishing the paywall — and will
even review a screenshot of your paywall for conversion tips. The strategy companion to
/kit-setup-paywall (which is the plumbing).
/kit-translate
Translate every app string into one or more languages and wire the locales in. Multi-select buckets: RTL (Arabic, Hebrew, Urdu), Asia (Chinese, Japanese, Korean, Hindi, …), Europe (20 languages). Updates the locale manager + config; RTL layouts flip automatically.
/kit-translate-listing
The store-copy sibling of /kit-translate. Translates your Play Store listing — app
name, short + long description, and the current "What's new" changelog — into the same
language buckets, written into playstore/listings/<locale>/ (Fastlane-ready), respecting
Play's per-field character limits.
📦 Run + release commands
/kit-update
Pull the latest NowKit commands + skills into your app — your code is never
touched. It refreshes only the agent files (/kit-* commands + skills) from the
kit on a kit-update-<date> branch you can review, so there are no merge conflicts
and your renamed, customised app/ stays exactly as-is. It then reads the
changelog and offers to apply any code-level bug fixes you want
(e.g. a billing or auth fix) to your files, one at a time, with your approval.
You get every update for life.
/kit-compile-app
Compile-check only (Kotlin compile, no install or launch). Fast sanity check.
/kit-run-app
Compile, install, and launch the app on your connected device or emulator. This is the
build that runs at the end of /kit-start-setup. On the first successful run it also writes
a RUN.md to your project with the plain build / install / launch commands — so you can
run the app yourself from a terminal without an AI agent (handy if your AI quota runs out).
/kit-sign-release
Create a release keystore (if you don't have one), build a signed AAB, and walk the
upload to a testing track. This is the build that registers your package on Play and lets
RevenueCat verify the Play billing connection — you don't need products yet. The keystore
is generated for you and its credentials stored in git-ignored local.properties.
/kit-pre-register-setup
Put your app on Google Play pre-registration — its store listing goes public before
launch so you collect pre-registrations (and day-one installs via auto-install). Heads up: it's
not a shortcut — pre-registration needs nearly the full launch setup (complete store listing,
every "Set up your app" declaration, and closed testing for new accounts). It buys you a public
listing before you're ready to ship plus a day-one install spike — pure marketing, not less
work. If your app is already ready, just publish with /kit-publish-to-play instead. The
command opens by helping you make that call. It reuses the signed AAB from /kit-sign-release
(Play uses it only to work out supported devices — it's never shipped), and can optionally wire a
pre-registration reward. For subscription
apps the reward is a free 30-day Premium pass — Play forbids subscriptions as rewards and
grants one-time products for life, so the kit time-boxes the pass in code from the Play
purchase date (server-side, so reinstalls don't reset it). The command asks about the new-account closed-testing requirement
(personal accounts created on/after 13 Nov 2023 must finish 12-tester / 14-day testing first),
then walks the Play Console + RevenueCat steps. Standalone — not part of /kit-start-setup.
/kit-generate-legal
Generate your privacy policy + Play Data Safety answers from the actual codebase —
it reads which SDKs, network calls, and Supabase tables you use, asks 8 legal questions, and
writes privacy_policy.md + .html + play_data_safety.md into playstore/. The
play_data_safety.md table is the single source of truth; a bundled generator derives
playstore/play_data_safety.csv from it deterministically and self-verifies it — so Play's
Data safety → Import from CSV completes in one click and always matches your privacy policy
(no under-declared data types, no missing deletion-URL rows). If the CSV can't be built correctly
it fails loudly instead of shipping a wrong form.
/kit-generate-landing
Generate a simple static landing page for your app — plain HTML + CSS, no framework.
Builds a landing/ folder with a hero (app name + tagline + screenshots + Play badge),
features, privacy + terms pages (reuses /kit-generate-legal output), and a contact
section (email + your social links). Then it hosts it for you to get the public
privacy-policy URL Play requires — pick a path: GitHub Pages (recommended, fully
automated via gh into a separate public <app>-landing repo, no new account),
Firebase Hosting (offered if you've already set up Firebase), Vercel (guided,
for a custom domain), or self-host.
/kit-generate-screenshots
Generate Play Store phone screenshots (1080×1920) from your app. The aso-appstore-screenshots
skill analyses your code, picks 3–5 conversion benefits, writes the ASO captions, and tells you
which raw screens to capture. Then you pick a renderer: a free framed editor
(ParthJadhav app-store-screenshots —
frames your real shots with captions at the exact resolution, no AI, no stretching), or
AI-polished scenes via Gemini (Nano Banana Pro — costs API credits + a one-time MCP setup).
Or just drop your own finished PNGs. Either way it also generates the required 1024×500
feature graphic (playstore/feature_graphic.png — your logo + app name on your brand colour).
/kit-generate-aso
Generate your Play Store listing copy — app name, short + long description — from a
keyword strategy. Derives keyword groups from your app idea, lets you pick which to target,
then writes title.txt + short_description.txt + full_description.txt into playstore/
for copy-paste into Play Console.
/kit-generate-changelog
Write the "What's new" notes for the current version from your git history since the
last release — turning commits into plain, user-facing bullets (≤ 500 chars, internal noise
dropped). Saves to playstore/changelogs/<versionCode>.txt. Called automatically by
/kit-publish-to-play, or run it standalone.
/kit-plan-release-analytics
Plan and auto-wire release-specific analytics events + a conversion funnel before a Play upload. Inserts the tracking calls at the right call-sites; confirms ambiguous ones with you.
/kit-publish-to-play
The recommended way to publish to Google Play — it walks the whole 0 → Google Play path in
the correct order, paced one step at a time, so you never hit the dependency maze. It
takes you through: a signed AAB (via /kit-sign-release) → create the Play Console app →
internal testing upload → generate and host your legal pages + screenshots (the
privacy / terms URLs Play demands) → the "Set up your app" 11-task checklist (including
generating a Data safety CSV you one-click Import into Play Console) → closed
testing (the 12-tester / 14-day gate) → apply for production → production rollout. It
surveys KitConfig (auth / paywall) and your Gradle files to pre-answer the content
and data declarations, and it untangles the dependency maze for you — the privacy URL needs
a hosted landing page, which needs screenshots; closed testing gates production — so each step
unlocks the next instead of you guessing the order. Along the way it reuses the focused
generators you already have: /kit-sign-release, /kit-generate-legal, /kit-generate-landing,
/kit-generate-screenshots, /kit-generate-aso, and /kit-generate-changelog.
Skills the commands use
Some commands invoke skills — focused generators — under the hood. You don't call these directly; the command offers them:
aso-googleplay-listing— writes your Play Store app name, short + long description, with a keyword strategy. Behind/kit-generate-aso(and offered in/kit-publish-to-play).aso-appstore-screenshots— generates ASO-optimised screenshots. Offered by/kit-generate-screenshots.onboarding-questionnaire— builds the questionnaire onboarding flow. Behind/kit-design-onboarding.
Command cheat-sheet
| Command | Use when |
|---|---|
/kit-start-setup | First thing, right after cloning |
/kit-env-check | A build fails, or new machine |
/kit-change-app-id | Rename your app |
/kit-setup-theme | Change brand color or icons |
/kit-setup-auth | Add or change login |
/kit-setup-paywall | Add subscriptions |
/kit-setup-analytics | Add tracking / crash reports |
/kit-setup-ai | Add AI features |
/kit-setup-updates | Add remote config / update gate |
/kit-setup-review-dialog | Ask users for a review |
/kit-design-app | Build your own screens |
/kit-design-onboarding | Personalised onboarding quiz |
/kit-translate | Add languages |
/kit-translate-listing | Translate the Play Store listing |
/kit-update | Pull the latest kit commands + skills (code untouched) |
/kit-run-app | Build + run on device (writes RUN.md) |
/kit-sign-release | Signed build onto a testing track |
/kit-generate-legal | Privacy policy + Data Safety |
/kit-generate-landing | Landing page + privacy/terms hosting |
/kit-generate-screenshots | Play screenshots |
/kit-generate-aso | Play listing copy (title + descriptions) |
/kit-generate-changelog | "What's new" from git history |
/kit-publish-to-play | Ship to Play (signed build → testing → production, in order) |
Next: Example Recipes — see these commands strung together for five real apps.