# KICKOFF — my-cronus-app
> Generated by the Cronus Stack Builder. This file is the **single source of truth** for the project's stack, conventions, and mission. Read it fully before writing any code.
## Mission
Build **my-cronus-app** on the stack below. Keep choices consistent with this stack — do not introduce frameworks, databases, or tools not listed here without explicit approval.
## Stack (resolved — the truth)
| Layer | Choice |
| --- | --- |
| Web | Next.js |
| Runtime | Bun |
| Database | SQLite |
| ORM | Drizzle |
| DB Setup | Basic |
| Auth | Better-Auth |
| UI | Cronus UI |
| Package Manager | bun |
## Conventions & standards
Project standards — apply them everywhere, from the first commit, so the codebase stays consistent no matter who writes the next file.
- **Naming:** kebab-case for file and folder names (`user-profile.tsx`); keep React components PascalCase in code.
- **Structure:** all application code lives under `src/`; keep config at the root.
- **Imports:** use the `@/…` path alias for absolute imports; avoid deep relative paths (`../../../`).
- **Commits:** Conventional Commits — `type(scope): subject` (`feat`, `fix`, `chore`, …).
- **TypeScript:** strict mode — no implicit `any`, no `!` non-null assertions to silence the compiler.
## Repo map
```
my-cronus-app/
package.json # scripts and selected dependencies
src/app/ # Next.js App Router starter
cronus-ui.json # Cronus UI registry paths and pinned registry URL
.env.example # required environment variables to fill before wiring services
KICKOFF.md # this briefing
stack.json # machine-readable stack snapshot
```
## Manual follow-up from selected stack
- Run db:push — Drizzle schema is already in the repo.
- Better-Auth is scaffolded — set BETTER_AUTH_SECRET and protect mutating routes.
- Compose a product with `npx cronus-ui compose saas` (or admin).
## Commands
```bash
bun install
bun dev
bun typecheck
bun build
bun db:push # sync the Drizzle schema already in the repo
```
## AI capabilities selected
- **Assistants:** Claude Code
- **MCP servers:** none
- **Skills:** none
- Generated files cover the supported assistants, MCP servers, and AI Kit skills; unsupported MCP servers remain manual follow-up.
## Cronus UI contract
This project uses **Cronus UI**. Treat these as hard rules:
- Use **only** components from `@cronus-ui/ui` — never hand-roll a primitive that already exists.
- Use **only** semantic design-system tokens (e.g. `bg-surface-raised`, `text-fg`, `border-border`). Never hardcode hex/rgb colors or raw Tailwind palette classes.
- Compose class names with `cn` from `@cronus-ui/ui`.
- Add `"use client"` to any component that holds state or effects.
- Every interactive element must have a visible `focus-visible` ring and pass the axe a11y gate.
- Tag composite elements with `data-slot` for styling hooks.
## Guardrails
- Stay on the stack above; ask before adding new top-level dependencies.
- No secrets in the repo — use `.env` and document required vars in `.env.example`.
- Keep changes typed; do not introduce `any` or suppress type errors to ship.
- Auth is **Better-Auth** — protect every mutation/route that needs a signed-in user.
## Definition of Done
- [ ] Type checks pass (no errors, no new `any`).
- [ ] Tests pass (and new behavior is covered).
- [ ] UI uses only `@cronus-ui/ui` + semantic tokens; axe a11y gate is green.
- [ ] App runs locally end-to-end against the configured stack.