# {{pascalCase featureName}} Feature

A vertical slice feature for managing {{featureName}} entities.

## Structure

```
{{featureName}}/
├── api/               # API layer
│   ├── handlers/      # Request handlers
│   └── routes/        # Route definitions
├── data/              # Data layer
│   └── models/        # Data models
├── logic/             # Business logic layer
│   └── services/      # Service classes
├── ui/                # UI layer
│   ├── components/    # React components
│   └── screens/       # Screen/page components
├── tests/             # Test files
├── index.ts           # Public API exports
└── package.json       # Feature dependencies
```

## API Endpoints

{{#if includeApi}}
- `GET /api/{{kebabCase featureName}}` - Get all items
- `GET /api/{{kebabCase featureName}}/:id` - Get item by ID
- `POST /api/{{kebabCase featureName}}` - Create new item
- `PUT /api/{{kebabCase featureName}}/:id` - Update item
- `DELETE /api/{{kebabCase featureName}}/:id` - Delete item
{{else}}
No API endpoints included in this feature.
{{/if}}

## Usage

### Import the feature

```typescript
import { {{pascalCase featureName}}Service, {{pascalCase featureName}}Screen } from '@features/{{featureName}}';
```

### Use the service

```typescript
const service = {{camelCase featureName}}Service;

// Create item
const newItem = await service.create({ title: 'My Item' });

// Get all items
const items = await service.findAll();

// Update item
await service.update(itemId, { title: 'Updated' });

// Delete item
await service.delete(itemId);
```

## Development

```bash
# Install dependencies
pnpm install

# Run tests
pnpm test

# Type check
pnpm typecheck
```

## AI Navigation

- **UI Components**: `ui/components/`
- **Screens**: `ui/screens/`
- **Business Logic**: `logic/services/`
- **Data Models**: `data/models/`
- **API Handlers**: `api/handlers/`
- **Routes**: `api/routes/`