Kanban Prompt Companion is a focused local app that turns Obsidian markdown notes in a configured watch folder into reviewed Kanban-ready tasks.
Flow:
Obsidian note -> cleaned intent -> prompt package -> human review -> Kanban delivery
This repo stays intentionally small and focused on note-to-task delivery.
- Watches a vault folder for markdown notes in the configured intake directory
- Extracts and cleans note intent into a versioned prompt package
- Human-in-the-loop review/edit step before delivery
- Kanban preview + delivery through supported API surface
- Delivery history and retry flow
- Backend: FastAPI + SQLite
- Frontend: React + Vite + Tailwind
- Delivery target: Kanban integration endpoints (no direct board file writes)
This companion supports both:
- stock Kanban instances
- custom/forked Kanban instances with extended endpoints
When available, it uses these endpoints:
projects.listprojects.addworkspace.getStateworkspace.importTasksworkspace.upsertTaskByExternalKey(when available in your Kanban fork)
Delivery behavior is capability-aware:
- For single-step packages, it prefers
workspace.upsertTaskByExternalKeywhen supported. - Otherwise it uses
workspace.importTasks. - If
workspace.importTasksis not present on the target instance, it falls back to built-in task creation via standard tRPC task-create procedures.
This means the companion works against stock or custom Kanban, with graceful downgrade behavior.
If you want the endpoint-enabled Kanban build, use this fork branch:
Upstream Kanban project:
cp .env.example .envUpdate .env with your local vault and Kanban endpoint settings.
python -m venv .venv
source .venv/bin/activate
pip install -e .
uvicorn app.main:app --host 127.0.0.1 --port 8091 --reloadcd web
npm install
npm run dev -- --host 127.0.0.1 --port 5178Open http://127.0.0.1:5178.
Backend:
pytest -qFrontend:
cd web
npm test -- --run
npm run typecheck
npm run buildBackend integration path coverage includes both:
- custom endpoint path (
workspace.importTasks/workspace.upsertTaskByExternalKey) - stock fallback path (built-in tRPC task creation when import endpoint is missing)
This repo includes a one-file executable build using PyInstaller.
Versioning starts at 0.0.1 and is built into the binary name.
Build:
bash scripts/build_executable.shOutput:
dist/kanban-prompt-companion-<version>-<os>-<arch>
You can also check the app version directly:
python -m app.cli --versionThis project explicitly excludes platform-heavy features like auth systems, admin dashboards, multi-target routing, and direct Kanban state-file mutation.
See NON_GOALS.md.
Operational and debugging details are in RUNBOOK.md.
MIT — see LICENSE.



