kanbango 2.1.0 → 2.5.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.
File without changes
@@ -0,0 +1 @@
1
+ {"goal":"push do npm","done":["session had mutations"],"next":[],"block":[],"lessons":[],"files":["/Users/mkorbas/projects/personal/markdown-kanban/mcp-server.js","/Users/mkorbas/projects/personal/markdown-kanban/kanban.js","/Users/mkorbas/projects/personal/markdown-kanban/tests/mcp-server.test.js","/Users/mkorbas/projects/personal/markdown-kanban/plan.js","/Users/mkorbas/projects/personal/markdown-kanban/CHANGELOG.md","/Users/mkorbas/projects/personal/markdown-kanban/bin/kanban.js","/Users/mkorbas/projects/personal/markdown-kanban/tests/update-tasks.test.js"],"verify":""}
@@ -0,0 +1 @@
1
+ {"ts":"2026-07-29T09:29:19.070Z","sessionID":"ses_05beb2173ffe1rCJQhZBUHuLgs","added":[],"bumped":[],"error":"llm-parse-fallback"}
package/AGENTS.md CHANGED
@@ -6,7 +6,7 @@ This document provides build commands, testing procedures, and code style guidel
6
6
 
7
7
  ### Available Scripts
8
8
  ```bash
9
- # Start web GUI (opens http://localhost:5500)
9
+ # Start web GUI (stable project port in 5510-5999, or KANBANGO_GUI_PORT)
10
10
  npm start
11
11
  # or
12
12
  node bin/kanban.js serve
@@ -14,7 +14,7 @@ node bin/kanban.js serve
14
14
  # Start web GUI on custom port
15
15
  node bin/kanban.js serve 8080
16
16
 
17
- # Run MCP server
17
+ # Run MCP server (optional auto-GUI: KANBANGO_AUTO_GUI=1)
18
18
  npm run mcp
19
19
  # or
20
20
  node mcp-server.js
@@ -143,7 +143,7 @@ async function parseEpic(filePath, column) {
143
143
 
144
144
  // Callbacks
145
145
  function shortId(epicId) {
146
- const match = epicId.match(/^(PI-\d+[\w.]*|BUG-\d+|CHORE-\d+)/);
146
+ const match = epicId.match(/^(?:[A-Z]+-)?(\d+)/);
147
147
  return match ? match[1] : epicId;
148
148
  }
149
149
  ```
@@ -387,9 +387,9 @@ const args = process.argv.slice(2); // Skip node and script path
387
387
  const cmd = args[0];
388
388
  const param1 = args[1];
389
389
 
390
- // Example: node bin/kanban.js move PI-001 done
390
+ // Example: node bin/kanban.js move 001 done
391
391
  // args[0] = "move"
392
- // args[1] = "PI-001"
392
+ // args[1] = "001"
393
393
  // args[2] = "done"
394
394
  ```
395
395
 
@@ -560,7 +560,7 @@ After making changes, verify:
560
560
  1. CLI works: `node bin/kanban.js list --json`
561
561
  2. Web GUI starts: `node bin/kanban.js serve` (Ctrl+C to stop)
562
562
  3. MCP server tools: `echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | node mcp-server.js`
563
- 4. All three tools work: kanban_read, kanban_create, kanban_update
563
+ 4. All three tools work: kanban_read, kanban_manage, kanban_gui
564
564
 
565
565
  ## Common Patterns to Avoid
566
566
 
@@ -603,4 +603,4 @@ return { content: [{ text: JSON.stringify({ error: error.message }) }], isError:
603
603
  - README.md: https://github.com/k0r81/kanbango#readme
604
604
  - LLM Agents Guide: LLM_AGENTS.md
605
605
  - MCP Server Guide: LLM_AGENTS.md
606
- - Issues: https://github.com/k0r81/kanbango/issues
606
+ - Issues: https://github.com/k0r81/kanbango/issues
package/API.md CHANGED
@@ -42,7 +42,7 @@ Documentation for interacting with local Kanban system (kanban.py).
42
42
  "properties": {
43
43
  "task_id": {
44
44
  "type": "string",
45
- "description": "Task ID (e.g. 'PI-014-google-calendar')"
45
+ "description": "Numeric task ID (e.g. '014')"
46
46
  }
47
47
  },
48
48
  "required": ["task_id"],
@@ -108,8 +108,8 @@ Documentation for interacting with local Kanban system (kanban.py).
108
108
  ```json
