Contributing to r0astr¶
Thank you for your interest in contributing to r0astr!
Ways to Contribute¶
- Code - Bug fixes, features, improvements
- Documentation - Tutorials, guides, corrections
- Patterns - Add to the Pattern Library
- Skins - Create themes (see Skins)
- Bug Reports - Help us identify issues
- Ideas - Feature requests and suggestions
Development Setup¶
Prerequisites¶
- Node.js 20+
- npm 9+
- Git
Clone and Install¶
Run Development Server¶
Open http://localhost:5173
Run Tests¶
Build¶
Code Style¶
- ES Modules - Use
import/export - Vanilla JS - No framework dependencies
- Descriptive names - Clear variable and function names
- Comments - For complex logic only
Linting¶
Pull Request Process¶
- Fork the repository
- Create a branch from
main - Make changes with clear commits
- Test your changes locally
- Push to your fork
- Open a PR against
main
Commit Messages¶
Use conventional commits:
feat: add MIDI input support
fix: resolve audio glitch on Safari
docs: update pattern syntax guide
refactor: simplify panel state management
PR Checklist¶
- [ ] Code follows project style
- [ ] Tests pass locally
- [ ] Documentation updated if needed
- [ ] No console errors or warnings
- [ ] Tested in Chrome and Firefox
Issue Guidelines¶
Bug Reports¶
Include: - Browser and OS - Steps to reproduce - Expected vs actual behavior - Console errors (if any)
Feature Requests¶
Include: - Use case / problem being solved - Proposed solution - Alternatives considered
Code of Conduct¶
Be respectful and constructive. We're all here to make music.
Questions?¶
- Open a Discussion
- Check existing Issues
Thank you for contributing!