First off, thank you for considering contributing to X-PASS! 🎉
- Check if the bug is already reported in Issues
- Open a new issue with:
- Clear title
- Steps to reproduce
- Expected vs actual behavior
- Screenshots (if applicable)
- System info (OS, version)
Add a new language:
- Copy
src/assets/locales/en/translation.json - Translate all keys
- Update
src/i18n.tswith language code - Submit a PR
Create a new theme:
- Add file
src/context/theme/themes/yourtheme.ts - Follow existing theme structure
- Update
src/context/theme/index.ts - Submit a PR with screenshot
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit changes (
git commit -m 'Add AmazingFeature') - Push to branch (
git push origin feature/AmazingFeature) - Open a Pull Request
# Install dependencies
npm install
# Run dev server
npm run tauri dev- TypeScript: Follow existing patterns
- Rust: Use
rustfmtandclippy - Commits: Use conventional commits (feat, fix, docs, style, refactor)
- Reference related issues
- Add tests for new features
- Update documentation
- Ensure CI passes
Open a Discussion or contact @ar3love.
Thank you for making X-PASS better! ❤️