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:

  1. 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.
  2. 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.

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

CommandUse when
/kit-start-setupFirst thing, right after cloning
/kit-env-checkA build fails, or new machine
/kit-change-app-idRename your app
/kit-setup-themeChange brand color or icons
/kit-setup-authAdd or change login
/kit-setup-paywallAdd subscriptions
/kit-setup-analyticsAdd tracking / crash reports
/kit-setup-aiAdd AI features
/kit-setup-updatesAdd remote config / update gate
/kit-setup-review-dialogAsk users for a review
/kit-design-appBuild your own screens
/kit-design-onboardingPersonalised onboarding quiz
/kit-translateAdd languages
/kit-translate-listingTranslate the Play Store listing
/kit-updatePull the latest kit commands + skills (code untouched)
/kit-run-appBuild + run on device (writes RUN.md)
/kit-sign-releaseSigned build onto a testing track
/kit-generate-legalPrivacy policy + Data Safety
/kit-generate-landingLanding page + privacy/terms hosting
/kit-generate-screenshotsPlay screenshots
/kit-generate-asoPlay listing copy (title + descriptions)
/kit-generate-changelog"What's new" from git history
/kit-publish-to-playShip to Play (signed build → testing → production, in order)

Next: Example Recipes — see these commands strung together for five real apps.