- name
- kickjs-cli-commands-cheatsheet
- description
- Use as a quick reference for the most common kick CLI workflows — scaffolding, dev/build/start, generation, inspection.
<!-- Generated by `kick g agents` for sdeploy. Edits are overwritten on the next refresh; keep customisation in a SKILL.local.md alongside. -->
**Top commands**:
- `kick new <name>` — start a new project (prompts for template / repo / pm).
- `kick dev` — local dev server with Vite HMR.
- `kick build` — production bundle via Vite.
- `kick start` — run the built artifact (`NODE_ENV=production` auto-set).
- `kick g module <name>` — add a feature module; structure follows `pattern` in `kick.config.ts`.
- `kick g scaffold <Name> <field:type>...` — full CRUD module from field definitions.
- `kick g guard <name>` / `kick g middleware <name>` / `kick g contributor <name>` — the three "before the handler" shapes. A guard is a middleware by convention, NOT a separate primitive.
- `kick add <pkg>` — install optional packages (auto-resolves peer deps + package manager).
- `kick g --list` — list every available generator (built-ins + plugin-shipped).
- `kick info` — environment / version dump for bug reports.
- `kick inspect` — introspect a running app: routes, middleware, adapters, DI graph.
**Useful flag combos**:
```bash
kick new my-api --yes # CI-safe: minimal + inmemory, no prompts
kick new my-api -t ddd --pm pnpm --no-git --install # Fully scriptable DDD scaffold
kick new . --yes --force # Scaffold into current dir, clear existing files
kick g scaffold Post title:string body:text:optional # Shell-safe optional field syntax
kick g agents -f --only skills # Refresh just the skills after upgrade
kick add queue:bullmq # Package + peer deps (bullmq + ioredis) in one shot
kick inspect --port 4000 --json # Machine-readable route/adapter dump
kick g config --force --repo postgres # Drop a kick.config.ts into a legacy project
```
**Lesser-known, high-value**:
- `kick inspect --watch` — live route/middleware/adapter table that re-renders on hot reload; faster than re-curling `/_debug`.
- `kick g agents -f` — regenerates `CLAUDE.md` (root) and `.agents/AGENTS.md` / `GEMINI.md` / `COPILOT.md` + every `.agents/skills/<slug>/SKILL.md` from the current CLI templates.
- `kick dev:debug` — same flags as `kick dev` but opens a Node inspector port for IDE attach.
- `kick list --all` (alias `kick ls --all`) — full optional-package catalog at this CLI version.
- `kick typegen --watch` — standalone typegen watcher when `kick dev` isn't running.
- `kick check` — preflight gate (typecheck + lint + format) before commit.
- `kick codemod` — automated AST-level migration between framework versions.
**Red flags**:
- Using globally-installed `@forinda/kickjs-cli` while contributing to the monorepo — `pnpm link --global` from `packages/cli` so generators match the framework.
- Writing `"name:type?"` for optional scaffold fields — `?` is a shell glob in bash/zsh; use `name:type:optional`.
- Running `kick new <name> --yes` in a non-empty directory expecting it to wipe — `--yes` aborts without `--force`; pair them when destruction is intended.
- Skipping `kick g config` on a legacy project then wondering why generators ignore `modules.dir` / `modules.repo`.
- Editing `kick.config.ts` with deprecated top-level `modulesDir` / `defaultRepo` / `schemaDir` / `pluralize` instead of the nested `modules` block.
View on GitHub