@pi-unipi/kanboard 0.1.8 → 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/README.md +36 -81
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,58 +1,27 @@
|
|
|
1
1
|
# @pi-unipi/kanboard
|
|
2
2
|
|
|
3
|
-
Visualization
|
|
3
|
+
Visualization for workflow data. An HTTP server with htmx + Alpine.js UI shows your milestones, specs, plans, and tasks in a web browser. A TUI overlay gives you a kanban board without leaving Pi.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Parses 8 document types from `.unipi/docs/` — specs, plans, milestones, quick-work, debug, fix, chore, and review — and renders them as cards with progress indicators.
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
# Start the kanboard server
|
|
9
|
-
/unipi:kanboard
|
|
7
|
+
## Commands
|
|
10
8
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
## Architecture
|
|
16
|
-
|
|
17
|
-
```
|
|
18
|
-
kanboard/
|
|
19
|
-
├── server/ # HTTP server with port allocation
|
|
20
|
-
│ ├── index.ts # Server core (KanboardServer class)
|
|
21
|
-
│ └── routes/ # Route handlers (milestone, workflow)
|
|
22
|
-
├── parser/ # Document parsers
|
|
23
|
-
│ ├── index.ts # ParserRegistry + createDefaultRegistry()
|
|
24
|
-
│ ├── specs.ts # Spec parser (checklist items)
|
|
25
|
-
│ ├── plans.ts # Plan parser (task statuses)
|
|
26
|
-
│ ├── milestones.ts # Milestone parser
|
|
27
|
-
│ └── remaining.ts # Quick-work, debug, fix, chore, review
|
|
28
|
-
├── ui/ # Web UI
|
|
29
|
-
│ ├── layouts/ # Base HTML layout
|
|
30
|
-
│ ├── static/ # CSS + JS (style.css, app.js)
|
|
31
|
-
│ ├── components/ # Reusable components
|
|
32
|
-
│ ├── milestone/ # Milestone page renderer
|
|
33
|
-
│ └── workflow/ # Workflow page renderer
|
|
34
|
-
├── tui/ # TUI overlay
|
|
35
|
-
│ └── kanboard-overlay.ts
|
|
36
|
-
├── skills/ # Skills
|
|
37
|
-
│ └── kanboard-doctor/ # Parser diagnostics
|
|
38
|
-
├── commands.ts # Command registration
|
|
39
|
-
├── types.ts # Shared TypeScript types
|
|
40
|
-
└── index.ts # Extension entry point
|
|
41
|
-
```
|
|
9
|
+
| Command | Description |
|
|
10
|
+
|---------|-------------|
|
|
11
|
+
| `/unipi:kanboard` | Toggle kanboard server on/off |
|
|
12
|
+
| `/unipi:kanboard-doctor` | Diagnose and fix parser issues |
|
|
42
13
|
|
|
43
14
|
## Web Pages
|
|
44
15
|
|
|
45
16
|
### Milestones (`/`)
|
|
46
|
-
-
|
|
47
|
-
- Checklist items with status indicators (
|
|
17
|
+
- Phases with progress bars
|
|
18
|
+
- Checklist items with status indicators (done/todo)
|
|
48
19
|
- Collapsible sections per phase
|
|
49
|
-
- Copy-to-clipboard for `/unipi:milestone-update`
|
|
50
20
|
|
|
51
21
|
### Workflow (`/workflow`)
|
|
52
|
-
- Cards grouped by document type
|
|
22
|
+
- Cards grouped by document type
|
|
53
23
|
- Progress indicators per card
|
|
54
|
-
-
|
|
55
|
-
- Copy-to-clipboard for relevant commands
|
|
24
|
+
- Filtering by status (All, To Do, In Progress, Done)
|
|
56
25
|
|
|
57
26
|
## TUI Overlay
|
|
58
27
|
|
|
@@ -62,26 +31,23 @@ Two tabs accessible via the kanboard overlay:
|
|
|
62
31
|
- **Board** — Kanban columns (To Do / In Progress / Done)
|
|
63
32
|
|
|
64
33
|
### Controls
|
|
65
|
-
- `j/k` — Navigate up/down
|
|
66
|
-
- `h/l` — Switch columns (Board tab)
|
|
67
|
-
- `Tab` or `b` — Switch between Tasks/Board tabs
|
|
68
|
-
- `t` — Switch to Tasks tab
|
|
69
|
-
- `gg/G` — Jump to top/bottom
|
|
70
|
-
- `q/Esc` — Close overlay
|
|
71
34
|
|
|
72
|
-
|
|
35
|
+
| Key | Action |
|
|
36
|
+
|-----|--------|
|
|
37
|
+
| `j/k` | Navigate up/down |
|
|
38
|
+
| `h/l` | Switch columns (Board tab) |
|
|
39
|
+
| `Tab` or `b` | Switch between Tasks/Board tabs |
|
|
40
|
+
| `t` | Switch to Tasks tab |
|
|
41
|
+
| `gg/G` | Jump to top/bottom |
|
|
42
|
+
| `q/Esc` | Close overlay |
|
|
73
43
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
| GET | `/workflow` | Workflow page |
|
|
78
|
-
| GET | `/api/milestones` | Milestone JSON data |
|
|
79
|
-
| GET | `/api/workflow` | Workflow JSON data |
|
|
80
|
-
| POST | `/api/docs/:type/:file/items/:line` | Update item status |
|
|
44
|
+
## Special Triggers
|
|
45
|
+
|
|
46
|
+
Kanboard registers with the info-screen dashboard, showing document count, tasks done, total tasks, and completion percentage. The footer subscribes to kanboard registry data to display task stats in the status bar.
|
|
81
47
|
|
|
82
48
|
## Parser System
|
|
83
49
|
|
|
84
|
-
Kanboard parses 8 document types
|
|
50
|
+
Kanboard parses 8 document types:
|
|
85
51
|
|
|
86
52
|
| Type | Directory | What's Parsed |
|
|
87
53
|
|------|-----------|---------------|
|
|
@@ -94,29 +60,21 @@ Kanboard parses 8 document types from `.unipi/docs/`:
|
|
|
94
60
|
| Chore | `chore/` | Chore steps as checklist items |
|
|
95
61
|
| Review | `reviews/` | Review remarks as checklist items |
|
|
96
62
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
Parsers are resilient — they collect warnings per file and return partial results:
|
|
100
|
-
- Empty checkbox text
|
|
101
|
-
- Malformed checkboxes
|
|
102
|
-
- Missing frontmatter
|
|
103
|
-
- Unparseable lines
|
|
104
|
-
|
|
105
|
-
Warnings are surfaced in the kanboard-doctor skill.
|
|
63
|
+
Parsers are resilient — they collect warnings per file and return partial results. Warnings are surfaced in the kanboard-doctor skill.
|
|
106
64
|
|
|
107
|
-
##
|
|
108
|
-
|
|
109
|
-
The `kanboard-doctor` skill runs all parsers and produces a diagnostic report:
|
|
65
|
+
## API Endpoints
|
|
110
66
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
67
|
+
| Method | Path | Description |
|
|
68
|
+
|--------|------|-------------|
|
|
69
|
+
| GET | `/` | Milestone page |
|
|
70
|
+
| GET | `/workflow` | Workflow page |
|
|
71
|
+
| GET | `/api/milestones` | Milestone JSON data |
|
|
72
|
+
| GET | `/api/workflow` | Workflow JSON data |
|
|
73
|
+
| POST | `/api/docs/:type/:file/items/:line` | Update item status |
|
|
116
74
|
|
|
117
|
-
##
|
|
75
|
+
## Configurables
|
|
118
76
|
|
|
119
|
-
Default configuration
|
|
77
|
+
Default port configuration from `@pi-unipi/core`:
|
|
120
78
|
|
|
121
79
|
```typescript
|
|
122
80
|
KANBOARD_DEFAULTS = {
|
|
@@ -128,10 +86,7 @@ KANBOARD_DEFAULTS = {
|
|
|
128
86
|
- Port allocation: tries 8165, increments on EADDRINUSE
|
|
129
87
|
- PID file: `.unipi/kanboard.pid`
|
|
130
88
|
- Graceful shutdown on SIGINT/SIGTERM
|
|
131
|
-
- Static files served from `ui/static/`
|
|
132
89
|
|
|
133
|
-
##
|
|
90
|
+
## License
|
|
134
91
|
|
|
135
|
-
|
|
136
|
-
- `@mariozechner/pi-coding-agent` — Extension API
|
|
137
|
-
- `@mariozechner/pi-tui` — TUI overlay API
|
|
92
|
+
MIT
|
package/package.json
CHANGED