mdboard 1.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/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.
package/README.md ADDED
@@ -0,0 +1,191 @@
1
+ # mdboard
2
+
3
+ Git-based project management dashboard. Zero dependencies. Reads markdown files with YAML frontmatter and serves a visual kanban board, table view, milestone tracker, and metrics dashboard.
4
+
5
+ Built for AI-assisted workflows — the `project/` directory is plain text that both humans and AI agents can read and update.
6
+
7
+ ## Quick Start
8
+
9
+ ```bash
10
+ # Run instantly with npx
11
+ npx mdboard
12
+
13
+ # Or install globally
14
+ npm install -g mdboard
15
+ mdboard
16
+ ```
17
+
18
+ ## CLI Commands
19
+
20
+ ### `mdboard` — Start Dashboard
21
+
22
+ Starts the HTTP server and opens the dashboard at `http://localhost:3333`.
23
+
24
+ ```bash
25
+ mdboard # Serve current directory
26
+ mdboard --port 4000 # Custom port
27
+ mdboard --project /path/to/repo # Specify workspace root
28
+ ```
29
+
30
+ ### `mdboard init` — Scaffold Project
31
+
32
+ Creates a `project/` directory with starter templates.
33
+
34
+ ```bash
35
+ mdboard init
36
+ ```
37
+
38
+ Creates:
39
+ ```
40
+ project/
41
+ ├── PROJECT.md # Project overview
42
+ ├── metrics.md # Velocity tracking
43
+ ├── milestones/ # Milestone directories go here
44
+ └── archive/ # Completed milestones/sprints
45
+ ```
46
+
47
+ ### `mdboard --help`
48
+
49
+ Show usage information.
50
+
51
+ ### `mdboard --version`
52
+
53
+ Print version number.
54
+
55
+ ## Project Structure
56
+
57
+ mdboard reads a `project/` directory with this structure:
58
+
59
+ ```
60
+ project/
61
+ ├── PROJECT.md # Project overview and current state
62
+ ├── metrics.md # Velocity, quality, sprint health
63
+ ├── milestones/
64
+ │ └── {milestone}/
65
+ │ ├── README.md # Milestone description, done criteria
66
+ │ ├── epics/
67
+ │ │ └── {epic}/
68
+ │ │ ├── README.md # Epic description, dependencies
69
+ │ │ └── backlog/
70
+ │ │ └── FEAT-NNN-slug.md # Feature specs with acceptance criteria
71
+ │ └── sprints/
72
+ │ └── {sprint}/
73
+ │ ├── plan.md # Sprint goal, feature list, dates
74
+ │ ├── board.md # Kanban state
75
+ │ └── review.md # Sprint retrospective
76
+ └── archive/ # Completed milestones/sprints
77
+ ```
78
+
79
+ ## Frontmatter Schemas
80
+
81
+ ### PROJECT.md
82
+
83
+ ```yaml
84
+ ---
85
+ name: "Project Name"
86
+ description: "One-line description"
87
+ created: 2026-01-01
88
+ ---
89
+ ```
90
+
91
+ ### Feature (FEAT-NNN-slug.md)
92
+
93
+ ```yaml
94
+ ---
95
+ id: FEAT-001
96
+ title: "Feature title"
97
+ epic: epic-name
98
+ milestone: mvp
99
+ status: backlog # backlog | todo | in-progress | in-review | done | blocked
100
+ sprint: null
101
+ priority: high # urgent | high | medium | low
102
+ points: 5
103
+ assigned: []
104
+ created: 2026-01-01
105
+ started: null
106
+ completed: null
107
+ ---
108
+ ```
109
+
110
+ ### Milestone README.md
111
+
112
+ ```yaml
113
+ ---
114
+ id: mvp
115
+ title: "Minimum Viable Product"
116
+ status: active # planned | active | completed
117
+ deadline: null
118
+ created: 2026-01-01
119
+ ---
120
+ ```
121
+
122
+ ### Epic README.md
123
+
124
+ ```yaml
125
+ ---
126
+ id: epic-name
127
+ title: "Epic Title"
128
+ milestone: mvp
129
+ status: active # active | completed | blocked
130
+ priority: high
131
+ dependencies: []
132
+ created: 2026-01-01
133
+ ---
134
+ ```
135
+
136
+ ### Sprint plan.md
137
+
138
+ ```yaml
139
+ ---
140
+ id: sprint-001
141
+ milestone: mvp
142
+ status: active # planned | active | completed | cancelled
143
+ goal: "Sprint goal"
144
+ start_date: 2026-01-01
145
+ end_date: 2026-01-15
146
+ planned_points: 12
147
+ completed_points: 0
148
+ features: [FEAT-001, FEAT-002]
149
+ ---
150
+ ```
151
+
152
+ ## Dashboard Views
153
+
154
+ - **Board** — Kanban board with drag-and-drop. Filter by priority, epic, milestone.
155
+ - **Table** — Sortable table of all features with filters.
156
+ - **Milestones** — Progress view per milestone with epic breakdowns.
157
+ - **Metrics** — Status breakdown, priority distribution, velocity, project health.
158
+
159
+ ## API Endpoints
160
+
161
+ The server exposes a JSON API:
162
+
163
+ | Method | Endpoint | Description |
164
+ |--------|----------|-------------|
165
+ | GET | `/api/project` | Project metadata |
166
+ | GET | `/api/milestones` | All milestones with progress |
167
+ | GET | `/api/epics` | All epics with progress |
168
+ | GET | `/api/features` | All features (filterable via query params) |
169
+ | GET | `/api/sprints` | All sprints |
170
+ | GET | `/api/sprint` | Active sprint with board |
171
+ | GET | `/api/metrics` | Metrics data |
172
+ | GET | `/api/health` | Project health summary |
173
+ | GET | `/api/events` | SSE stream for live updates |
174
+ | PATCH | `/api/features/:id` | Update feature fields |
175
+ | PATCH | `/api/epics/:id` | Update epic fields |
176
+ | PATCH | `/api/milestones/:id` | Update milestone fields |
177
+ | PATCH | `/api/sprints/:id` | Update sprint fields |
178
+
179
+ ## AI Agent Integration
180
+
181
+ The `project/` directory is designed to be read and updated by AI agents. Agents can:
182
+
183
+ 1. Read `PROJECT.md` to understand project context
184
+ 2. Scan features to find work items
185
+ 3. Update feature status via file edits or the PATCH API
186
+ 4. Create new features by writing markdown files
187
+ 5. Use the API to query project state programmatically
188
+
189
+ ## License
190
+
191
+ MIT
package/bin.js ADDED
@@ -0,0 +1,46 @@
1
+ #!/usr/bin/env node
2
+
3
+ const args = process.argv.slice(2);
4
+ const command = args[0];
5
+
6
+ if (command === '--version' || command === '-v') {
7
+ const pkg = require('./package.json');
8
+ console.log('mdboard v' + pkg.version);
9
+ process.exit(0);
10
+ }
11
+
12
+ if (command === '--help' || command === '-h') {
13
+ printHelp();
14
+ process.exit(0);
15
+ }
16
+
17
+ if (command === 'init') {
18
+ require('./init.js');
19
+ } else if (command === 'help') {
20
+ printHelp();
21
+ process.exit(0);
22
+ } else {
23
+ // Default: start server. Pass all args through.
24
+ require('./server.js');
25
+ }
26
+
27
+ function printHelp() {
28
+ console.log(`
29
+ mdboard — Git-based project management dashboard
30
+
31
+ Usage:
32
+ mdboard Start the dashboard server
33
+ mdboard init Scaffold a new project/ directory
34
+ mdboard --version Print version
35
+ mdboard --help Show this help
36
+
37
+ Server options:
38
+ --project <path> Workspace root directory (default: cwd)
39
+ --port <number> Server port (default: 3333)
40
+
41
+ Examples:
42
+ npx mdboard Start dashboard in current directory
43
+ npx mdboard init Create project/ with templates
44
+ npx mdboard --port 4000 Start on port 4000
45
+ `);
46
+ }