Thank you for your interest in contributing to JS Playground! We aim to make this JavaScript playground a powerful tool for developers worldwide.
- Fork the repository
- Clone your fork
- Create a new branch
- Make your changes
- Submit a pull request
# Install dependencies
yarn install
# Start development server
yarn dev
- Use TypeScript for all new files
- Avoid using
any
type - Write proper interfaces and types
- Use proper type imports/exports
- Use functional components and hooks
- Keep components small and focused
- Write meaningful component names
- Document props using TypeScript interfaces
- Use meaningful variable names
- Write comments for complex logic
- Follow existing code formatting
- Use absolute imports
- Keep files under 200 lines when possible
Follow the Conventional Commits specification:
feat: add hat wobble
^--^ ^------------^
| |
| +-> Summary in present tense
|
+-------> Type: feat, fix, docs, style, refactor, test, or chore
- Write tests for new features
- Update tests for modified code
- Ensure all tests pass before submitting PR
- Update README.md for new features
- Document new components and hooks
- Add JSDoc comments for functions
- Update type definitions
- Update the README.md with new features
- Update the documentation
- Add tests for new functionality
- Ensure code passes linting
- Request review from maintainers
- Address review feedback promptly
- Keep discussions professional
- Be open to suggestions
- Ask questions if unclear
- Start small with your first contribution
- Join our community discussions
- Ask for help when needed
- Be patient with reviews
Thank you for contributing! 🎉