Contributing
Thank you for your interest in contributing to Retro Floppy!
Development Setup
- Fork and clone the repository
git clone https://github.com/cameronrye/retro-floppy.git
cd retro-floppy
- Install dependencies
npm install
- Run the example app
npm run dev
- Build the library
npm run build
Project Structure
retro-floppy/
├── src/ # Component source code
├── example/ # Example application
├── docs/ # Documentation site
├── dist/ # Built library
└── tests/ # Test files
Development Workflow
- Create a new branch:
git checkout -b feature/my-feature - Make your changes
- Run tests:
npm test - Build:
npm run build - Test in example app:
npm run dev - Commit:
git commit -m "feat: add new feature" - Push:
git push origin feature/my-feature - Open a Pull Request
Commit Convention
We use Conventional Commits:
feat:New featurefix:Bug fixdocs:Documentation changesstyle:Code style changes (formatting)refactor:Code refactoringtest:Test changeschore:Build process or tooling changes
Testing
Run tests:
npm test
Run tests in watch mode:
npm test -- --watch
Code Style
We use ESLint and Prettier for code formatting:
npm run lint
npm run format
Documentation
Update documentation when adding features:
- Update relevant docs in
docs/docs/ - Add examples to showcase the feature
- Update API reference if needed
Pull Request Guidelines
- Keep PRs focused on a single feature or fix
- Include tests for new features
- Update documentation
- Follow the existing code style
- Write clear commit messages
Reporting Issues
When reporting issues, please include:
- Retro Floppy version
- React version
- Browser and OS
- Steps to reproduce
- Expected vs actual behavior
- Code example (if applicable)
Feature Requests
We welcome feature requests! Please:
- Check if the feature already exists
- Describe the use case
- Provide examples of how it would work
- Consider submitting a PR
Questions?
- Open a GitHub Discussion
- Check existing Issues
License
By contributing, you agree that your contributions will be licensed under the MIT License.