@basementuniverse/kanbn 0.9.0 → 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/docs/commands/burndown.txt +7 -1
- package/docs/commands/gantt.txt +36 -0
- package/docs/commands/help.txt +1 -0
- package/docs/index-structure.md +20 -1
- package/docs/quick-start.md +1 -1
- package/docs/task-structure.md +47 -0
- package/example/.kanbn/index.md +63 -0
- package/example/.kanbn/tasks/add-basic-activity-feed.md +53 -0
- package/example/.kanbn/tasks/add-passwordless-login-option.md +34 -0
- package/example/.kanbn/tasks/add-usage-alert-email-thresholds.md +35 -0
- package/example/.kanbn/tasks/build-email-template-system.md +30 -0
- package/example/.kanbn/tasks/build-invoice-download-endpoint.md +43 -0
- package/example/.kanbn/tasks/build-tenant-settings-page.md +48 -0
- package/example/.kanbn/tasks/create-organization-switcher.md +53 -0
- package/example/.kanbn/tasks/create-sandbox-environment-provisioner.md +36 -0
- package/example/.kanbn/tasks/create-self-serve-cancellation-flow.md +38 -0
- package/example/.kanbn/tasks/define-product-pricing-strategy.md +37 -0
- package/example/.kanbn/tasks/design-onboarding-checklist.md +30 -0
- package/example/.kanbn/tasks/design-team-invite-expiry-flow.md +33 -0
- package/example/.kanbn/tasks/implement-data-retention-policy-jobs.md +30 -0
- package/example/.kanbn/tasks/implement-feature-flags-foundation.md +36 -0
- package/example/.kanbn/tasks/implement-project-creation-wizard.md +44 -0
- package/example/.kanbn/tasks/implement-stripe-webhook-signature-check.md +54 -0
- package/example/.kanbn/tasks/implement-team-permissions-ui.md +57 -0
- package/example/.kanbn/tasks/implement-user-signup-and-login.md +62 -0
- package/example/.kanbn/tasks/integrate-crm-lead-sync.md +35 -0
- package/example/.kanbn/tasks/legal-review-terms-and-privacy.md +30 -0
- package/example/.kanbn/tasks/migrate-legacy-events-to-new-schema.md +48 -0
- package/example/.kanbn/tasks/optimize-dashboard-first-load.md +52 -0
- package/example/.kanbn/tasks/prototype-report-export-scheduler.md +34 -0
- package/example/.kanbn/tasks/publish-internal-qa-checklist.md +53 -0
- package/example/.kanbn/tasks/setup-ci-pipeline.md +53 -0
- package/package.json +3 -2
- package/routes/gantt.json +27 -0
- package/skills/kanbn-plan/SKILL.md +0 -0
- package/src/board.js +21 -2
- package/src/controller/add.js +33 -1
- package/src/controller/burndown.js +72 -5
- package/src/controller/edit.js +68 -1
- package/src/controller/find.js +5 -0
- package/src/controller/gantt.js +375 -0
- package/src/controller/init.js +2 -1
- package/src/controller/sort.js +8 -0
- package/src/main.d.ts +295 -340
- package/src/main.js +2591 -2050
- package/src/parse-task.js +211 -3
|
@@ -5,6 +5,12 @@ Show a burndown chart between a date range, or for a particular sprint.
|
|
|
5
5
|
If no dates or sprint identifiers are specified, show data for the current sprint.
|
|
6
6
|
If no sprints are defined, show data from the earliest created date to the current date.
|
|
7
7
|
|
|
8
|
+
Burndown data source:
|
|
9
|
+
When a task has a structured `History` section, burndown uses its lifecycle events (created, moved, progress,
|
|
10
|
+
archived, restored) to reconstruct task activity over time.
|
|
11
|
+
For older tasks without history, burndown falls back to metadata/date inference (created/started/completed +
|
|
12
|
+
startedColumns/completedColumns).
|
|
13
|
+
|
|
8
14
|
Options:
|
|
9
15
|
{b}kanbn burndown --json{b}
|
|
10
16
|
{b}kanbn burndown -j{b}
|
|
@@ -31,5 +37,5 @@ Options:
|
|
|
31
37
|
|
|
32
38
|
{b}kanbn burndown --normalise "days"|"hours"|"minutes"|"seconds"{b}
|
|
33
39
|
{b}kanbn burndown --n "days"|"hours"|"minutes"|"seconds"{b}
|
|
34
|
-
Normalise dates. Task
|
|
40
|
+
Normalise dates. Task event times (history events or legacy created/started/completed dates) will be rounded down to the nearest day, hour, minute or second. This may cause task events to be grouped together.
|
|
35
41
|
If this option is set to a blank or unsupported value, the normalisation mode will be automatically selected based on the date range.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{b}kanbn gantt{b}
|
|
2
|
+
{b}kanbn gt{b}
|
|
3
|
+
|
|
4
|
+
Show a gantt chart for tracked tasks.
|
|
5
|
+
|
|
6
|
+
Tasks are ordered using `depends-on` relations when present. The chart uses task dates, workload, and the optional
|
|
7
|
+
`postponed` metadata field to estimate when work can start.
|
|
8
|
+
The rendered chart includes:
|
|
9
|
+
• A unified date axis at the bottom for easy time reference
|
|
10
|
+
• A vertical "now" line marking the current date (if within the chart range)
|
|
11
|
+
• Dependency arrows (└─→) showing which tasks depend on others
|
|
12
|
+
• Task bars with progress indicators: █ (completed), ▓ (in progress), ░ (not started)
|
|
13
|
+
• A blocked indicator (⧗) showing tasks delayed by dependencies
|
|
14
|
+
|
|
15
|
+
Options:
|
|
16
|
+
{b}kanbn gantt --json{b}
|
|
17
|
+
{b}kanbn gantt -j{b}
|
|
18
|
+
Output raw data instead of rendering a chart. The data will be returned in JSON format.
|
|
19
|
+
|
|
20
|
+
{b}kanbn gantt --assigned "user"{b}
|
|
21
|
+
{b}kanbn gantt -a "user"{b}
|
|
22
|
+
Filter for tasks that are assigned to a particular user.
|
|
23
|
+
|
|
24
|
+
{b}kanbn gantt --column "column"{b}
|
|
25
|
+
{b}kanbn gantt -c "column"{b}
|
|
26
|
+
Filter for tasks in a particular column. This option can be repeated to include multiple columns.
|
|
27
|
+
|
|
28
|
+
{b}kanbn gantt --date "date"{b}
|
|
29
|
+
{b}kanbn gantt -d "date"{b}
|
|
30
|
+
Filter for tasks created within a specified date range.
|
|
31
|
+
If only one date is provided, show tasks created from this date up to the present date.
|
|
32
|
+
If more than one date is provided, show tasks created between the earliest and latest date.
|
|
33
|
+
|
|
34
|
+
{b}kanbn gantt --now "date"{b}
|
|
35
|
+
{b}kanbn gantt -n "date"{b}
|
|
36
|
+
Mock the current date used for the "now" line and single-date range filtering.
|
package/docs/commands/help.txt
CHANGED
|
@@ -19,6 +19,7 @@ Where {b}<command>{b} is one of:
|
|
|
19
19
|
{b}sort{b} {d}..........{d} Sort a column in the index
|
|
20
20
|
{b}sprint{b} {d}........{d} Start a new sprint
|
|
21
21
|
{b}burndown{b} {d}......{d} View a burndown chart
|
|
22
|
+
{b}gantt{b} {d}.........{d} View a gantt chart
|
|
22
23
|
{b}validate{b} {d}......{d} Validate index and task files
|
|
23
24
|
{b}archive{b} {d}.......{d} Archive a task
|
|
24
25
|
{b}restore{b} {d}.......{d} Restore a task from the archive
|
package/docs/index-structure.md
CHANGED
|
@@ -146,12 +146,15 @@ dueMessage
|
|
|
146
146
|
column
|
|
147
147
|
workload
|
|
148
148
|
progress
|
|
149
|
+
{...customFields}
|
|
149
150
|
```
|
|
150
151
|
|
|
151
152
|
The default task template is `^+^_${overdue ? '^R' : ''}${name}^: ${created ? ('\\n^-^/' + created) : ''}`.
|
|
152
153
|
|
|
153
154
|
This string can contain markup sequences. See [terminal-kit](https://github.com/cronvel/terminal-kit/blob/21607fb51749853dd9193c6aaf205b14c63b2768/doc/markup.md#markup) for markup reference.
|
|
154
155
|
|
|
156
|
+
*Note: custom fields can also be interpolated into the task template, but only if they are defined in `customFields` (see below).*
|
|
157
|
+
|
|
155
158
|
### `dateFormat`
|
|
156
159
|
|
|
157
160
|
The date format to use for dates on the kanbn board and burndown chart views. See [dateformat](https://www.npmjs.com/package/dateformat) for date format reference.
|
|
@@ -180,8 +183,24 @@ Additionally, if a custom field has type `date`, the custom field can have a str
|
|
|
180
183
|
|
|
181
184
|
### `{customFieldName}Columns`
|
|
182
185
|
|
|
183
|
-
A list of column names. `{customFieldName}` should
|
|
186
|
+
A list of column names. `{customFieldName}` should be the name of a custom field with type `date` (see the `customFields` section above for more information).
|
|
187
|
+
|
|
188
|
+
When a task is created in or dragged into one of these columns, the matching custom field in the task can be set to the current time.
|
|
184
189
|
|
|
185
190
|
If the custom field has `updateDate` set to `once`, the field will only be updated if it doesn't already have a value.
|
|
186
191
|
|
|
187
192
|
If the custom field has `updateDate` set to `always`, the field will be updated every time the task is moved into a linked column.
|
|
193
|
+
|
|
194
|
+
Here's an example of how this could be used:
|
|
195
|
+
|
|
196
|
+
* Assume we have added a column called `Testing`
|
|
197
|
+
* In `index.md` (or `kanbn.json` / `kanbn.yml` if using a separate configuration file), we have:
|
|
198
|
+
```
|
|
199
|
+
customFields:
|
|
200
|
+
- name: testedAt
|
|
201
|
+
type: date
|
|
202
|
+
updateDate: once
|
|
203
|
+
testedAtColumns:
|
|
204
|
+
- Testing
|
|
205
|
+
```
|
|
206
|
+
* When a task is moved into the `Testing` column and the task doesn't already have a `testedAt` value in its metadata, this value will be automatically populated with the current date/time.
|
package/docs/quick-start.md
CHANGED
|
@@ -55,7 +55,7 @@ This will show a kanbn board, something like this:
|
|
|
55
55
|
kanbn edit "my-new-task" -t "Large"
|
|
56
56
|
```
|
|
57
57
|
|
|
58
|
-
This will add a "
|
|
58
|
+
This will add a "Large" tag to the task and modify the task's updated date. If you're using the default settings, this will also affect the task's workload.
|
|
59
59
|
|
|
60
60
|
Run `kanbn edit --help` for more information on editing tasks.
|
|
61
61
|
|
package/docs/task-structure.md
CHANGED
|
@@ -13,6 +13,7 @@ progress: 0.5
|
|
|
13
13
|
started: 2021-03-21T04:58:38.653Z
|
|
14
14
|
completed: 2021-03-21T04:58:38.653Z
|
|
15
15
|
due: 2021-03-21T04:58:38.653Z
|
|
16
|
+
postponed: 2021-03-20T04:58:38.653Z
|
|
16
17
|
---
|
|
17
18
|
|
|
18
19
|
# Task Name
|
|
@@ -34,6 +35,26 @@ Task description...
|
|
|
34
35
|
- author: Username
|
|
35
36
|
date: 2021-03-31T07:47:05.775Z
|
|
36
37
|
This is a comment...
|
|
38
|
+
|
|
39
|
+
## History
|
|
40
|
+
|
|
41
|
+
- type: created
|
|
42
|
+
date: 2021-03-18T02:08:42.293Z
|
|
43
|
+
column: Backlog
|
|
44
|
+
- type: moved
|
|
45
|
+
date: 2021-03-21T04:58:38.653Z
|
|
46
|
+
fromColumn: Backlog
|
|
47
|
+
toColumn: In Progress
|
|
48
|
+
- type: progress
|
|
49
|
+
date: 2021-03-22T09:30:00.000Z
|
|
50
|
+
fromProgress: 0.25
|
|
51
|
+
toProgress: 0.5
|
|
52
|
+
- type: archived
|
|
53
|
+
date: 2021-03-31T07:47:05.775Z
|
|
54
|
+
fromColumn: In Progress
|
|
55
|
+
- type: restored
|
|
56
|
+
date: 2021-04-01T10:00:00.000Z
|
|
57
|
+
toColumn: Backlog
|
|
37
58
|
```
|
|
38
59
|
|
|
39
60
|
The task file can optionally begin with YAML front-matter containing task metadata.
|
|
@@ -96,6 +117,11 @@ The date and time that the task was completed.
|
|
|
96
117
|
|
|
97
118
|
The date and time that the task is due to be completed.
|
|
98
119
|
|
|
120
|
+
### `postponed`
|
|
121
|
+
|
|
122
|
+
The date and time after which the task should be scheduled. Gantt chart rendering uses this value as an explicit
|
|
123
|
+
start-floor when present.
|
|
124
|
+
|
|
99
125
|
## Sub-tasks
|
|
100
126
|
|
|
101
127
|
This should be a list of strings. Each string can optionally start with `[ ]` (incomplete) or `[x]` (completed).
|
|
@@ -104,6 +130,27 @@ This should be a list of strings. Each string can optionally start with `[ ]` (i
|
|
|
104
130
|
|
|
105
131
|
This should be a list of links to other task files. The link text can optionally begin with a relation type.
|
|
106
132
|
|
|
133
|
+
The `depends-on` relation type is reserved for gantt scheduling. It means the current task should not start until the
|
|
134
|
+
linked task has finished.
|
|
135
|
+
|
|
107
136
|
## Comments
|
|
108
137
|
|
|
109
138
|
An array of comments, where each comment has an `author` and `date` property, and some text.
|
|
139
|
+
|
|
140
|
+
## History
|
|
141
|
+
|
|
142
|
+
An optional array of structured lifecycle events used for richer timeline reporting (including burndown).
|
|
143
|
+
|
|
144
|
+
Supported event types:
|
|
145
|
+
|
|
146
|
+
- `created`: requires `date` and `column`
|
|
147
|
+
- `moved`: requires `date`, `fromColumn`, `toColumn`
|
|
148
|
+
- `progress`: requires `date`, `fromProgress`, `toProgress`
|
|
149
|
+
- `archived`: requires `date`, `fromColumn`
|
|
150
|
+
- `restored`: requires `date`, `toColumn`
|
|
151
|
+
|
|
152
|
+
Notes:
|
|
153
|
+
|
|
154
|
+
- History entries are stored in the reserved `## History` section as list items.
|
|
155
|
+
- `date` should be an ISO timestamp.
|
|
156
|
+
- Additional fields (for example `author`) are preserved if present.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
startedColumns:
|
|
3
|
+
- In Progress
|
|
4
|
+
completedColumns:
|
|
5
|
+
- Done
|
|
6
|
+
sprints:
|
|
7
|
+
- start: 2026-05-06T09:00:00.000Z
|
|
8
|
+
name: Foundation Sprint
|
|
9
|
+
description: Baseline product and infrastructure work.
|
|
10
|
+
- start: 2026-06-10T09:00:00.000Z
|
|
11
|
+
name: Workflow Sprint
|
|
12
|
+
description: Core team workflow and onboarding features.
|
|
13
|
+
- start: 2026-07-08T09:00:00.000Z
|
|
14
|
+
name: Stabilisation Sprint
|
|
15
|
+
description: Reliability and release readiness improvements.
|
|
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
|
+
A realistic in-flight product board with active development, completed work, and future backlog items.
|
|
27
|
+
|
|
28
|
+
## Backlog
|
|
29
|
+
|
|
30
|
+
- [define-product-pricing-strategy](tasks/define-product-pricing-strategy.md)
|
|
31
|
+
- [legal-review-terms-and-privacy](tasks/legal-review-terms-and-privacy.md)
|
|
32
|
+
- [design-onboarding-checklist](tasks/design-onboarding-checklist.md)
|
|
33
|
+
- [implement-feature-flags-foundation](tasks/implement-feature-flags-foundation.md)
|
|
34
|
+
- [build-email-template-system](tasks/build-email-template-system.md)
|
|
35
|
+
- [create-sandbox-environment-provisioner](tasks/create-sandbox-environment-provisioner.md)
|
|
36
|
+
- [implement-data-retention-policy-jobs](tasks/implement-data-retention-policy-jobs.md)
|
|
37
|
+
- [design-team-invite-expiry-flow](tasks/design-team-invite-expiry-flow.md)
|
|
38
|
+
- [prototype-report-export-scheduler](tasks/prototype-report-export-scheduler.md)
|
|
39
|
+
|
|
40
|
+
## Todo
|
|
41
|
+
|
|
42
|
+
- [implement-project-creation-wizard](tasks/implement-project-creation-wizard.md)
|
|
43
|
+
- [add-passwordless-login-option](tasks/add-passwordless-login-option.md)
|
|
44
|
+
- [integrate-crm-lead-sync](tasks/integrate-crm-lead-sync.md)
|
|
45
|
+
- [build-invoice-download-endpoint](tasks/build-invoice-download-endpoint.md)
|
|
46
|
+
- [add-usage-alert-email-thresholds](tasks/add-usage-alert-email-thresholds.md)
|
|
47
|
+
- [create-self-serve-cancellation-flow](tasks/create-self-serve-cancellation-flow.md)
|
|
48
|
+
|
|
49
|
+
## In Progress
|
|
50
|
+
|
|
51
|
+
- [build-tenant-settings-page](tasks/build-tenant-settings-page.md)
|
|
52
|
+
- [implement-team-permissions-ui](tasks/implement-team-permissions-ui.md)
|
|
53
|
+
- [optimize-dashboard-first-load](tasks/optimize-dashboard-first-load.md)
|
|
54
|
+
- [migrate-legacy-events-to-new-schema](tasks/migrate-legacy-events-to-new-schema.md)
|
|
55
|
+
- [implement-stripe-webhook-signature-check](tasks/implement-stripe-webhook-signature-check.md)
|
|
56
|
+
|
|
57
|
+
## Done
|
|
58
|
+
|
|
59
|
+
- [setup-ci-pipeline](tasks/setup-ci-pipeline.md)
|
|
60
|
+
- [implement-user-signup-and-login](tasks/implement-user-signup-and-login.md)
|
|
61
|
+
- [create-organization-switcher](tasks/create-organization-switcher.md)
|
|
62
|
+
- [add-basic-activity-feed](tasks/add-basic-activity-feed.md)
|
|
63
|
+
- [publish-internal-qa-checklist](tasks/publish-internal-qa-checklist.md)
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
created: 2026-07-01T10:00:00.000Z
|
|
3
|
+
updated: 2026-07-02T10:00:00.000Z
|
|
4
|
+
tags:
|
|
5
|
+
- Billing
|
|
6
|
+
- Medium
|
|
7
|
+
assigned: Sofia
|
|
8
|
+
progress: 1
|
|
9
|
+
started: 2026-07-03T10:00:00.000Z
|
|
10
|
+
completed: 2026-07-04T10:00:00.000Z
|
|
11
|
+
due: 2026-07-05T10:00:00.000Z
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Add Basic Activity Feed
|
|
15
|
+
|
|
16
|
+
Add Basic Activity Feed for the SaaS platform roadmap.
|
|
17
|
+
|
|
18
|
+
Focus is on incremental delivery with low-risk rollout and measurable outcomes.
|
|
19
|
+
|
|
20
|
+
This shipped and has been validated for the current release.
|
|
21
|
+
|
|
22
|
+
## Sub-tasks
|
|
23
|
+
|
|
24
|
+
- [ ] Confirm acceptance criteria with product and engineering.
|
|
25
|
+
- [ ] Document edge-cases and rollout notes for support.
|
|
26
|
+
- [ ] Add final QA checklist items before release.
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
## History
|
|
30
|
+
|
|
31
|
+
- type: created
|
|
32
|
+
date: 2026-07-06T10:00:00.000Z
|
|
33
|
+
column: Backlog
|
|
34
|
+
- type: moved
|
|
35
|
+
date: 2026-07-07T10:00:00.000Z
|
|
36
|
+
fromColumn: Backlog
|
|
37
|
+
toColumn: Todo
|
|
38
|
+
- type: moved
|
|
39
|
+
date: 2026-07-08T10:00:00.000Z
|
|
40
|
+
fromColumn: Todo
|
|
41
|
+
toColumn: In Progress
|
|
42
|
+
- type: progress
|
|
43
|
+
date: 2026-07-09T10:00:00.000Z
|
|
44
|
+
fromProgress: 0
|
|
45
|
+
toProgress: 0.5
|
|
46
|
+
- type: progress
|
|
47
|
+
date: 2026-07-10T10:00:00.000Z
|
|
48
|
+
fromProgress: 0.5
|
|
49
|
+
toProgress: 1
|
|
50
|
+
- type: moved
|
|
51
|
+
date: 2026-07-11T10:00:00.000Z
|
|
52
|
+
fromColumn: In Progress
|
|
53
|
+
toColumn: Done
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
created: 2026-07-02T10:00:00.000Z
|
|
3
|
+
updated: 2026-07-03T10:00:00.000Z
|
|
4
|
+
tags:
|
|
5
|
+
- Billing
|
|
6
|
+
- Medium
|
|
7
|
+
progress: 0
|
|
8
|
+
due: 2026-07-04T10:00:00.000Z
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Add Passwordless Login Option
|
|
12
|
+
|
|
13
|
+
Add Passwordless Login Option for the SaaS platform roadmap.
|
|
14
|
+
|
|
15
|
+
Focus is on incremental delivery with low-risk rollout and measurable outcomes.
|
|
16
|
+
|
|
17
|
+
This has a clear scope and is ready to be picked up next.
|
|
18
|
+
|
|
19
|
+
## Sub-tasks
|
|
20
|
+
|
|
21
|
+
- [ ] Confirm acceptance criteria with product and engineering.
|
|
22
|
+
- [ ] Document edge-cases and rollout notes for support.
|
|
23
|
+
- [ ] Add final QA checklist items before release.
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
## History
|
|
27
|
+
|
|
28
|
+
- type: created
|
|
29
|
+
date: 2026-07-05T10:00:00.000Z
|
|
30
|
+
column: Backlog
|
|
31
|
+
- type: moved
|
|
32
|
+
date: 2026-07-06T10:00:00.000Z
|
|
33
|
+
fromColumn: Backlog
|
|
34
|
+
toColumn: Todo
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
created: 2026-07-03T10:00:00.000Z
|
|
3
|
+
updated: 2026-07-04T10:00:00.000Z
|
|
4
|
+
tags:
|
|
5
|
+
- Growth
|
|
6
|
+
- Small
|
|
7
|
+
assigned: Noah
|
|
8
|
+
progress: 0
|
|
9
|
+
due: 2026-07-05T10:00:00.000Z
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Add Usage Alert Email Thresholds
|
|
13
|
+
|
|
14
|
+
Add Usage Alert Email Thresholds for the SaaS platform roadmap.
|
|
15
|
+
|
|
16
|
+
Focus is on incremental delivery with low-risk rollout and measurable outcomes.
|
|
17
|
+
|
|
18
|
+
This has a clear scope and is ready to be picked up next.
|
|
19
|
+
|
|
20
|
+
## Sub-tasks
|
|
21
|
+
|
|
22
|
+
- [ ] Confirm acceptance criteria with product and engineering.
|
|
23
|
+
- [ ] Document edge-cases and rollout notes for support.
|
|
24
|
+
- [ ] Add final QA checklist items before release.
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
## History
|
|
28
|
+
|
|
29
|
+
- type: created
|
|
30
|
+
date: 2026-07-06T10:00:00.000Z
|
|
31
|
+
column: Backlog
|
|
32
|
+
- type: moved
|
|
33
|
+
date: 2026-07-07T10:00:00.000Z
|
|
34
|
+
fromColumn: Backlog
|
|
35
|
+
toColumn: Todo
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
created: 2026-07-04T10:00:00.000Z
|
|
3
|
+
updated: 2026-07-05T10:00:00.000Z
|
|
4
|
+
tags:
|
|
5
|
+
- Backend
|
|
6
|
+
- Medium
|
|
7
|
+
progress: 0
|
|
8
|
+
due: 2026-07-06T10:00:00.000Z
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Build Email Template System
|
|
12
|
+
|
|
13
|
+
Build Email Template System for the SaaS platform roadmap.
|
|
14
|
+
|
|
15
|
+
Focus is on incremental delivery with low-risk rollout and measurable outcomes.
|
|
16
|
+
|
|
17
|
+
This is still in discovery and scoped as a future increment.
|
|
18
|
+
|
|
19
|
+
## Sub-tasks
|
|
20
|
+
|
|
21
|
+
- [x] Confirm acceptance criteria with product and engineering.
|
|
22
|
+
- [ ] Document edge-cases and rollout notes for support.
|
|
23
|
+
- [ ] Add final QA checklist items before release.
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
## History
|
|
27
|
+
|
|
28
|
+
- type: created
|
|
29
|
+
date: 2026-07-07T10:00:00.000Z
|
|
30
|
+
column: Backlog
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
created: 2026-07-05T10:00:00.000Z
|
|
3
|
+
updated: 2026-07-06T10:00:00.000Z
|
|
4
|
+
tags:
|
|
5
|
+
- Platform
|
|
6
|
+
- Medium
|
|
7
|
+
progress: 0
|
|
8
|
+
due: 2026-07-07T10:00:00.000Z
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Build Invoice Download Endpoint
|
|
12
|
+
|
|
13
|
+
Build Invoice Download Endpoint for the SaaS platform roadmap.
|
|
14
|
+
|
|
15
|
+
Focus is on incremental delivery with low-risk rollout and measurable outcomes.
|
|
16
|
+
|
|
17
|
+
This has a clear scope and is ready to be picked up next.
|
|
18
|
+
|
|
19
|
+
## Sub-tasks
|
|
20
|
+
|
|
21
|
+
- [ ] Confirm acceptance criteria with product and engineering.
|
|
22
|
+
- [ ] Document edge-cases and rollout notes for support.
|
|
23
|
+
- [ ] Add final QA checklist items before release.
|
|
24
|
+
|
|
25
|
+
## Relations
|
|
26
|
+
|
|
27
|
+
- [blocks create-self-serve-cancellation-flow](create-self-serve-cancellation-flow.md)
|
|
28
|
+
|
|
29
|
+
## Comments
|
|
30
|
+
|
|
31
|
+
- author: Liam
|
|
32
|
+
date: 2026-07-08T10:00:00.000Z
|
|
33
|
+
Captured initial implementation notes and identified one external dependency.
|
|
34
|
+
|
|
35
|
+
## History
|
|
36
|
+
|
|
37
|
+
- type: created
|
|
38
|
+
date: 2026-07-09T10:00:00.000Z
|
|
39
|
+
column: Backlog
|
|
40
|
+
- type: moved
|
|
41
|
+
date: 2026-07-10T10:00:00.000Z
|
|
42
|
+
fromColumn: Backlog
|
|
43
|
+
toColumn: Todo
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
created: 2026-07-06T10:00:00.000Z
|
|
3
|
+
updated: 2026-07-07T10:00:00.000Z
|
|
4
|
+
tags:
|
|
5
|
+
- Ops
|
|
6
|
+
- Small
|
|
7
|
+
assigned: Ravi
|
|
8
|
+
progress: 0.65
|
|
9
|
+
started: 2026-07-08T10:00:00.000Z
|
|
10
|
+
due: 2026-07-09T10:00:00.000Z
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Build Tenant Settings Page
|
|
14
|
+
|
|
15
|
+
Build Tenant Settings Page for the SaaS platform roadmap.
|
|
16
|
+
|
|
17
|
+
Focus is on incremental delivery with low-risk rollout and measurable outcomes.
|
|
18
|
+
|
|
19
|
+
Implementation is active and this is currently being worked.
|
|
20
|
+
|
|
21
|
+
## Sub-tasks
|
|
22
|
+
|
|
23
|
+
- [ ] Confirm acceptance criteria with product and engineering.
|
|
24
|
+
- [ ] Document edge-cases and rollout notes for support.
|
|
25
|
+
- [ ] Add final QA checklist items before release.
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
## History
|
|
29
|
+
|
|
30
|
+
- type: created
|
|
31
|
+
date: 2026-07-10T10:00:00.000Z
|
|
32
|
+
column: Backlog
|
|
33
|
+
- type: moved
|
|
34
|
+
date: 2026-07-11T10:00:00.000Z
|
|
35
|
+
fromColumn: Backlog
|
|
36
|
+
toColumn: Todo
|
|
37
|
+
- type: moved
|
|
38
|
+
date: 2026-07-12T10:00:00.000Z
|
|
39
|
+
fromColumn: Todo
|
|
40
|
+
toColumn: In Progress
|
|
41
|
+
- type: progress
|
|
42
|
+
date: 2026-07-13T10:00:00.000Z
|
|
43
|
+
fromProgress: 0
|
|
44
|
+
toProgress: 0.45
|
|
45
|
+
- type: progress
|
|
46
|
+
date: 2026-07-14T10:00:00.000Z
|
|
47
|
+
fromProgress: 0.45
|
|
48
|
+
toProgress: 0.65
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
created: 2026-07-07T10:00:00.000Z
|
|
3
|
+
updated: 2026-07-08T10:00:00.000Z
|
|
4
|
+
tags:
|
|
5
|
+
- Ops
|
|
6
|
+
- Small
|
|
7
|
+
assigned: Ravi
|
|
8
|
+
progress: 1
|
|
9
|
+
started: 2026-07-09T10:00:00.000Z
|
|
10
|
+
completed: 2026-07-10T10:00:00.000Z
|
|
11
|
+
due: 2026-07-11T10:00:00.000Z
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Create Organization Switcher
|
|
15
|
+
|
|
16
|
+
Create Organization Switcher for the SaaS platform roadmap.
|
|
17
|
+
|
|
18
|
+
Focus is on incremental delivery with low-risk rollout and measurable outcomes.
|
|
19
|
+
|
|
20
|
+
This shipped and has been validated for the current release.
|
|
21
|
+
|
|
22
|
+
## Sub-tasks
|
|
23
|
+
|
|
24
|
+
- [ ] Confirm acceptance criteria with product and engineering.
|
|
25
|
+
- [ ] Document edge-cases and rollout notes for support.
|
|
26
|
+
- [ ] Add final QA checklist items before release.
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
## History
|
|
30
|
+
|
|
31
|
+
- type: created
|
|
32
|
+
date: 2026-07-12T10:00:00.000Z
|
|
33
|
+
column: Backlog
|
|
34
|
+
- type: moved
|
|
35
|
+
date: 2026-07-13T10:00:00.000Z
|
|
36
|
+
fromColumn: Backlog
|
|
37
|
+
toColumn: Todo
|
|
38
|
+
- type: moved
|
|
39
|
+
date: 2026-07-14T10:00:00.000Z
|
|
40
|
+
fromColumn: Todo
|
|
41
|
+
toColumn: In Progress
|
|
42
|
+
- type: progress
|
|
43
|
+
date: 2026-07-15T10:00:00.000Z
|
|
44
|
+
fromProgress: 0
|
|
45
|
+
toProgress: 0.5
|
|
46
|
+
- type: progress
|
|
47
|
+
date: 2026-07-16T10:00:00.000Z
|
|
48
|
+
fromProgress: 0.5
|
|
49
|
+
toProgress: 1
|
|
50
|
+
- type: moved
|
|
51
|
+
date: 2026-07-17T10:00:00.000Z
|
|
52
|
+
fromColumn: In Progress
|
|
53
|
+
toColumn: Done
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
created: 2026-07-08T10:00:00.000Z
|
|
3
|
+
updated: 2026-07-09T10:00:00.000Z
|
|
4
|
+
tags:
|
|
5
|
+
- Ops
|
|
6
|
+
- Small
|
|
7
|
+
progress: 0
|
|
8
|
+
due: 2026-07-10T10:00:00.000Z
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Create Sandbox Environment Provisioner
|
|
12
|
+
|
|
13
|
+
Create Sandbox Environment Provisioner for the SaaS platform roadmap.
|
|
14
|
+
|
|
15
|
+
Focus is on incremental delivery with low-risk rollout and measurable outcomes.
|
|
16
|
+
|
|
17
|
+
This is still in discovery and scoped as a future increment.
|
|
18
|
+
|
|
19
|
+
## Sub-tasks
|
|
20
|
+
|
|
21
|
+
- [ ] Confirm acceptance criteria with product and engineering.
|
|
22
|
+
- [ ] Document edge-cases and rollout notes for support.
|
|
23
|
+
- [ ] Add final QA checklist items before release.
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
## Comments
|
|
27
|
+
|
|
28
|
+
- author: Ravi
|
|
29
|
+
date: 2026-07-11T10:00:00.000Z
|
|
30
|
+
Captured initial implementation notes and identified one external dependency.
|
|
31
|
+
|
|
32
|
+
## History
|
|
33
|
+
|
|
34
|
+
- type: created
|
|
35
|
+
date: 2026-07-12T10:00:00.000Z
|
|
36
|
+
column: Backlog
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
created: 2026-07-09T10:00:00.000Z
|
|
3
|
+
updated: 2026-07-10T10:00:00.000Z
|
|
4
|
+
tags:
|
|
5
|
+
- UX
|
|
6
|
+
- Large
|
|
7
|
+
progress: 0
|
|
8
|
+
due: 2026-07-11T10:00:00.000Z
|
|
9
|
+
postponed: 2026-07-20T10:00:00.000Z
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Create Self-serve Cancellation Flow
|
|
13
|
+
|
|
14
|
+
Create Self-serve Cancellation Flow for the SaaS platform roadmap.
|
|
15
|
+
|
|
16
|
+
Focus is on incremental delivery with low-risk rollout and measurable outcomes.
|
|
17
|
+
|
|
18
|
+
This has a clear scope and is ready to be picked up next.
|
|
19
|
+
|
|
20
|
+
## Sub-tasks
|
|
21
|
+
|
|
22
|
+
- [ ] Confirm acceptance criteria with product and engineering.
|
|
23
|
+
- [x] Document edge-cases and rollout notes for support.
|
|
24
|
+
- [ ] Add final QA checklist items before release.
|
|
25
|
+
|
|
26
|
+
## Relations
|
|
27
|
+
|
|
28
|
+
- [depends on add-usage-alert-email-thresholds](add-usage-alert-email-thresholds.md)
|
|
29
|
+
|
|
30
|
+
## History
|
|
31
|
+
|
|
32
|
+
- type: created
|
|
33
|
+
date: 2026-07-12T10:00:00.000Z
|
|
34
|
+
column: Backlog
|
|
35
|
+
- type: moved
|
|
36
|
+
date: 2026-07-13T10:00:00.000Z
|
|
37
|
+
fromColumn: Backlog
|
|
38
|
+
toColumn: Todo
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
created: 2026-07-10T10:00:00.000Z
|
|
3
|
+
updated: 2026-07-11T10:00:00.000Z
|
|
4
|
+
tags:
|
|
5
|
+
- Product
|
|
6
|
+
- Small
|
|
7
|
+
assigned: Ava
|
|
8
|
+
progress: 0.1
|
|
9
|
+
due: 2026-07-12T10:00:00.000Z
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Define Product Pricing Strategy
|
|
13
|
+
|
|
14
|
+
Define Product Pricing Strategy for the SaaS platform roadmap.
|
|
15
|
+
|
|
16
|
+
Focus is on incremental delivery with low-risk rollout and measurable outcomes.
|
|
17
|
+
|
|
18
|
+
This is still in discovery and scoped as a future increment.
|
|
19
|
+
|
|
20
|
+
## Sub-tasks
|
|
21
|
+
|
|
22
|
+
- [x] Confirm acceptance criteria with product and engineering.
|
|
23
|
+
- [x] Document edge-cases and rollout notes for support.
|
|
24
|
+
- [ ] Add final QA checklist items before release.
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
## Comments
|
|
28
|
+
|
|
29
|
+
- author: Ava
|
|
30
|
+
date: 2026-07-13T10:00:00.000Z
|
|
31
|
+
Captured initial implementation notes and identified one external dependency.
|
|
32
|
+
|
|
33
|
+
## History
|
|
34
|
+
|
|
35
|
+
- type: created
|
|
36
|
+
date: 2026-07-14T10:00:00.000Z
|
|
37
|
+
column: Backlog
|