First off, thank you for considering contributing to this project! It's people like you that make open source such a great community.
- Code of Conduct
- How Can I Contribute?
- Development Setup
- Style Guidelines
- Commit Messages
- Pull Request Process
This project and everyone participating in it is governed by our Code of Conduct. By participating, you are expected to uphold this code.
Before creating bug reports, please check the issue list as you might find out that you don't need to create one. When you are creating a bug report, please include as many details as possible:
- Use a clear and descriptive title
- Describe the exact steps to reproduce the problem
- Provide specific examples
- Describe the behavior you observed and what you expected
- Include screenshots if possible
- Include your browser and OS information
Enhancement suggestions are tracked as GitHub issues. When creating an enhancement suggestion, please include:
- Use a clear and descriptive title
- Provide a detailed description of the suggested enhancement
- Provide specific examples to demonstrate the steps
- Describe the current behavior and expected behavior
- Explain why this enhancement would be useful
- Fill in the pull request template
- Follow the style guidelines
- Include screenshots for visual changes
- Update documentation if needed
- Test your changes across different browsers
-
Fork the repository
# Click the 'Fork' button on GitHub -
Clone your fork
git clone https://github.com/YOUR-USERNAME/comingsoon.git cd comingsoon -
Open the project
# Simply open index.html in your browser # Or use a local server: npx serve .
-
Make your changes
- Edit HTML, CSS, or JavaScript files
- Test in multiple browsers (Chrome, Firefox, Safari)
- Ensure responsive design works on mobile
-
Test your changes
- Open
index.htmlin different browsers - Test on mobile devices
- Verify all animations work smoothly
- Check console for errors
- Open
- Use semantic HTML5 elements
- Include proper meta tags
- Maintain accessibility standards (ARIA labels where needed)
- Use meaningful IDs and class names
- Use CSS variables for colors and common values
- Follow BEM naming convention where applicable
- Keep selectors specific but not overly nested
- Include comments for complex animations
- Ensure responsive design (mobile-first approach)
- Use modern ES6+ syntax
- Keep functions focused and single-purpose
- Include JSDoc comments for complex functions
- Avoid global variables
- Use meaningful variable and function names
- Handle errors gracefully
- Indentation: 4 spaces (no tabs)
- Line length: Max 100 characters where practical
- Quotes: Single quotes for JavaScript, double quotes for HTML
- Semicolons: Always use in JavaScript
- Comments: Use
//for single-line,/* */for multi-line
Follow these guidelines for commit messages:
- Use the present tense ("Add feature" not "Added feature")
- Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
- Limit the first line to 72 characters
- Reference issues and pull requests after the first line
Examples:
Add matrix rain color customization
- Add CSS variables for matrix rain colors
- Update README with customization guide
- Closes #123
Fix progress bar animation on mobile
The progress bar wasn't animating properly on iOS Safari.
Fixed by adding webkit prefixes.
Fixes #456
-
Update your fork
git checkout main git pull upstream main
-
Create a branch
git checkout -b feature/your-feature-name # or git checkout -b fix/your-bug-fix -
Make your changes and commit
git add . git commit -m "Add your descriptive commit message"
-
Push to your fork
git push origin feature/your-feature-name
-
Create a Pull Request
- Go to the original repository on GitHub
- Click "New Pull Request"
- Select your fork and branch
- Fill in the PR template with details
- Link any related issues
-
Wait for review
- Maintainers will review your PR
- Address any requested changes
- Once approved, your PR will be merged!
- Code follows the project's style guidelines
- Tested in Chrome, Firefox, and Safari
- Tested on mobile devices (or responsive mode)
- No console errors or warnings
- Documentation updated (if needed)
- Commit messages are clear and descriptive
- All animations work smoothly
- Accessibility standards maintained
Look for issues labeled good-first-issue - these are great for newcomers!
Common areas for contribution:
- Adding new color themes
- Improving animations
- Adding new ASCII art options
- Enhancing mobile experience
- Writing tests
- Improving documentation
- Adding translations
Feel free to create an issue with the question label or reach out to the maintainers.
Thank you for contributing! 🎉