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.
- package/.ai/lessons.jsonl +0 -0
- package/.ai/retro/close.json +1 -0
- package/.ai/retro/last-run.json +1 -0
- package/AGENTS.md +7 -7
- package/API.md +20 -12
- package/CHANGELOG.md +39 -0
- package/LLM_AGENTS.md +170 -177
- package/README.md +31 -14
- package/bin/kanban.js +101 -26
- package/index.html +162 -85
- package/index.js +2 -0
- package/kan2.md +76 -0
- package/kanban.js +306 -34
- package/mcp-server.js +403 -185
- package/package.json +1 -1
- package/plan.js +159 -0
- package/planv2.md +17 -7
- package/tests/run.js +1 -0
|
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 (
|
|
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(/^(
|
|
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
|
|
390
|
+
// Example: node bin/kanban.js move 001 done
|
|
391
391
|
// args[0] = "move"
|
|
392
|
-
// args[1] = "
|
|
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,
|
|
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": "
|
|
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": "
|
|
112
|
-
"description": "
|
|
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
|
-
"
|
|
121
|
-
"type": "
|
|
122
|
-
"
|
|
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", "
|
|
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
|
|
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
|
|
155
|
+
python kanban.py move 014 active
|
|
148
156
|
|
|
149
|
-
#
|
|
150
|
-
python kanban.py
|
|
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
|
-
"
|
|
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
|