Skip to main content

Required files per member

The PII table is always present. A member that handles no personal data says “None” and names the change that would make it revisit the answer.

Kinds

  • Apps: vite, expo, docs, next.
  • Packages: domain, platform, lib, tooling.
  • Services: plain TypeScript members at services/<name>; stackra gen generates the Encore app into .stackra/encore/ (0124).

Conventions

  • Package exports list @stackra/source (./src/*.ts) first, then types/default in tsdown’s dist/*.d.mts/dist/*.mjs (0025).
  • Tests sit beside the code, in src/**/__tests__.
  • package.json key order: name, version, private, description, license, type, main (Expo only), scripts, dependencies, devDependencies.

Scaffolding

stackra new <kind> <name> --description "<one sentence>" [--category <c>] [--entries react,native|none] [--data] [--title "<Title>"] [--port <n>] [--repo <path>] [--dry-run] copies a template from tools/scaffold/templates, replaces the tokens, copies the target repo’s LICENSE, and formats the result. Then run pnpm install and pnpm verify.
--description is required: the sentence becomes the package.json description and opens README.md and AGENTS.md. Members come out in the programming model v3 shape (ADR 0294 rule R12). Shapes: ADR 0126. Flags and tokens: Scaffolding.