opencompletion.com/CLAUDE.md
Russell Ballestrini d4a075ac9a Complete testing framework with comprehensive test coverage
- Add comprehensive testing framework with 67 test cases covering unit, integration, and functional testing
- Create universal YAML validator supporting all activity types with validation for metadata operations, terminal steps, and Python syntax
- Implement proper Makefile with venv management and test runners following unDRY principles for copy-paste engineering
- Add requirements-test.txt for test dependencies separation
- Configure pytest with conftest.py for proper environment variable management
- Update CLAUDE.md with Makefile best practices
- All 67 tests passing with proper mocking of external dependencies

Testing coverage includes:
• Unit tests (37): Core app functions, utilities, navigation, response handling
• Integration tests (20): Complete activity workflows and error handling
• Functional tests (9): Full battleship game scenarios and edge cases
• YAML validator (17): Universal validation for all activity configurations
2025-08-10 19:38:47 -04:00

1.2 KiB

Claude Instructions

Commit Messages

  • NEVER add Claude attributions like "🤖 Generated with Claude Code" to commit messages
  • Keep commit messages focused on the actual changes and their purpose
  • Use conventional commit format when appropriate
  • Be concise but descriptive about what was changed and why

Code Style

  • Follow existing code conventions in the project
  • Use appropriate linting tools (black, ruff, etc.) when available
  • Maintain consistent naming and formatting

Testing

  • Run existing tests before committing when available
  • Write tests for new functionality when appropriate
  • Verify changes work as expected

Documentation

  • Update relevant documentation when making significant changes
  • Keep README files current with new features or setup changes
  • Document any new environment variables or configuration options

Python/Matplotlib Best Practices

  • Always add matplotlib.use("Agg") before importing matplotlib.pyplot to prevent runtime errors in headless environments

Makefile Best Practices

  • Avoid variable substitutions - don't be afraid to be unDRY in the Makefile so engineers can copy and paste
  • Use tabs not spaces, and for fuck sake be happy about it