# AGENTS.md - Agent Coding Guidelines
This document provides guidelines for agents working on this codebase.
## Project Overview
- **Framework**: Nuxt 3 (Vue 3)
- **Styling**: Tailwind CSS
- **State Management**: Pinia
- **UI Components**: Headless UI + Nuxt Icon
- **Image Handling**: @nuxt/image
- **TypeScript**: Enabled (tsconfig extends .nuxt/tsconfig.json)
- **Storybook**: Available for component documentation
## Build Commands
```bash
# Development
npm run dev # Start development server
npm run build # Build for production
npm run generate # Generate static site (SSG)
npm run preview # Preview production build
# No test framework configured
```
## Code Style Guidelines
### General Conventions
- Use Vue 3 Composition API with `
```
### Tailwind CSS
- Use Tailwind utility classes for all styling
- Common classes used: `flex`, `grid`, `fixed`, `relative`, `z-*`, `p-*`, `m-*`, `text-*`, etc.
### API Routes (Server)
```typescript
// server/api/example.ts
export default defineEventHandler((event) => {
// Handle request and return data
})
```
### Store Patterns (Pinia)
```javascript
// stores/ExampleStore.js
import { defineStore } from "pinia"
export const useExampleStore = defineStore("ExampleStore", {
state: () => ({ count: 0 }),
actions: {
increment() {
this.count++
}
}
})
```
### Error Handling
- Use try/catch in API routes
- Return appropriate HTTP status codes
- Handle undefined/null values gracefully
### Imports
- Vue/composables: Use Nuxt auto-imports (no import needed)
- External modules: Explicit import
- Server-only: Place in `/server/` directory
- Path aliases: `@/` maps to project root
### Additional Notes
- Project uses Storybook (`.stories.ts` files) for component documentation
- Environment variables should use `.env` files (not committed)
- Image domains configured for `unboundedpress.org` in nuxt.config.ts