Thank you for your interest in contributing to Super Valera! This guide will help you get started.
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Follow FLOW.md for development process
- Make your changes
- Test your changes thoroughly
- Submit a pull request
- Improve existing documentation
- Add examples and clarifications
- Fix typos and formatting
- Submit a pull request
All development MUST follow the FLOW.md two-document approach:
- User Story - What and why
- Technical Specification Document - How
- Follow existing code style and patterns
- Use Ruby on Rails conventions
- Write meaningful commit messages
- Include tests for new features
- Models: Always use
rails generate modelfor creating models - Error Handling: Use
ErrorLoggerinstead ofBugsnag.notify() - Configuration: Use
anyway_config, NO.env*files - Testing: Don't use File.write/File.delete in tests, don't modify ENV
This project uses AI-first documentation approach:
- Documentation is created primarily for AI agents
- Clear requirements and context are essential
- Follow the Product Constitution
- WHY documents →
architecture/decisions.md,product/ - HOW documents →
CLAUDE.md,FLOW.md, technical docs - WHAT documents →
requirements/,domain/
# Run all tests
rails test
# Run specific test file
rails test test/models/user_test.rb
# Run with coverage
rails test:coverage- Write tests for new features
- Test edge cases and error conditions
- Don't modify the filesystem directly in tests
- Don't change ENV variables in tests
- Update documentation as needed
- Ensure all tests pass
- Follow the pull request template
- Request review from maintainers
- Respond to feedback promptly
type(scope): brief description
Detailed explanation if needed
Types:
feat:New featurefix:Bug fixdocs:Documentationstyle:Code stylerefactor:Refactoringtest:Testschore:Maintenance
critical- Blocking issues, securityhigh- Important features, bugsmedium- Enhancements, improvementslow- Nice to have, optimizations
bug- Bug reportsfeature- New featuresdocumentation- Docs improvementstesting- Test relatedperformance- Performance issues
- Read CLAUDE.md first for technical guidance
- Follow FLOW.md for development process
- Use docs/README.md for navigation
- Check domain/glossary.md for terminology
- Technical Stack: CLAUDE.md
- Architecture: architecture/decisions.md
- Product Requirements: product/constitution.md
- Domain Knowledge: domain/glossary.md
- Create an issue for questions
- Start discussions in pull requests
- Refer to existing documentation first
By contributing, you agree that your contributions will be licensed under the same license as the project.
Thank you for contributing to Super Valera! 🎉