initial commit
This commit is contained in:
45
frontend/AGENTS.md
Normal file
45
frontend/AGENTS.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# Frontend Agent Instructions
|
||||
|
||||
## Stack
|
||||
|
||||
- **Tailwind CSS 4** (no config file, just `style.css`)
|
||||
- **Bun only** (no npm commands)
|
||||
- **TypeScript strict mode**
|
||||
- **Alpine.js** (bundled in `main.js`, not via CDN)
|
||||
|
||||
## Commands
|
||||
|
||||
```bash
|
||||
bun run build
|
||||
bun run lint
|
||||
```
|
||||
|
||||
## Non-Negotiables
|
||||
|
||||
- ❌ No `any` type - use `unknown` and narrow it
|
||||
- ❌ No `as` type assertions
|
||||
- ❌ No `@ts-ignore` or `@ts-expect-error`
|
||||
- ❌ Fix all TypeScript and ESLint errors - don't ignore them
|
||||
- ❌ No Alpine.js via CDN (it's bundled)
|
||||
|
||||
## Code Style
|
||||
|
||||
- 2 spaces, single quotes, semicolons required
|
||||
- camelCase for variables/functions
|
||||
- PascalCase for types/interfaces
|
||||
- UPPER_SNAKE_CASE for constants
|
||||
- Explicit error handling with try/catch
|
||||
- User-friendly error messages in UI
|
||||
|
||||
## Key Patterns
|
||||
|
||||
- **DRY**: Extract repeated code into shared functions
|
||||
- **API calls**: Centralize in `src/client.ts`
|
||||
- **State**: Use Alpine.js reactivity + localStorage for persistence
|
||||
- **Errors**: Show in UI, don't just console.log
|
||||
|
||||
## What Goes Where
|
||||
|
||||
- Code: `src/`
|
||||
- Styles: Tailwind classes in HTML + `style.css`
|
||||
- Build output: `public/dist/` (don't commit this)
|
||||
Reference in New Issue
Block a user