kanbango 2.0.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/API.md ADDED
@@ -0,0 +1,177 @@
1
+ # Kanban API for AI Agents
2
+
3
+ Documentation for interacting with local Kanban system (kanban.py).
4
+
5
+ ## Available Functions
6
+
7
+ ```json
8
+ {
9
+ "type": "function",
10
+ "name": "kanban_list",
11
+ "description": "Get list of all tasks from kanban. Optionally filter by column or epic group.",
12
+ "parameters": {
13
+ "type": "object",
14
+ "properties": {
15
+ "col": {
16
+ "type": "string",
17
+ "enum": ["active", "planned", "icebox", "done"],
18
+ "description": "Optionally filter by column"
19
+ },
20
+ "epic": {
21
+ "type": "string",
22
+ "description": "Optionally filter by epic group"
23
+ },
24
+ "as_json": {
25
+ "type": "boolean",
26
+ "default": true,
27
+ "description": "Return result as JSON"
28
+ }
29
+ },
30
+ "additionalProperties": false
31
+ }
32
+ }
33
+ ```
34
+
35
+ ```json
36
+ {
37
+ "type": "function",
38
+ "name": "kanban_show",
39
+ "description": "Get detailed information about a specific task, including subtask list.",
40
+ "parameters": {
41
+ "type": "object",
42
+ "properties": {
43
+ "task_id": {
44
+ "type": "string",
45
+ "description": "Task ID (e.g. 'PI-014-google-calendar')"
46
+ }
47
+ },
48
+ "required": ["task_id"],
49
+ "additionalProperties": false
50
+ }
51
+ }
52
+ ```
53
+
54
+ ```json
55
+ {
56
+ "type": "function",
57
+ "name": "kanban_add",
58
+ "description": "Create new task in kanban in specified column and optional epic group.",
59
+ "parameters": {
60
+ "type": "object",
61
+ "properties": {
62
+ "title": {
63
+ "type": "string",
64
+ "description": "Title of new task"
65
+ },
66
+ "col": {
67
+ "type": "string",
68
+ "enum": ["active", "planned", "icebox", "done"],
69
+ "default": "planned",
70
+ "description": "Column to place task in"
71
+ },
72
+ "epic": {
73
+ "type": "string",
74
+ "default": "—",
75
+ "description": "Epic group (optional)"
76
+ }
77
+ },
78
+ "required": ["title"],
79
+ "additionalProperties": false
80
+ }
81
+ }
82
+ ```
83
+
84
+ ```json
85
+ {
86
+ "type": "function",
87
+ "name": "kanban_move",
88
+ "description": "Move existing task to different column.",
89
+ "parameters": {
90
+ "type": "object",
91
+ "properties": {
92
+ "task_id": {
93
+ "type": "string",
94
+ "description": "Task ID to move"
95
+ },
96
+ "column": {
97
+ "type": "string",
98
+ "enum": ["active", "planned", "icebox", "done"],
99
+ "description": "New column"
100
+ }
101
+ },
102
+ "required": ["task_id", "column"],
103
+ "additionalProperties": false
104
+ }
105
+ }
106
+ ```
107
+
108
+ ```json
109
+ {
110
+ "type": "function",
111
+ "name": "kanban_toggle",
112
+ "description": "Toggle checkbox state for subtask (done/not done).",
113
+ "parameters": {
114
+ "type": "object",
115
+ "properties": {
116
+ "task_id": {
117
+ "type": "string",
118
+ "description": "Parent task ID"
119
+ },
120
+ "idx": {
121
+ "type": "integer",
122
+ "description": "Subtask index (starting from 0)"
123
+ }
124
+ },
125
+ "required": ["task_id", "idx"],
126
+ "additionalProperties": false
127
+ }
128
+ }
129
+ ```
130
+
131
+ ## Usage Examples
132
+
133
+ ```bash
134
+ # List all tasks (JSON)
135
+ python kanban.py list --json
136
+
137
+ # List only active tasks
138
+ python kanban.py list --col active --json
139
+
140
+ # Show task details
141
+ python kanban.py show PI-014-google-calendar
142
+
143
+ # Add new task
144
+ python kanban.py add "New function" --col planned --epic "Faza 6"
145
+
146
+ # Move task to different column
147
+ python kanban.py move PI-014-google-calendar active
148
+
149
+ # Toggle subtask
150
+ python kanban.py toggle PI-014-google-calendar 0
151
+ ```
152
+
153
+ ## Kanban Columns
154
+
155
+ - `active` - in progress (max 1-2 tasks)
156
+ - `planned` - planned for implementation
157
+ - `icebox` - frozen / nice-to-have
158
+ - `done` - completed
159
+
160
+ ## Data Models
161
+
162
+ ### Task
163
+ ```json
164
+ {
165
+ "id": "string",
166
+ "title": "string",
167
+ "column": "active|planned|icebox|done",
168
+ "epic_group": "string",
169
+ "created": "string",
170
+ "tasks": [
171
+ {
172
+ "done": "boolean",
173
+ "text": "string"
174
+ }
175
+ ]
176
+ }
177
+ ```
package/CHANGELOG.md ADDED
@@ -0,0 +1,122 @@
1
+ # Changelog
2
+
3
+ All notable changes to kanbango will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [2.0.0] - 2026-07-07
9
+
10
+ ### Added
11
+ - `kanban migrate` CLI command to convert `.md` task files to `.json`
12
+ - `migrateAll()` exported function in the core module
13
+
14
+ ### Changed
15
+ - **Breaking rename:** package renamed from `markdown-kanban` to `kanbango`
16
+ - All npm/npx references updated to `kanbango`
17
+ - MCP server name updated to `kanbango`
18
+ - Repository URLs updated to `k0r81/kanbango`
19
+
20
+ ## [1.4.1] - 2026-03-17
21
+
22
+ ### Added
23
+ - `npm test` now runs a simple test runner that includes regression tests
24
+ - Regression test for updating task lists
25
+
26
+ ### Fixed
27
+ - `doUpdate` now replaces the `## Taski` section instead of appending duplicates
28
+
29
+ ## [1.5.0] - 2026-07-07
30
+
31
+ ### Added
32
+ - JSON-first task storage with rich task fields: `description`, `specs`, `acceptance_criteria`, `notes`
33
+ - Rich subtask descriptions in storage, MCP responses, and the web GUI
34
+ - MCP read shaping via `view` presets and explicit `fields`
35
+ - Structured MCP error responses with `code`, `message`, `hint`, `details`, and `retryable`
36
+ - Regression tests for read shaping, Markdown migration, and MCP responses
37
+
38
+ ### Changed
39
+ - New tasks are now written as `.json` files in `backlog/<column>/`
40
+ - `kanban_update` supports patch-style updates and compact `return` payloads
41
+ - Web GUI editor now supports rich task planning fields and subtask descriptions
42
+
43
+ ### Fixed
44
+ - Existing Markdown task files remain readable during transition and are migrated to JSON on write
45
+
46
+ ## [1.3.1] - 2026-03-16
47
+
48
+ ### Added
49
+ - `kanban mcp-init` command to generate project MCP configs for Claude Code and OpenCode
50
+ - Documentation for MCP per-project automation in README and LLM_AGENTS.md
51
+ - MCP GUI control tools: `kanban_gui_start`, `kanban_gui_stop`, `kanban_gui_status`
52
+ - README + LLM_AGENTS updates for GUI tools and npm package details
53
+
54
+ ## [1.2.0] - 2026-03-16
55
+
56
+ ### Added
57
+ - **LLM Agents documentation**: New `LLM_AGENTS.md` with complete guide for AI assistants
58
+ - Comprehensive tool examples with request/response patterns
59
+ - Usage patterns for common workflows (discovery, creation, progression, epic management)
60
+ - Best practices guide for LLM agents
61
+ - Error handling documentation
62
+ - **AGENTS.md**: Complete guide for AI coding agents with build/lint/test commands
63
+
64
+ ### Improved
65
+ - Enhanced README reference to LLM agent documentation
66
+ - Better integration instructions for different MCP clients
67
+
68
+ ### Note
69
+ - **npm publish requires 2FA**: Publishing to npm requires two-factor authentication enabled
70
+ - Use `npm publish --auth-token YOUR_TOKEN` with an automation token for CI/CD
71
+ - Or use OTP (one-time password) with `npm login --auth-type=legacy`
72
+
73
+ ## [1.1.0] - 2026-03-16
74
+
75
+ ### Changed
76
+ - **Major rewrite**: Migrated from Python to pure JavaScript
77
+ - Removed Python dependency - now requires only Node.js 16+
78
+ - All functionality now works natively in JavaScript
79
+ - **Consolidated MCP tools**: Reduced from 5 to 3 universal tools (read, create, update)
80
+ - Easier to implement across different MCP clients
81
+
82
+ ### Added
83
+ - **MCP server integration**: Full Model Context Protocol support
84
+ - 3 unified MCP tools with operation-based approach:
85
+ - `kanban_read` - list tasks, filter, or get details (replaces list+show)
86
+ - `kanban_create` - create new tasks
87
+ - `kanban_update` - move, toggle, or edit tasks (replaces move+toggle)
88
+ - Enhanced tool descriptions with more context
89
+ - GitHub repository links in package.json
90
+
91
+ ### Improved
92
+ - **Better UX**: 3 tools instead of 5, easier to understand at first glance
93
+ - Operation-based design allows for future extensibility
94
+ - Clearer purpose for each MCP tool
95
+ - Updated documentation with MCP configuration examples
96
+
97
+ ### Removed
98
+ - Python runtime requirement
99
+ - `kanban.py` and `kanban-cmd.py` files (replaced by pure JS)
100
+
101
+ ## [1.0.0] - 2026-03-15
102
+
103
+ ### Added
104
+ - Initial release
105
+ - Markdown-based Kanban board
106
+ - Web GUI with swimlanes
107
+ - Full CLI support
108
+ - JSON output for AI agents
109
+ - Epic grouping
110
+ - Subtask progress tracking
111
+ - Cross-platform support (Windows, macOS, Linux)
112
+ - NPM package support
113
+ - `kanban` and `kanban-cmd` commands
114
+
115
+ ### Features
116
+ - Four columns: active, planned, icebox, done
117
+ - Drag-and-drop interface
118
+ - Inline editing
119
+ - Real-time checkbox toggling
120
+ - Progress bars
121
+ - Toast notifications
122
+ - Responsive design
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.