- Build:
turbo run build(orbunx --bun vite buildin apps) - Lint:
turbo run lint(uses Prettier) - Check Types:
bun check(orturbo run check) - Test: DO NOT add unit tests unless explicitly asked. No standard test command.
- Stack: TypeScript, Svelte 5 (Runes), Tailwind CSS v4, Bun, Drizzle ORM.
- Styling: Tailwind v4. Use
clsxortailwind-mergeif needed. - Icons: Import from
@lucide/svelte.
- Reactivity: Use Runes!
$state,$derived,$effect. NO$:. - Props: Use
let { prop } = $props();instead ofexport let prop. - Events: Use
onclick={handler}instead ofon:click. - Snippets: Use
{#snippet}and{@render}instead of<slot>. - Async: Use
<svelte:boundary>and{#await}. - Data: Use remote functions (
*.remote.ts) for data fetching.
- Conciseness: Be extremely concise.
- Types: Do NOT write explicit return types unless necessary.
- Files:
apps/sv-web(SvelteKit),apps/bun-worker,packages/db.
The Effect Solutions CLI provides curated best practices and patterns for Effect TypeScript. Before working on Effect code, check if there's a relevant topic that covers your use case.
effect-solutions list- List all available topicseffect-solutions show <slug...>- Read one or more topicseffect-solutions search <term>- Search topics by keyword
Local Effect Source: The Effect repository is cloned to ~/.local/share/effect-solutions/effect for reference. Use this to explore APIs, find usage examples, and understand implementation details when the documentation isn't enough.
Trigger: user says "use btca" (for codebase/docs questions).
Run:
- btca ask -t -q ""
Available : svelte, tailwindcss