KasyKasy

Kanban

The project's own task board (Trello/Jira-style), on by default. Manage it from the app or ask the AI via MCP.

Kanban is a task board for the project itself (columns + prioritized cards) — it's not a feature for your app's end users, it's for you (and the AI, via MCP) to track what's left to do, test, and review. It ships on by default in Quick mode (turn it off with kasy remove kanban if you don't want it).

The board lives inside the Admin Console (/admin/kanban) — only an admin (same role field as the Admin Console) sees and edits it from the app. From the CLI/MCP you can manage it without any of that.

Implementation

Via MCP: just ask — "what's left to do on this project?", "create a task to review checkout", "move task X to Done". The assistant calls the kanban tool (full CRUD for columns and tasks) without opening the app. See Kasy MCP.

  1. It's already on in Quick mode. To toggle it manually:

    kasy add kanban       # turn on (Firebase and Supabase; API REST not supported)
    kasy remove kanban    # turn off

    Via MCP: "turn Kanban on/off for this project" (add_feature/remove_feature) — different from the kanban tool above, which edits the board itself, not the module.

  2. From the app, as admin: Settings → double-tap the version number → Admin Console → Kanban tab. Only whoever has role: admin on their own database record sees that tab — see how to become admin in Admin Console.

  3. From a terminal, without needing to be admin in the app (uses a developer-level credential, not the end user's):

    kasy kanban list                                     # the whole board
    kasy kanban create-column --name "Blocked"
    kasy kanban create-task --title "Review checkout" --column-id <id> --priority high
    kasy kanban move-task --id <id> --column-id <destination-id>
    kasy kanban --help                                    # every action

    On Firebase it uses your own gcloud login (the same one kasy new/kasy prepare already set up); on Supabase it uses the linked project's service_role_key (supabase login needs to be done). No new password to store anywhere.

Information

Why it never asks you to log in as admin

Editing the board from the app requires role: admin because, in that context, it's the end user themselves issuing the write — the backend's rules (Firestore isAdmin() / Supabase RLS is_admin()) block anyone who isn't an admin. The CLI and MCP don't go through that path at all: they talk to the database directly with a developer-level credential (your gcloud login, or Supabase's service_role_key), which already bypasses those rules — that's why the AI can manage the board without you ever having to promote yourself to admin first.

Shape

EntityFields
Column (kanban_columns)id, name, order
Task (kanban_tasks)id, title, description (optional), columnId, order, priority (low|medium|high|urgent|empty)

Reads are open to any signed-in app user; writes are admin-only (from the app) or via CLI/MCP (no such requirement there).

Backend support

BackendBoardNote
FirebaseYesFirestore, via your gcloud login
SupabaseYesPostgres, via service_role_key
API RESTNoNo generic way to obtain an admin credential for an arbitrary custom backend

Last updated on 08/02/2026