kanboard/CONTRIBUTING.md at main · kanboard/kanboard · GitHub
Skip to content

Latest commit

 

History

History
140 lines (102 loc) · 4.51 KB

File metadata and controls

140 lines (102 loc) · 4.51 KB

Contributing to Kanboard

Kanboard is a free and open source Kanban project management software that welcomes contributions from the community.

Project Status

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

Ways to Contribute

🐛 Bug Reports

If you find a bug, please help us improve Kanboard by reporting it:

  1. Check existing issues first to avoid duplicates
  2. Use the GitHub issue tracker to report bugs
  3. 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

🔧 Bug Fixes and Small Improvements

We welcome pull requests that fix bugs or make small improvements:

  1. Fork the repository and create a new branch
  2. Keep changes focused - one issue per pull request
  3. Test your changes thoroughly
  4. Follow the existing code style
  5. Submit a pull request with a clear description

📚 Documentation

Help improve Kanboard's documentation:

  • Fix typos or unclear explanations
  • Add missing documentation for features
  • Translate documentation to other languages
  • Improve code comments

🌐 Translations

Kanboard supports multiple languages. Help translate the interface:

  1. Check the app/Locale directory for existing translations
  2. Create or update translation files
  3. Follow the existing translation format
  4. Test your translations in the application

Refer to the Translation Guide for more details.

Development Setup

Prerequisites

  • PHP 8.1 or higher
  • Web server (Apache, Nginx, or PHP built-in server)
  • Database (MySQL, PostgreSQL, or SQLite)
  • Composer (for dependency management)

Local Development

  1. Clone the repository:

    git clone https://github.com/kanboard/kanboard.git
    cd kanboard
  2. Install dependencies:

    composer install
  3. Set up your environment:

    • Copy config.default.php to config.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 .
  4. Run unit tests to ensure everything is working:

    make test-sqlite # or make test-mysql, make test-postgresql

Testing

  • 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

Pull Request Guidelines

Before submitting a pull request, please:

  1. Read the pull request template (.github/pull_request_template.md)
  2. Create a focused branch from main for your changes
  3. Write clear commit messages using the conventional commit format
  4. Keep your changes small and focused - large PRs are harder to review
  5. Test your changes thoroughly to ensure they work as expected
  6. Ensure your code passes all tests and does not introduce new issues
  7. Add or update tests if when appropriate
  8. Review your code for style and quality before submitting
  9. Update documentation if needed

Code Style Guidelines

  • 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.

Resources

License

By contributing to Kanboard, you agree that your contributions will be licensed under the same MIT License that covers the project.