Kanboard is a free and open source Kanban project management software that welcomes contributions from the community.
Important Note: Kanboard is currently in maintenance mode. This means:
- The original author is not actively developing major new features
- New releases are published regularly based on community contributions
- Pull requests for bug fixes and small improvements are welcomed
- The project follows established guidelines for all contributions
If you find a bug, please help us improve Kanboard by reporting it:
- Check existing issues first to avoid duplicates
- Use the GitHub issue tracker to report bugs
- Provide detailed information including:
- Kanboard version
- PHP version
- Web server (Apache, Nginx, etc.)
- Database type and version
- Operating system
- Steps to reproduce the issue
- Expected vs actual behavior
- Screenshots, server and browser logs if applicable
We welcome pull requests that fix bugs or make small improvements:
- Fork the repository and create a new branch
- Keep changes focused - one issue per pull request
- Test your changes thoroughly
- Follow the existing code style
- Submit a pull request with a clear description
Help improve Kanboard's documentation:
- Fix typos or unclear explanations
- Add missing documentation for features
- Translate documentation to other languages
- Improve code comments
Kanboard supports multiple languages. Help translate the interface:
- Check the
app/Localedirectory for existing translations - Create or update translation files
- Follow the existing translation format
- Test your translations in the application
Refer to the Translation Guide for more details.
- PHP 8.1 or higher
- Web server (Apache, Nginx, or PHP built-in server)
- Database (MySQL, PostgreSQL, or SQLite)
- Composer (for dependency management)
-
Clone the repository:
git clone https://github.com/kanboard/kanboard.git cd kanboard -
Install dependencies:
composer install
-
Set up your environment:
- Copy
config.default.phptoconfig.php - Configure your database settings
- Set up your web server to point to the project directory, or use the PHP built-in server:
php -S localhost:8000 -t . - Copy
-
Run unit tests to ensure everything is working:
make test-sqlite # or make test-mysql, make test-postgresql
- Test your changes in different browsers
- Test with multiple database types (MySQL, PostgreSQL, SQLite)
- Test with different PHP versions if possible
- Ensure existing functionalities are not broken by your changes
- Run the unit tests and integration tests
Before submitting a pull request, please:
- Read the pull request template (
.github/pull_request_template.md) - Create a focused branch from
mainfor your changes - Write clear commit messages using the conventional commit format
- Keep your changes small and focused - large PRs are harder to review
- Test your changes thoroughly to ensure they work as expected
- Ensure your code passes all tests and does not introduce new issues
- Add or update tests if when appropriate
- Review your code for style and quality before submitting
- Update documentation if needed
- Be consistent with existing code style
- Follow PSR-1 and PSR-2 coding standards
- Configure your code editor to use 4 spaces for indentation
- Use meaningful variable and function names
- Add comments for complex logic
- Keep functions and methods focused and small
- Use type hints where appropriate
Refer to Kanboard's coding standards for more details.
- Official Website: https://kanboard.org/
- Documentation: https://docs.kanboard.org/
- Forums: https://kanboard.discourse.group/ or https://github.com/orgs/kanboard/discussions
- GitHub Issues: https://github.com/kanboard/kanboard/issues
By contributing to Kanboard, you agree that your contributions will be licensed under the same MIT License that covers the project.
