Thank you for your interest in contributing to MarkBun! This document provides guidelines and instructions for contributing to the project.
- Bun 1.0+ installed
- Git
- macOS 11+, Windows 10+, or Linux
-
Fork and clone the repository
git clone https://github.com/yourusername/markbun.git cd markbun -
Install dependencies
bun install
-
Run in development mode
# With HMR (recommended for UI development) bun run dev:hmr # Without HMR bun run dev
markbun/
├── src/
│ ├── bun/ # Main process (Bun/Electrobun)
│ │ └── index.ts # Entry point
│ └── mainview/ # Renderer process (React)
│ ├── App.tsx # Main component
│ ├── main.tsx # React entry
│ └── index.css # Styles
├── doc/ # Documentation
├── electrobun.config.ts # Electrobun configuration
└── package.json
- Use TypeScript for all new code
- Follow the existing code formatting
- Use meaningful variable and function names
- Add comments for complex logic
We follow conventional commits:
feat: Add new feature
fix: Fix a bug
docs: Update documentation
style: Code style changes
refactor: Code refactoring
test: Add or update tests
chore: Build process or auxiliary tool changes
Example:
feat: Add file explorer sidebar component
- Implement folder tree navigation
- Add file open/save handlers
- Style with Tailwind CSS
feature/description- New featuresfix/description- Bug fixesdocs/description- Documentation updatesrefactor/description- Code refactoring
Before submitting a PR:
- Test your changes in both HMR and non-HMR modes
- Verify the app builds successfully:
bun run build:canary
- Check for TypeScript errors:
bun run tsc --noEmit
- Create a new branch for your feature/fix
- Make your changes with clear commit messages
- Push to your fork
- Open a Pull Request with:
- Clear description of changes
- Screenshots (if UI changes)
- Reference to any related issues
We're currently working on MVP (v0.1.0):
- Milkdown WYSIWYG editor integration
- Basic file open/save functionality
- Simple toolbar with formatting buttons
- Dark/light mode toggle
Check the ROADMAP.md for more details.
- Open an issue for bug reports or feature requests
- Use discussions for questions and ideas
- Be respectful and constructive
By contributing, you agree that your contributions will be licensed under the MIT License.
Thank you for helping make MarkBun better! 🎉