---
description:
globs:
alwaysApply: false
---
# Development Guidelines

## TypeScript Coding Standards

- **Type Safety**: Explicit type definitions for all functions and variables
- **Strict Mode**: Enable strict type checking in [tsconfig.json](mdc:tsconfig.json)
- **Type Guards**: Utilize Zod schemas for runtime validation

## Code Quality

### ESLint Configuration
- Configuration files: [eslint.config.js](mdc:eslint.config.js) and [.eslintrc.json](mdc:.eslintrc.json)
- Apply TypeScript ESLint rules
- Auto-fix: `npm run lint:fix`

### Prettier Formatting
- Configuration file: [.prettierrc](mdc:.prettierrc)
- Auto-formatting: `npm run format`
- Format check: `npm run format:check`

### Biome Integration
- Configuration file: [biome.json](mdc:biome.json)
- Provides fast linting and formatting

## File Structure Rules

### src/ Directory Structure
```
src/
├── cli/          # CLI related code
├── core/         # Core business logic
├── schemas/      # Zod schema definitions
└── types/        # TypeScript type definitions
```

### mcp-server/ Directory
- MCP server implementation
- Uses FastMCP framework
- [mcp-server/server.ts](mdc:mcp-server/server.ts) main file

## Testing Strategy

### Vitest Unit Tests
- Configuration file: [vitest.config.ts](mdc:vitest.config.ts)
- Execution: `npm test`
- Write tests for all utility functions and core logic

### Playwright E2E Tests
- Configuration file: [playwright.config.ts](mdc:playwright.config.ts)
- Integration tests for CLI interface and MCP server

## Build and Deployment

### Build Process
- TypeScript compilation: `npm run build`
- Type checking: `npm run type-check`
- Output directory: `dist/`

### Package Deployment
- NPM public package: `npm run publish-public`
- Version management: Apply semantic versioning in [package.json](mdc:package.json)

## Dependency Management

- **Runtime Dependencies**: Keep to minimum
- **Development Dependencies**: Development tools and testing frameworks
- **Use pnpm**: Lock dependencies with [pnpm-lock.yaml](mdc:pnpm-lock.yaml)
