- Frontend: See
Cartesian.Frontend/AGENTS.mdfor SvelteKit/TypeScript conventions - Backend: See
Cartesian.Services/AGENTS.mdfor .NET/C# conventions
- Frontend (
Cartesian.Frontend/):- Build:
pnpm build - Check/Typegen:
pnpm check/pnpm typegen - Lint/Format:
pnpm lint/pnpm format(Prettier) - Note: No dedicated test runner currently configured.
- Build:
- Backend (
Cartesian.AppHost/etc.):- Build:
dotnet build Cartesian.slnx - Run:
dotnet run --project Cartesian.AppHost
- Build:
- Frontend (SvelteKit + Tailwind + Effect.TS):
- Svelte 5: MUST use Runes (
$state,$derived,$props,$effect). No legacy syntax. - Styling: Tailwind CSS with
cn()utility. Shadcn UI components. - Logic: Use
Effect.TSfor business logic. Avoid classes unless for State Machines. - Formatting: Prettier default. PascalCase for components, camelCase for props/functions.
- Full Details: See
Cartesian.Frontend/AGENTS.md
- Svelte 5: MUST use Runes (
- Backend (.NET):
- Follow idiomatic C# conventions with modern features (records, required, primary constructors)
- IEndpoint pattern for all API endpoints
- Entity/DTO separation with ToDto() methods
- Typed errors inheriting from CartesianError
- Full Details: See
Cartesian.Services/AGENTS.md
- General:
- Strict Types: No
any. Define interfaces. - Concise: Minimal comments/prose. No emojis.
- Safety: Verify imports/paths. Don't assume libraries exist.
- Strict Types: No