An extended theme and feature plugin for Kanboard designed to boost productivity for small teams.
Kanext alters both the look and core functionality of Kanboard, providing:
- Custom Dashboards: Redesigned overviews to quickly see tasks, activities, and comments.
- UI Enhancements: Restructured menus, refined CSS styling, and quality-of-life UX improvements (e.g., closing modals by clicking outside them).
- Task Management: Advanced capabilities to limit tasks within swimlanes and enforce global team conventions.
Shown running alongside the recommended GreenWing theme plugin:
Fyi: the latest version of GreenWing has an error and after installing, you need
to manually rename the plugin folder from Greenwing-1.3.2 to Greenwing.
We provide a zero-configuration Docker setup using the official Kanboard image to make contributing incredibly easy.
- Start the container from the project root:
docker compose up -d
- Open your browser to http://localhost:88.
- Log in using the default credentials (
admin/admin).
PHP caching is automatically disabled in this environment, so your code changes will immediately reflect upon refreshing the browser.
Before committing code, initialize the local repository hooks:
make initThis ensures Kanext's custom .githooks are active, which will automatically
run the code formatter before every commit and the syntax linter before every
push.
Before pushing your commits to the repository, please verify the following, which is not an exhaustive list:
- Format the Code: Run
make formatto ensure both PHP and frontend code adhere to the project's formatting rules. - Run Linters: Execute
make lintto run the language checkers, catching syntax errors and coding standard violations. - Check Translations: Ensure all new translation strings are added and
correct (this is included in
make lintviamake check-translations). - Run Tests: Ensure all PHPUnit tests in the
Test/directory pass successfully. - Manual Testing: Verify UI/UX changes locally in the browser via the Docker environment.
- Documentation: Update the
README.mdif any new features or configurations were added. - Dependencies: Ensure
composer.lockorpackage-lock.jsonare committed if you added or updated any dependencies. - Versioning: Update the plugin version number in
Plugin.phpif preparing for a new release. - Follow Guidelines: Make sure your changes follow the project's coding guidelines and conventions.
- Update
.gitattributes: If you added new folders or files at the root directory that shouldn't be included in the final release build, remember to add them to.gitattributes(withexport-ignore) to avoid having them in the build.