109
109
  {
110
110
  "type": "function",
111
- "name": "kanban_toggle",
112
- "description": "Toggle checkbox state for subtask (done/not done).",
111
+ "name": "kanban_update",
112
+ "description": "Update task fields, including the full subtasks list.",
113
113
  "parameters": {
114
114
  "type": "object",
115
115
  "properties": {
@@ -117,12 +117,20 @@ Documentation for interacting with local Kanban system (kanban.py).
117
117
  "type": "string",
118
118
  "description": "Parent task ID"
119
119
  },
120
- "idx": {
121
- "type": "integer",
122
- "description": "Subtask index (starting from 0)"
120
+ "subtasks": {
121
+ "type": "array",
122
+ "items": {
123
+ "type": "object",
124
+ "properties": {
125
+ "id": { "type": "string" },
126
+ "text": { "type": "string" },
127
+ "done": { "type": "boolean" },
128
+ "description": { "type": "string" }
129
+ }
130
+ }
123
131
  }
124
132
  },
125
- "required": ["task_id", "idx"],
133
+ "required": ["task_id", "subtasks"],
126
134
  "additionalProperties": false
127
135
  }
128
136
  }
@@ -138,16 +146,16 @@ python kanban.py list --json
138
146
  python kanban.py list --col active --json
139
147
 
140
148
  # Show task details
141
- python kanban.py show PI-014-google-calendar
149
+ python kanban.py show 014
142
150
 
143
151
  # Add new task
144
152
  python kanban.py add "New function" --col planned --epic "Faza 6"
145
153
 
146
154
  # Move task to different column
147
- python kanban.py move PI-014-google-calendar active
155
+ python kanban.py move 014 active
148
156
 
149
- # Toggle subtask
150
- python kanban.py toggle PI-014-google-calendar 0
157
+ # Update subtasks
158
+ python kanban.py update 014 '{"subtasks":[{"done":true,"text":"Research"},{"done":false,"text":"Implementation"}]}'
151
159
  ```
152
160
 
153
161
  ## Kanban Columns
@@ -167,7 +175,7 @@ python kanban.py toggle PI-014-google-calendar 0
167
175
  "column": "active|planned|icebox|done",
168
176
  "epic_group": "string",
169
177
  "created": "string",
170
- "tasks": [
178
+ "subtasks": [
171
179
  {
172
180
  "done": "boolean",
173
181
  "text": "string"
package/CHANGELOG.md CHANGED
@@ -5,6 +5,45 @@ All notable changes to kanbango will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [2.5.0] - 2026-07-27
9
+
10
+ ### Changed
11
+ - Create field policy: only `title` is hard-required; `description`, `specs`, `in_scope`, `out_of_scope`, and `acceptance_criteria` are strongly recommended
12
+ - MCP `kanban_manage` create/plan_create returns `warnings` + `missing_recommended` when recommended fields are omitted (still succeeds)
13
+ - MCP tool descriptions and LLM agent docs push agents to always fill planning boundaries
14
+
15
+ ## [2.4.0] - 2026-07-27
16
+
17
+ ### Added
18
+ - Opt-in GUI auto-start with MCP via `KANBANGO_AUTO_GUI=1`
19
+ - Stable per-project GUI port (hash of cwd in `5510–5999`), overridable with `KANBANGO_GUI_PORT` or `kanban serve [PORT]`
20
+ - `backlog/.kanbango-gui.json` port file so the real URL is always discoverable
21
+ - `kanban_gui status` discovers a running GUI even outside the MCP child-process tracker
22
+
23
+ ### Changed
24
+ - `kanban serve` default port is no longer hard-coded `5500`; uses preferred/stable port resolution
25
+ - `kanban_gui start` waits for the server to publish its actual listen port before returning
26
+
27
+ ## [2.3.0] - 2026-07-27
28
+
29
+ ### Added
30
+ - `in_scope` and `out_of_scope` fields (arrays of strings) for task boundaries in planning/execution/full views
31
+ - MCP `kanban_manage` create/update support for `in_scope` and `out_of_scope`
32
+ - Web GUI edit/view sections for In Scope and Out of Scope (muted styling for exclusions)
33
+ - Markdown migrate support for `## In Scope` / `## Out of Scope` (and PL headings)
34
+
35
+ ### Fixed
36
+ - HTTP API now forwards `test_cases` on create and update (GUI saves were previously dropped)
37
+
38
+ ## [2.2.0] - 2026-07-09
39
+
40
+ ### Changed
41
+ - MCP tools consolidated from 6 to 3:
42
+ - `kanban_create` + `kanban_update` merged into `kanban_manage` with `action` parameter (`create` | `move` | `update`)
43
+ - `kanban_gui_start` + `kanban_gui_stop` + `kanban_gui_status` merged into `kanban_gui` with `action` parameter (`start` | `stop` | `status`)
44
+ - `kanban_read` unchanged
45
+ - `kanban_manage` subtask edits now use full list updates via `update`; `toggle` action removed
46
+
8
47
  ## [2.1.0] - 2026-07-09
9
48
 
10
49
  ### Added