This directory contains GitHub Copilot-specific configuration files to enhance the development experience.
copilot-instructions.md- Main Copilot instructions with project patterns, error handling, and best practicesCOPILOT_CHAT_PARTICIPANTS.md- Guide for using Copilot Chat effectively with workspace commandsCOPILOT_SNIPPETS.md- Code templates and common snippets for rapid developmentDEVELOPMENT_WORKFLOW.md- Step-by-step workflow guide for feature development
# Start development
npm run dev
# Run tests
npm run test
# Quality check
npm run quality:check@workspace /explain- Understand project structure@workspace How do I add a new organism type?@workspace Show me error handling patterns@workspace Help with canvas operations
- Error Handling: Always use
ErrorHandler.getInstance().handleError() - Canvas Operations: Check context validity before drawing
- Memory Management: Use object pooling for organisms
- Testing: Mock canvas context and DOM elements
- TypeScript: Use interfaces from
src/models/
The .vscode/settings.json file is optimized for:
- Enhanced Copilot integration
- TypeScript development
- Canvas debugging
- Testing with Vitest
- Better project navigation
- Use descriptive variable names
- Include JSDoc comments for complex functions
- Keep files focused on single responsibilities
- Use TypeScript interfaces consistently
- Organism creation with object pooling
- Canvas drawing with error handling
- Test setup with proper mocking
- Performance optimization patterns
- Memory management best practices
- Components:
ComponentName.ts - Tests:
ComponentName.test.ts - Types:
types.tsorinterfaces.ts - Utils:
utilityName.ts
- Check if you're following project patterns
- Add more context in comments
- Use type annotations
- Reference existing similar code
- Include canvas context checks
- Use error handling patterns
- Reference existing drawing methods
- Include touch event handling
- Mention object pooling needs
- Reference memory management
- Include performance monitoring
- Consider batch processing
- Organism simulation with growth/death mechanics
- Real-time rendering and interaction
- Performance-critical with large populations
- Cross-platform (desktop + mobile)
- TypeScript for type safety
- HTML5 Canvas for rendering
- Vite for building
- Vitest for testing
- Playwright for E2E testing
- Object pooling for memory efficiency
- Spatial partitioning for performance
- Error handling with graceful degradation
- Modular component structure
When modifying these Copilot configuration files:
- Test changes with actual Copilot usage
- Update patterns based on new project features
- Keep examples current with codebase
- Maintain consistency across files