Prerequisites
Before you begin contributing, make sure you have the following installed:Fork and Clone
- Fork the repository on GitHub by clicking the “Fork” button at the top right of the repository page
- Clone your fork locally:
- Add the upstream remote to keep your fork synchronized:
Finding Issues to Work On
Good First Issues
Look for issues labeledgood first issue - these are specifically curated for new contributors and typically involve:
- Documentation improvements
- Simple bug fixes
- UI/UX enhancements
- Adding tests
Bug Reports
Found a bug? Before creating an issue:- Search existing issues to avoid duplicates
- Reproduce the bug on the latest version
- Gather information:
- Steps to reproduce
- Expected vs actual behavior
- Screenshots or videos (if applicable)
- System information (OS, version)
Feature Requests
Have an idea for a new feature?- Check existing discussions - someone might have suggested it already
- Open a discussion first before implementing to get feedback
- Describe the use case and why it would benefit users
Pull Request Process
Before You Start
- Comment on the issue you want to work on to avoid duplicate work
- Ask questions if anything is unclear
- Get approval for large features or breaking changes
Creating Your PR
- Create a branch from
main:
feature/- New featuresfix/- Bug fixesdocs/- Documentation changesrefactor/- Code refactoringtest/- Adding or updating tests
- Make your changes following the code style guidelines
- Run checks before committing:
- Commit your changes following the commit convention:
- Push to your fork:
- Open a Pull Request on GitHub:
- Fill out the PR template completely
- Link related issues
- Add screenshots for UI changes
- Request review from maintainers
PR Checklist
Before submitting, ensure:- Code follows the coding guidelines
- All checks pass (
bun run check) - Tests added for new functionality (when applicable)
- Documentation updated (if needed)
- Commits follow the commit convention
- PR description is clear and complete
Review Process
- A maintainer will review your PR within a few days
- Address feedback by pushing new commits to your branch
- Tests must pass - CI checks run automatically
- Once approved, a maintainer will merge your PR
Commit Convention
We use Conventional Commits to maintain a clean git history.Format
Types
| Type | Description |
|---|---|
feat | New feature |
fix | Bug fix |
docs | Documentation |
style | Code style (formatting, etc.) |
refactor | Code change that neither fixes a bug nor adds a feature |
perf | Performance improvement |
test | Adding or updating tests |
chore | Maintenance tasks |
Examples
Types of Contributions
Documentation
Documentation improvements are always welcome:- Fix typos and grammatical errors
- Add examples and clarifications
- Improve navigation and structure
- Write tutorials and guides
docs/ directory.
Code
Contribute to the codebase:- Fix bugs
- Implement new features
- Improve performance
- Add tests
- Refactor code
Plugins
Want to create a plugin? Check out our Plugin Development Guide.Themes
Create custom themes for Inkdown:- Follow the theme structure guidelines
- Use CSS variables for colors
- Test in both light and dark modes
Getting Help
Need assistance?- Questions: GitHub Discussions
- Bugs: GitHub Issues
- Development: Check the development guide
Recognition
Contributors are recognized in:CONTRIBUTORS.mdfile- Release notes
- GitHub contributors page
- Our eternal gratitude 💜
Next Steps
- Read the Development Guide for setup instructions
- Review the Code Style guidelines
- Learn about Testing practices
