kandown 0.17.1 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2026 Vanechacha
3
+ Copyright (c) 2026 Vanessa Depraute
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -91,8 +91,72 @@ The web daemon stays alive after you quit the TUI so the browser keeps working.
91
91
  | `kandown daemon start` | Start/reconnect this project's web daemon |
92
92
  | `kandown daemon stop` | Stop this project's web daemon |
93
93
  | `kandown update` | Update `kandown.html` to latest |
94
+ | `kandown list` \| `show` \| `create` \| `move` \| `assign` \| `commit` | One-shot task commands (see below) |
95
+ | `kandown tasks` | Full help for the one-shot task commands |
96
+ | `kandown work` | **For AI agents:** print the agent rules + a live board digest (see below) |
94
97
  | `kandown help` | CLI help |
95
98
 
99
+ ### One-shot task commands (scriptable, agent-friendly)
100
+
101
+ Top-level, non-interactive commands for scripting, CI, and AI agents — no wrapper prefix, just `kandown <command>`. Every command auto-inits `.kandown/` on first use, same as the interactive CLI.
102
+
103
+ | Command | Description |
104
+ |---|---|
105
+ | `kandown list` | List tasks — `[-s status] [-a assignee] [-t tag] [-p priority] [--archived] [--json]` |
106
+ | `kandown show <id>` | Print a task file's raw content |
107
+ | `kandown create "title"` | Create a task — `[-p priority] [-a assignee] [-t tag ...] [--to status] [--id custom-id] [--json]` |
108
+ | `kandown move <id> <status>` | Move a task — `<status>` is a column name or `"archived"` |
109
+ | `kandown assign <id> [name]` | Assign a task (omit name to unassign) |
110
+ | `kandown commit [-m "message"]` | `git add tasks/ .kandown/kandown.json` + `git commit` |
111
+
112
+ ```bash
113
+ kandown list --json | jq '.[] | select(.priority=="P1")'
114
+ kandown create "Refactor auth middleware" -p P1 -t backend
115
+ kandown move t42 Done
116
+ kandown assign t42 alice
117
+ kandown commit -m "tasks: add auth refactor"
118
+ ```
119
+
120
+ **Output contract:** stdout carries data only (task ids, JSON, tables) — everything decorative (`✓ Created…`, warnings, errors) goes to stderr. This keeps `ID=$(kandown create "...")` and `kandown list --json | jq ...` clean and composable. Exit code `0` on success, non-zero on error — safe to check in scripts.
121
+
122
+ **No update checks:** the task commands and `kandown daemon` never touch the npm registry, so they stay fast and fully offline-capable — ideal for CI and for AI agents driving the board directly.
123
+
124
+ ### `kandown work` — the agent entrypoint
125
+
126
+ `kandown init` no longer copies a block of rules into your `AGENTS.md`/`CLAUDE.md` — it appends a single line instead:
127
+
128
+ > This project uses **kandown** for task management. **Always run `kandown work` when starting a new task** — it prints the current rules and board state, kept in sync with the installed CLI version.
129
+
130
+ Running `kandown work` prints, as plain markdown on stdout:
131
+
132
+ 1. **The agent rules** — always fresh, served straight from the installed CLI version instead of a copy that goes stale the moment the package updates.
133
+ 2. **Global instructions** (optional) — `~/.kandown/instructions.md`, applied to every kandown project on this machine (personal conventions, team-wide rules).
134
+ 3. **Project instructions** (optional) — `.kandown/instructions.md`, this project only (stack quirks, "always use pnpm", commit message language, etc).
135
+ 4. **A live board digest** — column counts, tasks per column with blocked-by annotations, and a computed **"next actionable task"** (closest to done, unblocked, highest priority) — so the agent gets its context in the same call.
136
+
137
+ This removes the drift problem of a rules block frozen into every project's `AGENTS.md` at init time, keeps the injected footprint to one line, and lets you layer instructions globally or per project without touching the agent file at all.
138
+
139
+ ---
140
+
141
+ ## Environment variables
142
+
143
+ | Variable | Effect |
144
+ |---|---|
145
+ | `KANDOWN_NO_UPDATE=1` | Disable the background auto-update check entirely (recommended for CI) |
146
+ | `KANDOWN_DEBUG=1` | Print full stack traces on unexpected errors instead of a one-line summary |
147
+ | `KANDOWN_AGENT_HOOK_URL` | POST endpoint that receives tasks sent via the "Send to Agent" button / TUI `g` key |
148
+ | `KANDOWN_AGENT_HOOK_LABEL` | Custom label for the agent hook button (default: `Agent`) |
149
+ | `KANDOWN_AGENT_HOOK_HEADERS` | JSON object of extra HTTP headers to send with the agent hook request |
150
+
151
+ Interactive runs of `kandown` check npm for updates at most once every 24 hours (never for the task commands or `daemon`, never when stdout isn't a terminal) and auto-install silently when one is found.
152
+
153
+ ---
154
+
155
+ ## Security notes
156
+
157
+ - The local web daemon binds to `127.0.0.1` only and issues a random per-project API token on startup (stored in the gitignored `.kandown/daemon.json`, injected into the served page). Every API route except the read-only `GET /api/daemon` identity check requires it — a stray browser tab on another site can't read or write your tasks through it.
158
+ - `.kandown/daemon.json` and `.kandown/daemon.lock` are runtime-only files; `kandown init` adds them to `.kandown/.gitignore` automatically.
159
+
96
160
  ---
97
161
 
98
162
  ## Features
@@ -219,9 +283,11 @@ pnpm dev # Web UI at localhost:5176
219
283
 
220
284
  ---
221
285
 
222
- ## License
286
+ ## License & credits
287
+
288
+ [MIT](LICENSE) © 2026 [Vanessa Depraute](https://vanessadepraute.dev) — GitHub: [vava-nessa](https://github.com/vava-nessa).
223
289
 
224
- [MIT](LICENSE) use it, fork it, ship it.
290
+ Created and maintained by [Vanessa Depraute](https://vanessadepraute.dev).
225
291
 
226
292
  ---
227
293