Every framework ships a CLI. Most of them are scaffold-and-forget: a one-time nest new or next create , then you forget the binary exists and live inside package.json scripts forever. KickJS's kick CLI sits in a different bucket. It is the build tool, the codegen, the diagnostics surface, the package wirer, and — unusually — an interactive REPL with your DI container loaded. This is not an enumeration of every flag. It is a tour grouped by intent, with the less-obvious commands called out. Lifecycle — the build tool that happens to ship with the framework The lifecycle commands are what most teams wire into package.json and forget about, but they are doing more than tsc --watch would. kick new <name> and kick init create a new project. Pass . to init to scaffold into the current directory. kick dev is a Vite-backed dev server with HMR. It runs typegen on startup, watches src/**/*.ts and kick.config.ts , and tears down adapters that implement shutdown() cleanly between reloads.…