PHPackages                             surgiie/kantui - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. surgiie/kantui

ActiveProject[Utility &amp; Helpers](/categories/utility)

surgiie/kantui
==============

A minimal transparent php kanban TUI with vim-like keybindings.

v0.6.3(3mo ago)519MITPHPPHP ^8.3CI passing

Since Feb 27Pushed 3mo ago1 watchersCompare

[ Source](https://github.com/surgiie/kantui)[ Packagist](https://packagist.org/packages/surgiie/kantui)[ RSS](/packages/surgiie-kantui/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (9)Dependencies (11)Versions (17)Used By (0)

kantui
======

[](#kantui)

A minimal transparent php kanban TUI with vim-like keybindings.

[![Tests](https://github.com/surgiie/kantui/actions/workflows/ci.yml/badge.svg)](https://github.com/surgiie/kantui/actions/workflows/ci.yml/badge.svg)

[![kantui overview](https://camo.githubusercontent.com/54e82e68eccc2efa934cc45849e6544167f43fbe2b52e12b14a08585a543c4d1/68747470733a2f2f692e696d6775722e636f6d2f53574a674366482e706e67)](https://camo.githubusercontent.com/54e82e68eccc2efa934cc45849e6544167f43fbe2b52e12b14a08585a543c4d1/68747470733a2f2f692e696d6775722e636f6d2f53574a674366482e706e67)

Installation
------------

[](#installation)

Install with composer locally or globally and add appropriate paths to your `$PATH` environment variable:

```
composer require surgiie/kantui
# or globally
composer global require surgiie/kantui
```

### Use

[](#use)

```
# specify context or "board" to use. This lets you manage multiple boards.
export KANTUI_CONTEXT="my-context"
kantui
```

**Note**: All data will be written to `~/.kantui` directory. If you want to use a different directory, you can set the `KANTUI_HOME` environment variable.

Configuration
-------------

[](#configuration)

A configuration file maybe placed at `~/.kantui/config.json` or at `~/.kantui/contexts//config.json` to customize some aspects of the application.

Below is the current available configuration options:

```
{
  "timezone": "America/New_York",
  "human_readable_date": true,
  "delete_done": false
}
```

- `timezone`: The timezone to use for the application. Defaults to the system timezone. One of any listed [here](https://www.php.net/manual/en/timezones.php).
- `human_readable_date`: Whether to display dates in a human readable format. e.g "2 days ago". Defaults to `true`.
- `delete_done`: Delete finished todos permanently instead of moving it to the "done" status and keeping it in the data file. Defaults to `true`.

Run With Docker:
----------------

[](#run-with-docker)

If you don't have or want to install php, you can run use the provided docker script to spin up a container which you can utilize to run the application.

### Install Docker Script:

[](#install-docker-script)

```
mkdir $HOME/.local/bin # add to $PATH or customize install location.
wget -qO $HOME/.local/bin/kantui https://raw.githubusercontent.com/surgiie/kantui/refs/heads/main/docker && chmod +x $HOME/.local/bin/kantui
```

```
# start app. Image and container will be created if not already present
kantui
# if specific package version is desired, set the desired version as env and run script, new image/container will start.
export KANTUI_VERSION="v0.1.0" && kantui

# attach to the container and start a bash shell
kantui --attach
```

**Note** - Your `~/.kantui` directory will automatically be mounted on initial run and any `KANTUI_` env variables will automatically be passed to the container.

Keybindings
-----------

[](#keybindings)

### Navigation

[](#navigation)

- `j` or `↓` - Move cursor down
- `k` or `↑` - Move cursor up
- `h` or `←` - Move cursor left (switch to TODO column)
- `l` or `→` - Move cursor right (switch to IN PROGRESS column)

### Todo Management

[](#todo-management)

- `n` - Create a new todo
- `e` - Edit the active todo
- `x` - Delete the active todo
- `ENTER` - Progress todo to next stage (TODO → IN PROGRESS → DONE)
- `BACKSPACE` - Move todo back from IN PROGRESS to TODO
- `[` - Move item up in the list
- `]` - Move item down in the list

### Search &amp; Filter

[](#search--filter)

- `/` - Search todos by tags or description
- `f` - Filter todos by urgency level
- `c` - Clear all active filters

### Other

[](#other)

- `q` - Quit the application

###  Health Score

39

—

LowBetter than 86% of packages

Maintenance79

Regular maintenance activity

Popularity11

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~42 days

Recently: every ~17 days

Total

9

Last Release

109d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/87e7d9a71eca01aac132fec3f1cdda21e373c87662d8998981412333acd828b6?d=identicon)[surgiie](/maintainers/surgiie)

---

Top Contributors

[![surgiie](https://avatars.githubusercontent.com/u/12025002?v=4)](https://github.com/surgiie "surgiie (21 commits)")

---

Tags

phptodotuikanban

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

Type Coverage Yes

### Embed Badge

![Health badge](/badges/surgiie-kantui/health.svg)

```
[![Health](https://phpackages.com/badges/surgiie-kantui/health.svg)](https://phpackages.com/packages/surgiie-kantui)
```

###  Alternatives

[stevebauman/location

Retrieve a user's location by their IP Address

1.3k7.6M65](/packages/stevebauman-location)[monicahq/laravel-cloudflare

Add Cloudflare ip addresses to trusted proxies for Laravel.

3372.7M4](/packages/monicahq-laravel-cloudflare)[kra8/laravel-snowflake

Snowflake for Laravel and Lumen.

188402.3k6](/packages/kra8-laravel-snowflake)[bezhansalleh/filament-google-analytics

Google Analytics integration for FilamentPHP

205144.8k5](/packages/bezhansalleh-filament-google-analytics)[laragear/preload

Effortlessly make a Preload script for your Laravel application.

119363.5k](/packages/laragear-preload)[napp/xray-laravel

AWS X-Ray for Laravel applications.

61407.3k](/packages/napp-xray-laravel)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
