Skip to content

Latest commit

 

History

History
79 lines (72 loc) · 4.66 KB

.cursorrules

File metadata and controls

79 lines (72 loc) · 4.66 KB
# Project Guidelines for AI-Assisted Development ## Overview This .cursorrules file provides foundational guidance to AI assistants, LLMs, and agents integrated within our project. It helps ensure that all interactions adhere to our architectural patterns, technical stack, quality standards, and evolving project requirements while maintaining security and stability. The project follows a monorepo structure with specialized packages for configuration management, API development, and tooling infrastructure. ## Project Architecture - Document and follow established architectural patterns focusing on modular package design with clear boundaries between configuration packages (`eslint-config`, `prettier-config`, `tsconfig`) and core functionality (`api-core`). - Map communication patterns and data flows between packages, ensuring interface clarity and separation of concerns through well-defined package exports and dependencies. - Adapt architectural documentation as the project evolves, emphasizing maintainability and scalability through our package-based approach. - Maintain clear package boundaries and versioning strategies, especially for configuration packages that other projects may consume. ## Technical Stack - Core frameworks/libraries: Utilize TypeScript as the primary language, with specialized configuration packages for code style and formatting. - Development tools: Enforce the use of established utilities through our custom packages: - `eslint-config`: Provides standardized ESLint rules and configurations - `prettier-config`: Manages code formatting with custom plugins - `tsconfig`: Centralizes TypeScript configuration - `semantic-release`: Handles versioning and release management - Monitoring & Deployment: Integrate testing frameworks (Vitest), continuous integration pipelines, and monitoring solutions to streamline deployments and validate performance. - Monorepo Structure: Maintain clear segmentation among packages with precise dependency management: - Configuration packages (`*-config`) provide shareable configurations - Core packages (`api-core`) implement main functionality - Utility packages (`create`, `semantic-release`) support development workflow ## Quality Standards - Code Quality: - Target high maintainability through custom ESLint rules and Prettier configurations - Ensure comprehensive test coverage using Vitest - Enforce consistent code style across all packages through shared configurations - Security & Compliance: - Prioritize security best practices in package configurations - Implement secure dependency management - Maintain strict version control through semantic versioning - Performance: - Enforce performance metrics through custom ESLint rules - Monitor package sizes and dependencies - Regular audits of package dependencies and configurations ## Validation Strategies and Quality Gates - Implement continuous integration with package-specific validation: - Configuration packages must maintain backward compatibility - Core packages must pass all linting and formatting checks - All packages must include comprehensive tests - Set up clear validation steps: - Enforce consistent code style through shared ESLint and Prettier configs - Require passing tests and proper semantic versioning - Validate package dependencies and circular dependency prevention - Use performance and security tools: - Regular security audits of package dependencies - Performance monitoring of configuration impact - Automated version management through semantic-release ## Scalability and Deployment Considerations - Design for scalability: - Ensure configuration packages can handle growing rule sets - Maintain backward compatibility in shared configurations - Support extensibility through plugin systems - Include guidelines on: - Package versioning and dependency management - Configuration composition and override strategies - Performance impact of shared configurations - Regularly review: - Package adoption and usage patterns - Configuration complexity and maintenance overhead - Integration patterns with consuming projects ## Additional Guidelines - Favor pattern-driven instructions: - Use TypeScript types and interfaces for configuration definitions - Implement extensible plugin systems in configuration packages - Document configuration patterns and best practices - Maintain consistency: - Follow semantic versioning strictly - Keep configuration packages focused and single-purpose - Document breaking changes and migration paths - Balance control and flexibility: - Provide sensible defaults in configuration packages - Allow for easy overrides when needed - Support gradual adoption of stricter rules