# NGINX UI - Claude Code Guidelines This project is a web-based NGINX management interface built with Go backend and Vue.js frontend. ## Package Manager - **Use pnpm exclusively** for all frontend package management operations - Commands: `pnpm install`, `pnpm run dev`, `pnpm typecheck` ## Backend (Go) Development ### Technologies & Frameworks - **Go** with Gin web framework - **GORM** for database operations - **Gen** for query simplification - **Cosy** framework (https://cosy.uozi.org/) ### Code Organization - **API Controllers**: Implement in `api/$module_name/` directory - **Database Models**: Define in `model/` folder - **Business Logic**: Place complex logic and error handling in `internal/$module_name/` - **Routing**: Register routes in `router/` directory - **Configuration**: Manage settings in `settings/` directory ### Development Guidelines - Write concise, maintainable Go code with clear examples - Use Gen to streamline database queries and reduce boilerplate - Follow Cosy Error Handler best practices for error management - Implement standardized CRUD operations using Cosy framework - Apply efficient database pagination for large datasets - Keep files modular and well-organized by functionality - **All comments and documentation must be in English** ## Frontend (Vue.js) Development ### Technology Stack - **TypeScript** for all code - **Vue 3** with Composition API - **Vite** build tool - **Vue Router** for routing - **Pinia** for state management - **VueUse** for utilities - **Ant Design Vue** for UI components - **UnoCSS** for styling ### Code Standards - Use functional and declarative programming patterns (avoid classes) - Prefer interfaces over types for better extendability - Use descriptive variable names with auxiliary verbs (e.g., `isLoading`, `hasError`) - Always use Vue Composition API with `