Thank you for your interest in contributing! This document provides guidelines for contributing to this project.
Copyright © 2025 Sergio Bañuls
This project is licensed under a Personal Use License (Non-Commercial). By contributing, you agree that:
- Your contributions will be licensed under the same Personal Use License
- Sergio Bañuls retains copyright as the original author
- All contributions must respect the non-commercial nature of this project
- Commercial use requires explicit permission from the copyright holder
Please review the LICENSE file before contributing.
- Fork the repository
- Clone your fork:
git clone https://github.com/masorange/ClaudeUsageTracker.git - Create a branch:
git checkout -b feature/your-feature-name - Make your changes
- Test your changes
- Commit:
git commit -m 'Add some feature' - Push:
git push origin feature/your-feature-name - Open a Pull Request
- Follow Swift naming conventions
- Use clear, descriptive variable names
- Add comments for complex logic
- Keep functions small and focused
Before submitting a PR:
- Build the app:
./build.sh - Test all features:
- Menu bar display
- Data loading
- Language switching
- Refresh functionality
- Verify on a clean macOS installation if possible
- Use clear, descriptive commit messages
- Start with a verb (Add, Fix, Update, Remove, etc.)
- Examples:
Add support for custom pricingFix loading state not updating menu barUpdate README with new features
We use GitHub issue templates to make bug reporting easier and more structured.
To report a bug:
- Go to Issues
- Select "Bug Report" template
- Fill in all required sections:
- Bug description
- Steps to reproduce
- Expected vs actual behavior
- Environment details (macOS version, app version, etc.)
- Screenshots if applicable
The template will guide you through providing:
- Detailed reproduction steps
- Your system configuration
- Whether you're using API or local mode
- Troubleshooting steps you've already tried
- Relevant logs from Console.app
We welcome feature requests! We have a dedicated template to help you submit comprehensive proposals.
To request a feature:
- Go to Issues
- Select "Feature Request" template
- Describe:
- The problem you're trying to solve
- Your proposed solution
- Alternative approaches you've considered
- Your use case and how often you'd use it
- Implementation ideas (if you have technical knowledge)
Before submitting:
- Search existing issues to avoid duplicates
- Check if it's already planned in project roadmap
- Consider if it aligns with the project's purpose
For general questions about using the app:
- Check the README and Installation Guide first
- Search existing issues and discussions
- If still unsure, use the "Question" issue template
- For community discussions, prefer GitHub Discussions
We have a comprehensive Pull Request template to ensure quality contributions.
Before creating a PR:
- Fork the repository and create your feature branch
- Make your changes following our code style guidelines
- Test thoroughly on macOS (see Testing section above)
- Update documentation if needed (README, comments, etc.)
- Ensure the app builds without errors:
./build.sh
When submitting a PR:
- Go to Pull Requests
- Click "New Pull Request"
- Our template will automatically load - fill in all sections:
- Description and related issue number
- Type of change (bug fix, feature, etc.)
- Testing performed and results
- Checklist items (code quality, functionality, documentation)
- Screenshots (if applicable)
- License compliance confirmation
The PR template includes:
- ✅ Code quality checklist
- ✅ Functionality verification steps
- ✅ Documentation requirements
- ✅ License compliance acknowledgment
- ✅ Testing checklist specific to this app
After submission:
- Wait for automated checks to pass (if any)
- Respond to review feedback promptly
- Make requested changes in new commits
- Request re-review once changes are made
Review Process:
- Maintainers will review your code for quality and functionality
- You may be asked to make changes
- Once approved, your PR will be merged
- Thank you for your contribution!
Open an issue with the question label.
Thank you for contributing! 🎉