Contributing to Clicke
January 7, 2026 · View on GitHub
Ways to Contribute
- Report bugs by opening an issue
- Suggest features
- Improve documentation
- Submit code via pull requests
Development Setup
Prerequisites
- macOS 14.0 or later
- Xcode 16.0 or later
- Git
Getting Started
-
Fork the repository on GitHub
-
Clone your fork:
git clone https://github.com/YOUR_USERNAME/clicke.git cd clicke -
Open in Xcode:
open clicke.xcodeproj -
Build and run with Command + R
Code Guidelines
Swift Style
- Follow Swift API Design Guidelines
- Use meaningful variable and function names
- Keep functions small and focused
- Add comments for complex logic
SwiftUI
- Use
@Statefor local view state - Use
@StateObjectfor owned observable objects - Use
@ObservedObjectfor passed-in observable objects - Extract reusable views into separate structs
Project Structure
clicke/
├── Coordinator/ App lifecycle, windows
├── Extensions/ Swift extensions
├── Features/ Feature modules (Editor, Settings)
├── Managers/ Singleton managers
├── Models/ Data models
├── View/ Main views
└── ViewModel/ View models
Commit Messages
Use clear, descriptive commit messages:
feat: Add new gradient preset
fix: Resolve slider lag on noise adjustment
docs: Update README with build instructions
refactor: Extract noise generation to separate struct
Prefixes:
feat:New featurefix:Bug fixdocs:Documentationrefactor:Code refactoringtest:Testschore:Maintenance
Pull Request Process
-
Create a branch for your feature:
git checkout -b feature/your-feature -
Make your changes and test thoroughly
-
Commit your changes:
git commit -m "feat: Add your feature" -
Push to your fork:
git push origin feature/your-feature -
Open a Pull Request on GitHub
PR Checklist
- Code follows project style guidelines
- App builds without warnings
- Feature has been tested on macOS
- Documentation updated if needed
- Commit messages are clear
Reporting Issues
Bug Reports
Include:
- macOS version
- Steps to reproduce
- Expected vs actual behavior
- Screenshots if applicable
Feature Requests
Include:
- Use case description
- Expected behavior
- Mockups if possible
Testing
Before submitting a PR:
- Build the app (Command + B)
- Run the app (Command + R)
- Test the specific feature you changed
- Test related features for regressions
License
By contributing, you agree that your contributions will be licensed under the MIT License.