Welcome Contributors
Thanks for your interest in contributing to Readme.so! This community-maintained project welcomes all types of contributions including new features, bug fixes, documentation improvements, and translations.Readme.so is a community fork of the original readme.so by Katherine Oelsner, now maintained by Koushik Romel.
Ways to Contribute
Reporting Bugs
Found a bug? Help us fix it:Check Existing Issues
Search the Issues page to see if the bug has already been reported.
Create a New Issue
If it hasn’t been reported, create a new issue with:
- Clear title - Summarize the problem
- Steps to reproduce - Exact steps to trigger the bug
- Expected behavior - What should happen
- Actual behavior - What actually happens
- Screenshots - If applicable
- Environment - Browser, OS, device type
Suggesting Features
Have an idea for a new feature?Open a Feature Request
Create a feature request issue to discuss your idea.
Improving Documentation
Documentation improvements are always welcome:- Fix typos or unclear explanations
- Add missing documentation
- Improve code examples
- Translate to new languages
Development Workflow
1. Fork and Clone
2. Set Up Development Environment
3. Create a Feature Branch
feature/- New featuresfix/- Bug fixesdocs/- Documentation updatesrefactor/- Code refactoringtest/- Test additions or fixes
4. Make Your Changes
Follow these guidelines when making changes:Code Style
The project enforces code style through ESLint and Prettier:- Use functional components with hooks
- Prefer
constoverlet - Use meaningful variable names
- Keep components small and focused
- Add comments for complex logic
Component Guidelines
When creating or modifying components:- Keep components under 300 lines
- Extract reusable logic into hooks
- Use prop destructuring
- Include PropTypes or TypeScript types (future)
- Test user-facing components
State Management
Follow the existing patterns:5. Test Your Changes
- ✅ Editor loads without errors
- ✅ Can add/remove sections
- ✅ Can edit section content
- ✅ Can drag and drop sections
- ✅ Preview updates in real-time
- ✅ Works on mobile devices
- ✅ Dark mode works correctly
- ✅ No console errors or warnings
6. Build and Verify
Before submitting, ensure the project builds successfully:7. Commit Your Changes
Write clear, descriptive commit messages:feat- New featurefix- Bug fixdocs- Documentation changesstyle- Formatting, missing semicolons, etc.refactor- Code restructuringtest- Adding testschore- Maintenance tasks
8. Push to Your Fork
9. Open a Pull Request
Navigate to the Repository
Go to the main repository on GitHub.
Click 'New Pull Request'
GitHub will detect your recently pushed branch and show a prompt to create a PR.
Fill Out PR Template
Provide a clear title and description:Title: Brief summary of changes (e.g., “Add badges section template”)Description:
- What changes were made
- Why the changes were necessary
- How to test the changes
- Screenshots (if UI changes)
- Related issue numbers
Pull Request Guidelines
PR Checklist
Before submitting, ensure:- Code follows project style (passes
npm run lint) - All tests pass (
npm test) - Project builds successfully (
npm run build) - Changes are well-documented in code comments
- No console errors or warnings
- Tested on both desktop and mobile
- Tested in both light and dark modes
- PR description clearly explains changes
Review Process
Be patient and respectful during the review process. Maintainers are volunteers reviewing contributions in their spare time.
Code of Conduct
Please be respectful and considerate of others when contributing to this project. We strive to create a welcoming environment for everyone. Expected Behavior:- Be respectful of differing opinions and experiences
- Accept constructive criticism gracefully
- Focus on what’s best for the community
- Show empathy towards other contributors
- Trolling, insulting comments, or personal attacks
- Public or private harassment
- Publishing others’ private information
- Other unprofessional conduct
Getting Help
Need help contributing?Join Discussions
Ask questions in GitHub Discussions
Contact Maintainer
Reach out on Twitter/X
Recognition
All contributors are recognized in:- GitHub’s contributors graph
- Release notes (for significant contributions)
- The project’s community
Next Steps
Local Setup
Set up your development environment
Architecture
Understand the codebase structure
Testing
Learn how to write tests
View Issues
Find issues to work on
Thank you for contributing to Readme.so! Your efforts help make this tool better for everyone.