@basementuniverse/kanbn 2.0.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/README.md +3 -1
- package/coverage/tmp/coverage-916017-1788028598821-0.json +1 -0
- package/coverage/tmp/{coverage-214293-1787777184569-0.json → coverage-916018-1788028597179-0.json} +1 -1
- package/coverage/tmp/coverage-916036-1788028598796-0.json +1 -0
- package/docs/actions.md +337 -0
- package/docs/advanced-configuration.md +55 -0
- package/docs/commands/add.txt +17 -1
- package/docs/commands/archive.txt +11 -0
- package/docs/commands/board.txt +9 -0
- package/docs/commands/boards.txt +34 -0
- package/docs/commands/burndown.txt +7 -0
- package/docs/commands/comment.txt +13 -1
- package/docs/commands/contributors.txt +58 -0
- package/docs/commands/edit.txt +18 -1
- package/docs/commands/find.txt +39 -1
- package/docs/commands/gantt.txt +6 -0
- package/docs/commands/help.txt +2 -0
- package/docs/commands/history.txt +6 -0
- package/docs/commands/init.txt +13 -0
- package/docs/commands/move.txt +26 -0
- package/docs/commands/remove.txt +22 -1
- package/docs/commands/rename.txt +5 -0
- package/docs/commands/restore.txt +12 -0
- package/docs/commands/sort.txt +23 -0
- package/docs/commands/sprint.txt +9 -0
- package/docs/commands/status.txt +10 -1
- package/docs/commands/task.txt +9 -0
- package/docs/commands/validate.txt +29 -1
- package/docs/contributors.md +145 -0
- package/docs/filtering-and-sorting.md +60 -3
- package/docs/index-structure.md +145 -11
- package/docs/index.md +6 -2
- package/docs/multiple-boards.md +259 -0
- package/docs/quick-start.md +21 -1
- package/docs/task-structure.md +31 -3
- package/example/README.md +23 -0
- package/example/advanced/kanbn.yml +65 -0
- package/example/boards/.kanbn/design.md +31 -0
- package/example/boards/.kanbn/index.md +44 -0
- package/example/boards/.kanbn/tasks/add-usage-alert-emails.md +19 -0
- package/example/boards/.kanbn/tasks/build-tenant-settings-page.md +43 -0
- package/example/boards/.kanbn/tasks/create-organization-switcher.md +44 -0
- package/example/boards/.kanbn/tasks/design-onboarding-checklist.md +22 -0
- package/example/boards/.kanbn/tasks/refresh-marketing-site.md +28 -0
- package/example/boards/.kanbn/tasks/ship-billing-portal.md +29 -0
- package/package.json +9 -7
- package/routes/add.json +40 -12
- package/routes/archive.json +14 -2
- package/routes/board.json +11 -3
- package/routes/boards.json +30 -0
- package/routes/burndown.json +23 -7
- package/routes/comment.json +19 -5
- package/routes/contributors.json +18 -0
- package/routes/edit.json +37 -11
- package/routes/find.json +37 -12
- package/routes/gantt.json +20 -6
- package/routes/history.json +39 -25
- package/routes/init.json +3 -1
- package/routes/move.json +24 -6
- package/routes/remove.json +18 -3
- package/routes/rename.json +11 -3
- package/routes/restore.json +14 -2
- package/routes/sort.json +40 -11
- package/routes/sprint.json +14 -4
- package/routes/status.json +23 -7
- package/routes/task.json +10 -2
- package/routes/validate.json +18 -5
- package/skills/kanbn-plan/SKILL.md +10 -1
- package/skills/kanbn-replan/SKILL.md +6 -1
- package/src/actions.js +904 -0
- package/src/board.js +25 -2
- package/src/controller/add.js +72 -55
- package/src/controller/archive.js +9 -4
- package/src/controller/board.js +21 -13
- package/src/controller/boards.js +140 -0
- package/src/controller/burndown.js +14 -7
- package/src/controller/comment.js +13 -6
- package/src/controller/contributors.js +166 -0
- package/src/controller/edit.js +48 -18
- package/src/controller/find.js +87 -13
- package/src/controller/gantt.js +13 -6
- package/src/controller/history.js +13 -6
- package/src/controller/init.js +39 -4
- package/src/controller/move.js +153 -25
- package/src/controller/remove.js +73 -13
- package/src/controller/rename.js +8 -4
- package/src/controller/restore.js +24 -8
- package/src/controller/sort.js +59 -3
- package/src/controller/sprint.js +31 -7
- package/src/controller/status.js +8 -4
- package/src/controller/task.js +34 -10
- package/src/controller/validate.js +197 -7
- package/src/git-user-name.js +9 -0
- package/src/git-user.js +55 -0
- package/src/main.d.ts +387 -9
- package/src/main.js +2757 -113
- package/src/parse-index.js +219 -17
- package/src/parse-task.js +16 -0
- package/src/utility.js +274 -0
- package/coverage/tmp/coverage-214292-1787777191526-0.json +0 -1
|
@@ -53,6 +53,71 @@ columnSorting:
|
|
|
53
53
|
|
|
54
54
|
dateFormat: yyyy-mm-dd
|
|
55
55
|
|
|
56
|
+
# The people who work on this workspace. A contributor can be a bare name or an
|
|
57
|
+
# object; `name` is the value written into a task's `assigned` field and a
|
|
58
|
+
# comment's `author`, and `aliases` catch the other spellings that mean the same
|
|
59
|
+
# person. The list is advisory - `assigned` stays free text and is never
|
|
60
|
+
# validated against it. Run `kanbn contributors --usage` to see which spellings
|
|
61
|
+
# are already in use. See docs/contributors.md.
|
|
62
|
+
contributors:
|
|
63
|
+
- name: Ana
|
|
64
|
+
email: ana@example.com
|
|
65
|
+
aliases:
|
|
66
|
+
- ana
|
|
67
|
+
- Ana Ruiz
|
|
68
|
+
- name: Ben
|
|
69
|
+
email: ben@example.com
|
|
70
|
+
aliases:
|
|
71
|
+
- ben
|
|
72
|
+
|
|
73
|
+
# Rules that fire when a task changes. Actions only run during commands that
|
|
74
|
+
# change something - never during `board`, `find` or `burndown` - and nothing a
|
|
75
|
+
# rule writes can fire another rule. `--no-actions` on any of those commands, or
|
|
76
|
+
# KANBN_NO_ACTIONS=1, steps around a rule that is misbehaving.
|
|
77
|
+
# See docs/actions.md.
|
|
78
|
+
actions:
|
|
79
|
+
# `task.started` is a transition rather than an operation: it fires when the
|
|
80
|
+
# task wasn't started before and is now, whatever caused it. It reads
|
|
81
|
+
# startedColumns above, so adding another started column doesn't break it.
|
|
82
|
+
- name: start-work
|
|
83
|
+
on: task.started
|
|
84
|
+
then:
|
|
85
|
+
- assign: '@me'
|
|
86
|
+
- addTag: active
|
|
87
|
+
- removeTag: ready
|
|
88
|
+
|
|
89
|
+
- name: close-out
|
|
90
|
+
on: task.completed
|
|
91
|
+
then:
|
|
92
|
+
- removeTag: active
|
|
93
|
+
- setProgress: 1
|
|
94
|
+
- set: { closedBy: '@me' }
|
|
95
|
+
|
|
96
|
+
# `reviewedAt` above is stamped by the column linkage; the rule runs after it,
|
|
97
|
+
# so it can see and override anything that stamping wrote.
|
|
98
|
+
- name: flag-review
|
|
99
|
+
on: task.moved
|
|
100
|
+
when:
|
|
101
|
+
toColumn: Review
|
|
102
|
+
then:
|
|
103
|
+
- addTag: needs-review
|
|
104
|
+
- comment: 'Review requested by @me'
|
|
105
|
+
|
|
106
|
+
# `for` points the verbs at related tasks instead of this one. Children carry
|
|
107
|
+
# the `child-of` relation, so `incoming` finds them from the epic.
|
|
108
|
+
- name: epic-blocks-children
|
|
109
|
+
on: task.moved
|
|
110
|
+
when:
|
|
111
|
+
tag: epic
|
|
112
|
+
toColumn: Blocked
|
|
113
|
+
for:
|
|
114
|
+
related: child-of
|
|
115
|
+
direction: incoming
|
|
116
|
+
where:
|
|
117
|
+
is-completed: false
|
|
118
|
+
then:
|
|
119
|
+
- addTag: blocked-by-epic
|
|
120
|
+
|
|
56
121
|
# Custom fields (team, storyPoints, ...) can be interpolated here because they
|
|
57
122
|
# are declared in customFields above. See docs/index-structure.md for the full
|
|
58
123
|
# list of available variables.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
# Board-scoped: this board has its own workflow, and its own idea of started and completed
|
|
3
|
+
startedColumns:
|
|
4
|
+
- Designing
|
|
5
|
+
completedColumns:
|
|
6
|
+
- 'Signed Off'
|
|
7
|
+
|
|
8
|
+
# ...and its own state fields, so design progress is tracked separately from engineering progress on
|
|
9
|
+
# the same shared task files. Without these, moving a task to "Signed Off" here would set the
|
|
10
|
+
# shared `completed` date and mark it done on the engineering board too
|
|
11
|
+
startedField: designStartedAt
|
|
12
|
+
completedField: designSignedOffAt
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Design Pipeline
|
|
16
|
+
|
|
17
|
+
Design work across the product, tracked separately from engineering delivery. Tasks here are the
|
|
18
|
+
same task files the engineering board uses - a task can sit in a different column on each.
|
|
19
|
+
|
|
20
|
+
## Ideas
|
|
21
|
+
|
|
22
|
+
- [design-onboarding-checklist](tasks/design-onboarding-checklist.md)
|
|
23
|
+
|
|
24
|
+
## Designing
|
|
25
|
+
|
|
26
|
+
- [build-tenant-settings-page](tasks/build-tenant-settings-page.md)
|
|
27
|
+
- [refresh-marketing-site](tasks/refresh-marketing-site.md)
|
|
28
|
+
|
|
29
|
+
## Signed Off
|
|
30
|
+
|
|
31
|
+
- [create-organization-switcher](tasks/create-organization-switcher.md)
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
# Board-scoped: these belong to the main board alone, and are NOT inherited by design.md
|
|
3
|
+
startedColumns:
|
|
4
|
+
- 'In Progress'
|
|
5
|
+
completedColumns:
|
|
6
|
+
- Done
|
|
7
|
+
|
|
8
|
+
# Workspace-scoped: with no config file these live here, and every board inherits them. A custom
|
|
9
|
+
# field has to be declared once for the whole workspace, because one task file has to parse
|
|
10
|
+
# identically for every board that references it
|
|
11
|
+
customFields:
|
|
12
|
+
- name: designStartedAt
|
|
13
|
+
type: date
|
|
14
|
+
- name: designSignedOffAt
|
|
15
|
+
type: date
|
|
16
|
+
taskWorkloadTags:
|
|
17
|
+
Tiny: 1
|
|
18
|
+
Small: 2
|
|
19
|
+
Medium: 3
|
|
20
|
+
Large: 5
|
|
21
|
+
Huge: 8
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
# Example SaaS Project
|
|
25
|
+
|
|
26
|
+
The engineering board. Design work on the same tasks is tracked separately on the `design` board -
|
|
27
|
+
run `kanbn boards` to see both, and `kanbn boards --tasks` to see which tasks span them.
|
|
28
|
+
|
|
29
|
+
## Backlog
|
|
30
|
+
|
|
31
|
+
- [refresh-marketing-site](tasks/refresh-marketing-site.md)
|
|
32
|
+
- [add-usage-alert-emails](tasks/add-usage-alert-emails.md)
|
|
33
|
+
|
|
34
|
+
## Todo
|
|
35
|
+
|
|
36
|
+
- [create-organization-switcher](tasks/create-organization-switcher.md)
|
|
37
|
+
|
|
38
|
+
## In Progress
|
|
39
|
+
|
|
40
|
+
- [build-tenant-settings-page](tasks/build-tenant-settings-page.md)
|
|
41
|
+
|
|
42
|
+
## Done
|
|
43
|
+
|
|
44
|
+
- [ship-billing-portal](tasks/ship-billing-portal.md)
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
created: 2026-07-09T15:00:00.000Z
|
|
3
|
+
tags:
|
|
4
|
+
- Medium
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Add Usage Alert Emails
|
|
8
|
+
|
|
9
|
+
Warn an organisation by email when it crosses 80% and 100% of its plan's usage allowance.
|
|
10
|
+
|
|
11
|
+
Engineering-only work, so it never reaches the design board.
|
|
12
|
+
|
|
13
|
+
## History
|
|
14
|
+
|
|
15
|
+
- type: created
|
|
16
|
+
date: 2026-07-09T15:00:00.000Z
|
|
17
|
+
column: Backlog
|
|
18
|
+
fromProgress: 0
|
|
19
|
+
toProgress: 0
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
created: 2026-07-02T09:15:00.000Z
|
|
3
|
+
updated: 2026-07-14T11:30:00.000Z
|
|
4
|
+
started: 2026-07-10T09:00:00.000Z
|
|
5
|
+
designStartedAt: 2026-07-06T10:00:00.000Z
|
|
6
|
+
assigned: priya
|
|
7
|
+
tags:
|
|
8
|
+
- Medium
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Build Tenant Settings Page
|
|
12
|
+
|
|
13
|
+
A single place for an organisation's owner to manage name, logo, timezone and default roles.
|
|
14
|
+
|
|
15
|
+
This task is on both boards: `In Progress` on the engineering board and `Designing` on the design
|
|
16
|
+
board. Its `started` date is the engineering start; `designStartedAt` is when design picked it up.
|
|
17
|
+
|
|
18
|
+
## Sub-tasks
|
|
19
|
+
|
|
20
|
+
- [x] Settings form layout
|
|
21
|
+
- [ ] Logo upload and cropping
|
|
22
|
+
- [ ] Role defaults
|
|
23
|
+
|
|
24
|
+
## History
|
|
25
|
+
|
|
26
|
+
- type: created
|
|
27
|
+
date: 2026-07-02T09:15:00.000Z
|
|
28
|
+
column: Backlog
|
|
29
|
+
fromProgress: 0
|
|
30
|
+
toProgress: 0
|
|
31
|
+
- type: added
|
|
32
|
+
date: 2026-07-06T10:00:00.000Z
|
|
33
|
+
column: Ideas
|
|
34
|
+
board: design
|
|
35
|
+
- type: moved
|
|
36
|
+
date: 2026-07-06T10:00:00.000Z
|
|
37
|
+
fromColumn: Ideas
|
|
38
|
+
toColumn: Designing
|
|
39
|
+
board: design
|
|
40
|
+
- type: moved
|
|
41
|
+
date: 2026-07-10T09:00:00.000Z
|
|
42
|
+
fromColumn: Backlog
|
|
43
|
+
toColumn: 'In Progress'
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
created: 2026-07-03T14:00:00.000Z
|
|
3
|
+
updated: 2026-07-12T16:45:00.000Z
|
|
4
|
+
designStartedAt: 2026-07-05T09:30:00.000Z
|
|
5
|
+
designSignedOffAt: 2026-07-12T16:45:00.000Z
|
|
6
|
+
assigned: sam
|
|
7
|
+
tags:
|
|
8
|
+
- Small
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Create Organization Switcher
|
|
12
|
+
|
|
13
|
+
A dropdown for moving between the organisations a user belongs to, without signing out.
|
|
14
|
+
|
|
15
|
+
Design has finished with this one - it sits in `Signed Off` on the design board - but engineering
|
|
16
|
+
hasn't started it, so it's still in `Todo` on the main board. Because the design board reads
|
|
17
|
+
`designSignedOffAt` rather than the shared `completed` field, finishing it here doesn't mark it done
|
|
18
|
+
for engineering.
|
|
19
|
+
|
|
20
|
+
## Sub-tasks
|
|
21
|
+
|
|
22
|
+
- [ ] Switcher component
|
|
23
|
+
- [ ] Persist last-used organisation
|
|
24
|
+
|
|
25
|
+
## History
|
|
26
|
+
|
|
27
|
+
- type: created
|
|
28
|
+
date: 2026-07-03T14:00:00.000Z
|
|
29
|
+
column: Backlog
|
|
30
|
+
fromProgress: 0
|
|
31
|
+
toProgress: 0
|
|
32
|
+
- type: added
|
|
33
|
+
date: 2026-07-05T09:30:00.000Z
|
|
34
|
+
column: Designing
|
|
35
|
+
board: design
|
|
36
|
+
- type: moved
|
|
37
|
+
date: 2026-07-08T10:00:00.000Z
|
|
38
|
+
fromColumn: Backlog
|
|
39
|
+
toColumn: Todo
|
|
40
|
+
- type: moved
|
|
41
|
+
date: 2026-07-12T16:45:00.000Z
|
|
42
|
+
fromColumn: Designing
|
|
43
|
+
toColumn: 'Signed Off'
|
|
44
|
+
board: design
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
created: 2026-07-11T13:20:00.000Z
|
|
3
|
+
assigned: priya
|
|
4
|
+
tags:
|
|
5
|
+
- Small
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Design Onboarding Checklist
|
|
9
|
+
|
|
10
|
+
An in-product checklist walking a new organisation through its first week.
|
|
11
|
+
|
|
12
|
+
This one is only on the design board - engineering hasn't picked it up, so it isn't on the main
|
|
13
|
+
board at all. `kanbn status --untracked` would not list it: it is tracked, just not here.
|
|
14
|
+
|
|
15
|
+
## History
|
|
16
|
+
|
|
17
|
+
- type: created
|
|
18
|
+
date: 2026-07-11T13:20:00.000Z
|
|
19
|
+
column: Ideas
|
|
20
|
+
board: design
|
|
21
|
+
fromProgress: 0
|
|
22
|
+
toProgress: 0
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
created: 2026-07-05T08:00:00.000Z
|
|
3
|
+
updated: 2026-07-13T09:00:00.000Z
|
|
4
|
+
designStartedAt: 2026-07-13T09:00:00.000Z
|
|
5
|
+
assigned: priya
|
|
6
|
+
tags:
|
|
7
|
+
- Large
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Refresh Marketing Site
|
|
11
|
+
|
|
12
|
+
New landing page, pricing page and case studies, ahead of the autumn launch.
|
|
13
|
+
|
|
14
|
+
Design has started, engineering hasn't - `Designing` on the design board, `Backlog` on the main one.
|
|
15
|
+
This is the shape that makes per-board state fields worth having: the task genuinely is in flight on
|
|
16
|
+
one board and untouched on the other.
|
|
17
|
+
|
|
18
|
+
## History
|
|
19
|
+
|
|
20
|
+
- type: created
|
|
21
|
+
date: 2026-07-05T08:00:00.000Z
|
|
22
|
+
column: Backlog
|
|
23
|
+
fromProgress: 0
|
|
24
|
+
toProgress: 0
|
|
25
|
+
- type: added
|
|
26
|
+
date: 2026-07-13T09:00:00.000Z
|
|
27
|
+
column: Designing
|
|
28
|
+
board: design
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
created: 2026-06-24T10:00:00.000Z
|
|
3
|
+
updated: 2026-07-07T17:10:00.000Z
|
|
4
|
+
started: 2026-06-26T09:00:00.000Z
|
|
5
|
+
completed: 2026-07-07T17:10:00.000Z
|
|
6
|
+
assigned: sam
|
|
7
|
+
tags:
|
|
8
|
+
- Large
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Ship Billing Portal
|
|
12
|
+
|
|
13
|
+
Self-serve plan changes, payment method updates and invoice history.
|
|
14
|
+
|
|
15
|
+
## History
|
|
16
|
+
|
|
17
|
+
- type: created
|
|
18
|
+
date: 2026-06-24T10:00:00.000Z
|
|
19
|
+
column: Backlog
|
|
20
|
+
fromProgress: 0
|
|
21
|
+
toProgress: 0
|
|
22
|
+
- type: moved
|
|
23
|
+
date: 2026-06-26T09:00:00.000Z
|
|
24
|
+
fromColumn: Backlog
|
|
25
|
+
toColumn: 'In Progress'
|
|
26
|
+
- type: moved
|
|
27
|
+
date: 2026-07-07T17:10:00.000Z
|
|
28
|
+
fromColumn: 'In Progress'
|
|
29
|
+
toColumn: Done
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@basementuniverse/kanbn",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.5.0",
|
|
4
4
|
"description": "A CLI Kanban application",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"url": "git+https://github.com/basementuniverse/kanbn.git"
|
|
19
19
|
},
|
|
20
20
|
"engines": {
|
|
21
|
-
"node": ">=
|
|
21
|
+
"node": ">=16.13.0"
|
|
22
22
|
},
|
|
23
23
|
"keywords": [
|
|
24
24
|
"kanbn",
|
|
@@ -38,7 +38,6 @@
|
|
|
38
38
|
"dotenv": "^8.2.0",
|
|
39
39
|
"front-matter": "^4.0.2",
|
|
40
40
|
"fuzzy": "^0.1.3",
|
|
41
|
-
"git-user-name": "^2.0.0",
|
|
42
41
|
"glob-promise": "^3.4.0",
|
|
43
42
|
"humanize-duration": "^3.25.0",
|
|
44
43
|
"inquirer": "^7.3.3",
|
|
@@ -47,11 +46,11 @@
|
|
|
47
46
|
"inquirer-recursive": "github:basementuniverse/inquirer-recursive",
|
|
48
47
|
"inquirer-select-line": "github:basementuniverse/inquirer-select-line",
|
|
49
48
|
"jsonschema": "^1.4.0",
|
|
50
|
-
"marked": "^
|
|
51
|
-
"marked-terminal": "^
|
|
52
|
-
"minimist": "^1.2.
|
|
49
|
+
"marked": "^4.3.0",
|
|
50
|
+
"marked-terminal": "^5.2.0",
|
|
51
|
+
"minimist": "^1.2.8",
|
|
53
52
|
"rimraf": "^3.0.2",
|
|
54
|
-
"terminal-kit": "^1.
|
|
53
|
+
"terminal-kit": "^3.1.4",
|
|
55
54
|
"yamljs": "^0.3.0"
|
|
56
55
|
},
|
|
57
56
|
"devDependencies": {
|
|
@@ -66,5 +65,8 @@
|
|
|
66
65
|
"qunit": "^2.13.0",
|
|
67
66
|
"strip-ansi": "^6.0.0",
|
|
68
67
|
"typescript": "^4.9.3"
|
|
68
|
+
},
|
|
69
|
+
"overrides": {
|
|
70
|
+
"tmp": "^0.2.7"
|
|
69
71
|
}
|
|
70
72
|
}
|
package/routes/add.json
CHANGED
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
],
|
|
7
7
|
"args": {
|
|
8
8
|
"boolean": [
|
|
9
|
-
"interactive"
|
|
9
|
+
"interactive",
|
|
10
|
+
"actions"
|
|
10
11
|
],
|
|
11
12
|
"string": [
|
|
12
13
|
"name",
|
|
@@ -18,19 +19,46 @@
|
|
|
18
19
|
"due",
|
|
19
20
|
"plannedStart",
|
|
20
21
|
"plannedFinish",
|
|
21
|
-
"progress"
|
|
22
|
+
"progress",
|
|
23
|
+
"board"
|
|
22
24
|
],
|
|
23
25
|
"alias": {
|
|
24
|
-
"interactive": [
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
"
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
"
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
"
|
|
26
|
+
"interactive": [
|
|
27
|
+
"i"
|
|
28
|
+
],
|
|
29
|
+
"name": [
|
|
30
|
+
"n"
|
|
31
|
+
],
|
|
32
|
+
"description": [
|
|
33
|
+
"d"
|
|
34
|
+
],
|
|
35
|
+
"column": [
|
|
36
|
+
"c"
|
|
37
|
+
],
|
|
38
|
+
"sub-task": [
|
|
39
|
+
"s"
|
|
40
|
+
],
|
|
41
|
+
"tag": [
|
|
42
|
+
"t"
|
|
43
|
+
],
|
|
44
|
+
"relation": [
|
|
45
|
+
"r"
|
|
46
|
+
],
|
|
47
|
+
"due": [
|
|
48
|
+
"e"
|
|
49
|
+
],
|
|
50
|
+
"assigned": [
|
|
51
|
+
"a"
|
|
52
|
+
],
|
|
53
|
+
"untracked": [
|
|
54
|
+
"u"
|
|
55
|
+
],
|
|
56
|
+
"board": [
|
|
57
|
+
"b"
|
|
58
|
+
]
|
|
59
|
+
},
|
|
60
|
+
"default": {
|
|
61
|
+
"actions": true
|
|
34
62
|
}
|
|
35
63
|
},
|
|
36
64
|
"controller": "./src/controller/add",
|
package/routes/archive.json
CHANGED
|
@@ -6,10 +6,22 @@
|
|
|
6
6
|
],
|
|
7
7
|
"args": {
|
|
8
8
|
"boolean": [
|
|
9
|
-
"list"
|
|
9
|
+
"list",
|
|
10
|
+
"actions"
|
|
10
11
|
],
|
|
11
12
|
"alias": {
|
|
12
|
-
"list": [
|
|
13
|
+
"list": [
|
|
14
|
+
"l"
|
|
15
|
+
],
|
|
16
|
+
"board": [
|
|
17
|
+
"b"
|
|
18
|
+
]
|
|
19
|
+
},
|
|
20
|
+
"string": [
|
|
21
|
+
"board"
|
|
22
|
+
],
|
|
23
|
+
"default": {
|
|
24
|
+
"actions": true
|
|
13
25
|
}
|
|
14
26
|
},
|
|
15
27
|
"controller": "./src/controller/archive",
|
package/routes/board.json
CHANGED
|
@@ -9,11 +9,19 @@
|
|
|
9
9
|
"json"
|
|
10
10
|
],
|
|
11
11
|
"string": [
|
|
12
|
-
"view"
|
|
12
|
+
"view",
|
|
13
|
+
"board"
|
|
13
14
|
],
|
|
14
15
|
"alias": {
|
|
15
|
-
"view": [
|
|
16
|
-
|
|
16
|
+
"view": [
|
|
17
|
+
"v"
|
|
18
|
+
],
|
|
19
|
+
"json": [
|
|
20
|
+
"j"
|
|
21
|
+
],
|
|
22
|
+
"board": [
|
|
23
|
+
"b"
|
|
24
|
+
]
|
|
17
25
|
}
|
|
18
26
|
},
|
|
19
27
|
"controller": "./src/controller/board",
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Boards",
|
|
3
|
+
"commands": [
|
|
4
|
+
"boards"
|
|
5
|
+
],
|
|
6
|
+
"args": {
|
|
7
|
+
"boolean": [
|
|
8
|
+
"json",
|
|
9
|
+
"tasks",
|
|
10
|
+
"all",
|
|
11
|
+
"force"
|
|
12
|
+
],
|
|
13
|
+
"string": [
|
|
14
|
+
"rename",
|
|
15
|
+
"delete",
|
|
16
|
+
"name"
|
|
17
|
+
],
|
|
18
|
+
"alias": {
|
|
19
|
+
"json": ["j"],
|
|
20
|
+
"tasks": ["t"],
|
|
21
|
+
"all": ["a"],
|
|
22
|
+
"force": ["f"],
|
|
23
|
+
"rename": ["r"],
|
|
24
|
+
"delete": ["d"],
|
|
25
|
+
"name": ["n"]
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"controller": "./src/controller/boards",
|
|
29
|
+
"help": "./docs/commands/boards.txt"
|
|
30
|
+
}
|
package/routes/burndown.json
CHANGED
|
@@ -13,15 +13,31 @@
|
|
|
13
13
|
"sprint",
|
|
14
14
|
"assigned",
|
|
15
15
|
"column",
|
|
16
|
-
"normalise"
|
|
16
|
+
"normalise",
|
|
17
|
+
"board"
|
|
17
18
|
],
|
|
18
19
|
"alias": {
|
|
19
|
-
"json": [
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
"
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
"json": [
|
|
21
|
+
"j"
|
|
22
|
+
],
|
|
23
|
+
"date": [
|
|
24
|
+
"d"
|
|
25
|
+
],
|
|
26
|
+
"sprint": [
|
|
27
|
+
"p"
|
|
28
|
+
],
|
|
29
|
+
"assigned": [
|
|
30
|
+
"a"
|
|
31
|
+
],
|
|
32
|
+
"column": [
|
|
33
|
+
"c"
|
|
34
|
+
],
|
|
35
|
+
"normalise": [
|
|
36
|
+
"n"
|
|
37
|
+
],
|
|
38
|
+
"board": [
|
|
39
|
+
"b"
|
|
40
|
+
]
|
|
25
41
|
}
|
|
26
42
|
},
|
|
27
43
|
"controller": "./src/controller/burndown",
|
package/routes/comment.json
CHANGED
|
@@ -6,15 +6,29 @@
|
|
|
6
6
|
],
|
|
7
7
|
"args": {
|
|
8
8
|
"boolean": [
|
|
9
|
-
"interactive"
|
|
9
|
+
"interactive",
|
|
10
|
+
"actions"
|
|
10
11
|
],
|
|
11
12
|
"string": [
|
|
12
|
-
"text"
|
|
13
|
+
"text",
|
|
14
|
+
"board"
|
|
13
15
|
],
|
|
14
16
|
"alias": {
|
|
15
|
-
"interactive": [
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
"interactive": [
|
|
18
|
+
"i"
|
|
19
|
+
],
|
|
20
|
+
"author": [
|
|
21
|
+
"a"
|
|
22
|
+
],
|
|
23
|
+
"text": [
|
|
24
|
+
"t"
|
|
25
|
+
],
|
|
26
|
+
"board": [
|
|
27
|
+
"b"
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
"default": {
|
|
31
|
+
"actions": true
|
|
18
32
|
}
|
|
19
33
|
},
|
|
20
34
|
"controller": "./src/controller/comment",
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Contributors",
|
|
3
|
+
"commands": [
|
|
4
|
+
"contributors"
|
|
5
|
+
],
|
|
6
|
+
"args": {
|
|
7
|
+
"boolean": [
|
|
8
|
+
"json",
|
|
9
|
+
"usage"
|
|
10
|
+
],
|
|
11
|
+
"alias": {
|
|
12
|
+
"json": ["j"],
|
|
13
|
+
"usage": ["u"]
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"controller": "./src/controller/contributors",
|
|
17
|
+
"help": "./docs/commands/contributors.txt"
|
|
18
|
+
}
|