Contributing
Reporting Issues
- Check if the issue already exists in GitHub Issues
- Provide device info (model, Android version, Colota version)
- Include logs if possible:
adb logcat | grep Colota - Describe steps to reproduce
Pull Requests
- Fork the repository
- Create a feature branch:
git checkout -b feature/batch-export - Make your changes with clear commit messages
- Add or update tests for new/changed functions, hooks, and components
- Test on a real device
- Open a Pull Request
See the Development Guide for architecture details and Local Setup for building from source.
Code Style
- TypeScript / React Native for the UI layer
- Kotlin for native Android modules
- Follow existing patterns in the codebase
- Use
loggerinstead ofconsole.log- import fromsrc/utils/logger - Use
AppLoggerinstead ofandroid.util.Login Kotlin code - import fromcom.Colota.util.AppLogger - Test both build flavors if your changes touch native code:
cd apps/mobile/android
./gradlew assembleGmsDebug assembleFossDebug - Run before submitting:
npm run lint -w @colota/mobile
npx -w @colota/mobile tsc --noEmit
npm test -w @colota/mobile
cd apps/mobile/android && ./gradlew testGmsDebugUnitTest testFossDebugUnitTest
Project Structure
colota/
├── apps/
│ ├── mobile/ # React Native Android app
│ │ ├── android/ # Native Kotlin modules
│ │ └── src/ # React Native TypeScript
│ └── docs/ # Docusaurus documentation
├── packages/
│ └── shared/ # Shared colors and types
├── screenshots/ # App screenshots
└── package.json # Monorepo root