Askr
Getting Started

Create a Project and Choose a Starter

Use create a project and choose a starter with the current published Askr packages.

  • @askrjs/cli0.0.5

How to use create a project and choose a starter

Create a readable starter, run it unchanged, and make one small production build after the first route works.

  1. Choose startkit for the recommended product baseline; choose spa, ssr, ssg, or full-stack only when that delivery boundary is already known.
  2. Run the generated application and read its route registry, scripts, and route-tree test before editing them.
  3. Add one page, update the expected route set, then build and preview the real output.
npx @askrjs/cli@0.0.5 create startkit my-app
cd my-app
npm run dev
npm run build

Starter matrix

The CLI ships five templates: `spa` (client-rendered single-page app), `ssr` (server-rendered on every request), `ssg` (fully static output), `full-stack` (server-backed app with API routes), and `startkit` (an opinionated batteries-included setup). Pick based on how much server involvement your app needs — see Choosing an Application Mode for the tradeoffs in more detail.

Product prompts

Instead of naming a template, you can run `askr create --prompt "Agent workflow console with approvals and analytics"` and let the CLI pick deterministically. It writes `.askr/blueprint.json` with the structured decision and `.askr/builder-brief.md` with a human-readable explanation of why that template and structure were chosen.

Readable output

Both the named-template and prompt-driven paths produce the same kind of project layout — no separate maintenance path for prompt-generated apps. The blueprint and builder-brief files are meant to be read (and committed) so a teammate or an AI agent can see the reasoning without re-running the prompt.

Selection checklist

Ask whether pages need to be generated at request time (SSR), at build time (SSG), or not at all on the server (SPA); whether you need backend API routes alongside pages (full-stack); and whether you want the fuller starter with more conventions pre-wired (startkit). If you're not sure, `startkit` is the safest general-purpose default, and you can still add SSR or SSG entrypoints later using `@askrjs/askr/ssr` and `@askrjs/askr/ssg`.