backlog.md 0.1.0 → 0.1.3

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.
Files changed (165) hide show
  1. package/bin/backlog-darwin-arm64/backlog +0 -0
  2. package/bin/backlog-darwin-x64/backlog +0 -0
  3. package/bin/backlog-linux-arm64/backlog +0 -0
  4. package/{cli → bin/backlog-linux-x64}/backlog +0 -0
  5. package/bin/backlog-win32-x64/backlog.exe +0 -0
  6. package/cli.js +62 -0
  7. package/package.json +57 -46
  8. package/.backlog/archive/drafts/readme.md +0 -3
  9. package/.backlog/archive/drafts/task-41 - temporary-test-task.md +0 -13
  10. package/.backlog/archive/readme.md +0 -6
  11. package/.backlog/archive/tasks/readme.md +0 -3
  12. package/.backlog/archive/tasks/task-41 - cli-migrate-terminal-ui-to-bblessed.md +0 -14
  13. package/.backlog/config.yml +0 -7
  14. package/.backlog/decisions/readme.md +0 -7
  15. package/.backlog/docs/readme.md +0 -20
  16. package/.backlog/drafts/readme.md +0 -3
  17. package/.backlog/drafts/task-26 - docs-add-board-export-step-to-agent-dod.md +0 -21
  18. package/.backlog/drafts/task-28 - add-code-of-conduct.md +0 -20
  19. package/.backlog/drafts/task-30 - create-changelog.md +0 -19
  20. package/.backlog/milestones/m-0 - project-setup.md +0 -8
  21. package/.backlog/milestones/m-1 - cli.md +0 -8
  22. package/.backlog/milestones/m-2 - cli-kanban.md +0 -8
  23. package/.backlog/milestones/m-3 - gui.md +0 -8
  24. package/.backlog/milestones/m-4 - gui-kanban.md +0 -8
  25. package/.backlog/milestones/m-5 - gui-advanced.md +0 -12
  26. package/.backlog/milestones/readme.md +0 -3
  27. package/.backlog/readme.md +0 -5
  28. package/.backlog/tasks/readme.md +0 -37
  29. package/.backlog/tasks/task-1 - cli-setup-core-project.md +0 -23
  30. package/.backlog/tasks/task-10 - gui-init-packaging.md +0 -23
  31. package/.backlog/tasks/task-11 - gui-kanban-board.md +0 -26
  32. package/.backlog/tasks/task-12 - gui-advanced.md +0 -25
  33. package/.backlog/tasks/task-13 - cli-add-agent-instruction-prompt.md +0 -53
  34. package/.backlog/tasks/task-13.1 - cli-agent-instruction-file-selection.md +0 -40
  35. package/.backlog/tasks/task-14 - gui-introduction-screens.md +0 -21
  36. package/.backlog/tasks/task-15 - improve-tasks-readme-with-generic-example-and-cli-reference.md +0 -20
  37. package/.backlog/tasks/task-16 - improve-docs-readme-with-generic-example-and-cli-reference.md +0 -20
  38. package/.backlog/tasks/task-17 - improve-drafts-readme-with-generic-example-and-cli-reference.md +0 -20
  39. package/.backlog/tasks/task-18 - improve-decisions-readme-with-generic-example-and-cli-reference.md +0 -20
  40. package/.backlog/tasks/task-19 - cli-fix-default-task-status-and-remove-draft-from-statuses.md +0 -55
  41. package/.backlog/tasks/task-2 - cli-core-logic-library.md +0 -28
  42. package/.backlog/tasks/task-20 - add-agent-guideline-to-mark-tasks-in-progress-on-start.md +0 -32
  43. package/.backlog/tasks/task-21 - kanban-board-vertical-layout.md +0 -31
  44. package/.backlog/tasks/task-22 - cli-prevent-double-dash-in-task-filenames.md +0 -24
  45. package/.backlog/tasks/task-23 - cli-kanban-board-order-tasks-by-id-asc.md +0 -30
  46. package/.backlog/tasks/task-24 - handle-subtasks-in-the-kanban-view.md +0 -38
  47. package/.backlog/tasks/task-24.1 - cli-kanban-board-milestone-view.md +0 -19
  48. package/.backlog/tasks/task-25 - cli-export-kanban-board-to-readme.md +0 -28
  49. package/.backlog/tasks/task-27 - add-contributing-guidelines.md +0 -27
  50. package/.backlog/tasks/task-29 - add-github-templates.md +0 -28
  51. package/.backlog/tasks/task-3 - cli-implement-backlog-init.md +0 -63
  52. package/.backlog/tasks/task-31 - update-readme-for-open-source.md +0 -26
  53. package/.backlog/tasks/task-32 - cli-hide-empty-'no-status'-column.md +0 -31
  54. package/.backlog/tasks/task-33 - cli-export-milestones-board-as-roadmap.md +0 -20
  55. package/.backlog/tasks/task-34 - split-readme.md-for-users-and-contributors.md +0 -26
  56. package/.backlog/tasks/task-35 - finalize-package.json-metadata-for-publishing.md +0 -24
  57. package/.backlog/tasks/task-36 - cli-prompt-for-project-name-in-init.md +0 -24
  58. package/.backlog/tasks/task-37 - cli-board-view-open-tasks-in-ide.md +0 -19
  59. package/.backlog/tasks/task-38 - cli-improved-agent-selection-for-init.md +0 -25
  60. package/.backlog/tasks/task-39 - cli-fix-empty-agent-instruction-files-on-init.md +0 -31
  61. package/.backlog/tasks/task-4 - cli-task-management-commands.md +0 -28
  62. package/.backlog/tasks/task-4.1 - cli-task-create.md +0 -27
  63. package/.backlog/tasks/task-4.10 - use-cli-to-mark-tasks-done.md +0 -51
  64. package/.backlog/tasks/task-4.11 - docs-add-definition-of-done-to-agent-guidelines.md +0 -23
  65. package/.backlog/tasks/task-4.12 - cli-handle-task-id-conflicts-across-branches.md +0 -53
  66. package/.backlog/tasks/task-4.13 - cli-fix-config-command-local-global-logic.md +0 -58
  67. package/.backlog/tasks/task-4.2 - cli-task-list-view.md +0 -25
  68. package/.backlog/tasks/task-4.3 - cli-task-edit.md +0 -24
  69. package/.backlog/tasks/task-4.4 - cli-task-archive-transition.md +0 -27
  70. package/.backlog/tasks/task-4.5 - cli-init-prompts-for-reporter-name-and-global-local-config.md +0 -28
  71. package/.backlog/tasks/task-4.6 - cli-add-empty-assignee-array-field-for-new-tasks.md +0 -35
  72. package/.backlog/tasks/task-4.7 - cli-parse-unquoted-created_date.md +0 -40
  73. package/.backlog/tasks/task-4.8 - cli-enforce-description-header.md +0 -48
  74. package/.backlog/tasks/task-4.9 - cli-normalize-task-id-inputs.md +0 -66
  75. package/.backlog/tasks/task-40 - cli-board-command-defaults-to-view.md +0 -38
  76. package/.backlog/tasks/task-41 - cli-migrate-terminal-ui-to-bblessed.md +0 -93
  77. package/.backlog/tasks/task-41.1 - cli-bblessed-init-wizard.md +0 -42
  78. package/.backlog/tasks/task-41.2 - cli-bblessed-task-view.md +0 -44
  79. package/.backlog/tasks/task-41.3 - cli-bblessed-doc-view.md +0 -45
  80. package/.backlog/tasks/task-41.4 - cli-bblessed-board-view.md +0 -49
  81. package/.backlog/tasks/task-41.5 - cli-audit-remaining-ui-for-bblessed.md +0 -55
  82. package/.backlog/tasks/task-42 - visual-hierarchy.md +0 -54
  83. package/.backlog/tasks/task-43 - remove-duplicate-acceptance-criteria-and-style-metadata.md +0 -56
  84. package/.backlog/tasks/task-44 - checklist-alignment.md +0 -24
  85. package/.backlog/tasks/task-45 - safe-line-wrapping.md +0 -23
  86. package/.backlog/tasks/task-46 - split-pane-layout.md +0 -24
  87. package/.backlog/tasks/task-47 - sticky-header-in-detail-view.md +0 -43
  88. package/.backlog/tasks/task-48 - footer-hint-line.md +0 -21
  89. package/.backlog/tasks/task-49 - status-styling.md +0 -53
  90. package/.backlog/tasks/task-5 - cli-docs-decisions.md +0 -57
  91. package/.backlog/tasks/task-50 - borders-&-padding.md +0 -22
  92. package/.backlog/tasks/task-51 - code-path-styling.md +0 -23
  93. package/.backlog/tasks/task-52 - cli-filter-tasks-list-by-status-or-assignee.md +0 -29
  94. package/.backlog/tasks/task-6 - cli-packaging.md +0 -65
  95. package/.backlog/tasks/task-6.1 - cli-local-installation-support-for-bunx-npx.md +0 -49
  96. package/.backlog/tasks/task-6.2 - cli-github-actions-for-build-&-publish.md +0 -64
  97. package/.backlog/tasks/task-7 - cli-kanban-view.md +0 -60
  98. package/.backlog/tasks/task-7.1 - cli-kanban-board-detect-remote-task-status.md +0 -62
  99. package/.backlog/tasks/task-8 - gui-project-setup.md +0 -21
  100. package/.backlog/tasks/task-9 - gui-task-crud.md +0 -24
  101. package/.cursorrules +0 -223
  102. package/.gitattributes +0 -2
  103. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -25
  104. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -15
  105. package/.github/PULL_REQUEST_TEMPLATE.md +0 -8
  106. package/.github/workflows/ci.yml +0 -36
  107. package/.husky/pre-commit +0 -1
  108. package/AGENTS.md +0 -65
  109. package/CLAUDE.md +0 -87
  110. package/CONTRIBUTING.md +0 -19
  111. package/DEVELOPMENT.md +0 -37
  112. package/biome.json +0 -31
  113. package/bun.lock +0 -152
  114. package/cli/.cursorrules-xh86jabm.md +0 -82
  115. package/cli/AGENTS-xh86jabm.md +0 -82
  116. package/cli/CLAUDE-xh86jabm.md +0 -82
  117. package/cli/cli.js +0 -19622
  118. package/cli/index.js +0 -2
  119. package/docs/npm-publishing.md +0 -69
  120. package/scripts/build.js +0 -73
  121. package/src/agent-instructions.ts +0 -54
  122. package/src/board.ts +0 -263
  123. package/src/cli.ts +0 -806
  124. package/src/constants/index.ts +0 -48
  125. package/src/core/backlog.ts +0 -183
  126. package/src/core/remote-tasks.ts +0 -168
  127. package/src/file-system/operations.ts +0 -515
  128. package/src/git/operations.ts +0 -189
  129. package/src/guidelines/.cursorrules.md +0 -82
  130. package/src/guidelines/AGENTS.md +0 -82
  131. package/src/guidelines/CLAUDE.md +0 -82
  132. package/src/guidelines/index.ts +0 -7
  133. package/src/index.ts +0 -30
  134. package/src/markdown/parser.ts +0 -145
  135. package/src/markdown/serializer.ts +0 -71
  136. package/src/test/agent-instructions.test.ts +0 -62
  137. package/src/test/board.test.ts +0 -291
  138. package/src/test/build.test.ts +0 -28
  139. package/src/test/checklist.test.ts +0 -273
  140. package/src/test/cli.test.ts +0 -1300
  141. package/src/test/code-path.test.ts +0 -204
  142. package/src/test/core.test.ts +0 -330
  143. package/src/test/filesystem.test.ts +0 -435
  144. package/src/test/git.test.ts +0 -26
  145. package/src/test/heading.test.ts +0 -102
  146. package/src/test/line-wrapping.test.ts +0 -252
  147. package/src/test/local-install.test.ts +0 -34
  148. package/src/test/markdown.test.ts +0 -526
  149. package/src/test/parallel-loading.test.ts +0 -160
  150. package/src/test/parent-id-normalization.test.ts +0 -48
  151. package/src/test/remote-id-conflict.test.ts +0 -60
  152. package/src/test/status-icon.test.ts +0 -93
  153. package/src/types/blessed.d.ts +0 -14
  154. package/src/types/index.ts +0 -55
  155. package/src/types/raw.d.ts +0 -4
  156. package/src/ui/board.ts +0 -322
  157. package/src/ui/checklist.ts +0 -103
  158. package/src/ui/code-path.ts +0 -113
  159. package/src/ui/heading.ts +0 -121
  160. package/src/ui/loading.ts +0 -216
  161. package/src/ui/status-icon.ts +0 -53
  162. package/src/ui/task-list.ts +0 -168
  163. package/src/ui/task-viewer.ts +0 -640
  164. package/src/ui/tui.ts +0 -301
  165. package/tsconfig.json +0 -26
@@ -1,21 +0,0 @@
1
- ---
2
- id: task-14
3
- title: 'GUI: introduction screens'
4
- status: To Do
5
- assignee: []
6
- reporter: @MrLesk
7
- created_date: '2025-06-09'
8
- labels: ["gui", "feature"]
9
- milestone: "M3 - GUI"
10
- dependencies: []
11
- ---
12
- ## Description
13
-
14
- Two introduction screens should appear:
15
- 1. When launching Backlog for the first time in a folder without initialization.
16
- 2. When launching Backlog again in an already initialized folder.
17
-
18
- ## Acceptance Criteria
19
-
20
- - [ ] Welcome screen for first-time users displays key options when no project is initialized.
21
- - [ ] Welcome back screen for existing projects shows popular options.
@@ -1,20 +0,0 @@
1
- ---
2
- id: task-15
3
- title: "Improve tasks readme with generic example and CLI command reference"
4
- status: To Do
5
- assignee: []
6
- reporter: @MrLesk
7
- created_date: 2025-06-09
8
- labels: []
9
- dependencies: []
10
- ---
11
-
12
- ## Description
13
-
14
- Update `.backlog/tasks/readme.md` so the task example demonstrates a generic template rather than the current specific example. Include a section listing all task-related CLI commands with a short description for each.
15
-
16
- ## Acceptance Criteria
17
-
18
- - [ ] Generic task template replaces the old example
19
- - [ ] `backlog task` commands documented (`create`, `list`, `edit`, `view`, `archive`, `demote`)
20
- - [ ] Task committed to repository
@@ -1,20 +0,0 @@
1
- ---
2
- id: task-16
3
- title: "Improve docs readme with generic example and CLI command reference"
4
- status: To Do
5
- assignee: []
6
- reporter: @MrLesk
7
- created_date: 2025-06-09
8
- labels: []
9
- dependencies: []
10
- ---
11
-
12
- ## Description
13
-
14
- Refine `.backlog/docs/readme.md` with a generic documentation example. Add a list of all `backlog doc` commands and their purpose.
15
-
16
- ## Acceptance Criteria
17
-
18
- - [ ] Generic document example provided
19
- - [ ] `backlog doc` command descriptions added (`create`, `list`)
20
- - [ ] Task committed to repository
@@ -1,20 +0,0 @@
1
- ---
2
- id: task-17
3
- title: "Improve drafts readme with generic example and CLI command reference"
4
- status: To Do
5
- assignee: []
6
- reporter: @MrLesk
7
- created_date: 2025-06-09
8
- labels: []
9
- dependencies: []
10
- ---
11
-
12
- ## Description
13
-
14
- Update `.backlog/drafts/readme.md` to show a generic draft task example. Document available `backlog draft` commands.
15
-
16
- ## Acceptance Criteria
17
-
18
- - [ ] Generic draft task example added
19
- - [ ] `backlog draft` command descriptions added (`create`, `archive`, `promote`)
20
- - [ ] Task committed to repository
@@ -1,20 +0,0 @@
1
- ---
2
- id: task-18
3
- title: "Improve decisions readme with generic example and CLI command reference"
4
- status: To Do
5
- assignee: []
6
- reporter: @MrLesk
7
- created_date: 2025-06-09
8
- labels: []
9
- dependencies: []
10
- ---
11
-
12
- ## Description
13
-
14
- Refine `.backlog/decisions/readme.md` with a generic decision log example and provide a list of `backlog decision` commands.
15
-
16
- ## Acceptance Criteria
17
-
18
- - [ ] Generic decision example included
19
- - [ ] `backlog decision` command descriptions added (`create`, `list`)
20
- - [ ] Task committed to repository
@@ -1,55 +0,0 @@
1
- ---
2
- id: task-19
3
- title: CLI - fix default task status and remove Draft from statuses
4
- status: Done
5
- reporter: @MrLesk
6
- created_date: '2025-06-09'
7
- labels: []
8
- dependencies: []
9
- ---
10
-
11
- ## Description
12
- The CLI currently creates tasks in the "Draft" status by default and includes "Draft" in the list of task statuses. Draft tasks should be handled separately.
13
-
14
- ## Acceptance Criteria
15
- - [x] `backlog task create` without options creates a task in `.backlog/tasks` with status `To Do`.
16
- - [x] `backlog task create --draft` creates a draft task in `.backlog/drafts` with status `Draft`.
17
- - [x] `config.yml` no longer lists `Draft` in the `statuses` array and sets `default_status` to `To Do`.
18
- - [x] Documentation updated to reflect the new behaviour.
19
-
20
- ## Implementation Notes
21
-
22
- **Constants Updated (src/constants/index.ts:36-41):**
23
- - Changed `DEFAULT_STATUSES` from `["Draft", "To Do", "In Progress", "Done"]` to `["To Do", "In Progress", "Done"]`
24
- - Set `FALLBACK_STATUS` to `"To Do"` instead of `"Draft"`
25
- - Removed "Draft" from the standard workflow statuses
26
-
27
- **CLI Command Enhancement (src/cli.ts:191-204):**
28
- - Added `--draft` option to `backlog task create` command
29
- - When `--draft` flag is used, task is created in `.backlog/drafts` using `core.createDraft()`
30
- - Without `--draft` flag, task is created in `.backlog/tasks` using `core.createTask()`
31
- - Both operations properly handle the status assignment based on context
32
-
33
- **Configuration Updates:**
34
- - Project `config.yml` now shows `statuses: ["To Do", "In Progress", "Done"]` (no Draft)
35
- - Default status set to `"To Do"` in configuration files
36
- - Draft tasks are managed separately from the main workflow statuses
37
-
38
- **Documentation Updates (readme.md):**
39
- - Line 74: Added `--draft` option documentation for task creation
40
- - Line 199: Added explanation that "Draft tasks are stored separately under `.backlog/drafts`"
41
- - Clear distinction between workflow statuses and draft storage location
42
-
43
- **Test Verification:**
44
- - All 35 CLI integration tests pass
45
- - All 20 core tests pass
46
- - Manual testing confirms regular tasks created with "To Do" status in `.backlog/tasks`
47
- - Manual testing confirms draft tasks created with "Draft" status in `.backlog/drafts`
48
-
49
- **Workflow Impact:**
50
- - Regular task creation: `backlog task create "Title"` → `.backlog/tasks` with status "To Do"
51
- - Draft task creation: `backlog task create "Title" --draft` → `.backlog/drafts` with status "Draft"
52
- - Kanban board and listing commands now show only workflow statuses: To Do, In Progress, Done
53
- - Draft tasks are managed through separate `backlog draft` commands
54
-
55
- The implementation successfully separates draft handling from the main task workflow while maintaining backward compatibility and clear user experience.
@@ -1,28 +0,0 @@
1
- ---
2
- id: task-2
3
- title: "CLI: Design & Implement Core Logic Library"
4
- status: Done
5
- assignee: @MrLesk
6
- reporter: @MrLesk
7
- created_date: 2025-06-03
8
- labels: ["cli", "core-logic", "architecture"]
9
- milestone: "M1 - CLI"
10
- dependencies: ["task-1"]
11
- ---
12
-
13
- ## Description
14
-
15
- Develop the central TypeScript library that handles:
16
-
17
- - File system operations within the `.backlog` directory.
18
- - Markdown parsing (reading frontmatter and content).
19
- - Markdown serialization (writing task files).
20
- - Basic Git interaction wrappers (e.g., add, commit specific files).
21
- - Defining data structures for tasks, docs, decisions.
22
-
23
- ## Acceptance Criteria
24
-
25
- - [x] Clear interface for file operations.
26
- - [x] Robust Markdown parsing/serialization for Backlog task files.
27
- - [x] Wrapper functions for essential Git commands (e.g., commit changes to a task file).
28
- - [x] Core data models (Task, DecisionLog, Document) defined.
@@ -1,32 +0,0 @@
1
- ---
2
- id: task-20
3
- title: Add agent guideline to mark tasks In Progress on start
4
- status: Done
5
- assignee: []
6
- reporter: '@MrLesk'
7
- created_date: '2025-06-09'
8
- updated_date: '2025-06-09'
9
- labels:
10
- - agents
11
- dependencies: []
12
- ---
13
-
14
- ## Description
15
-
16
- Update the AI agent guideline files to ensure that whenever an agent starts working on a task they immediately mark the task as **In Progress**, assign it to themselves, and push the change.
17
-
18
- ## Acceptance Criteria
19
-
20
- - [x] `AGENTS.md` mentions setting status to `In Progress`, assigning the task, and pushing.
21
- - [x] `CLAUDE.md` mentions the same instruction.
22
- - [x] `.cursorrules` mentions the same instruction.
23
- - [x] Task committed to repository.
24
-
25
- ## Implementation Notes
26
-
27
- * Added new guideline bullet in `AGENTS.md` instructing agents to set the task to `In Progress`, assign themselves, and push when beginning work.
28
- * Mirrored the same instruction in `CLAUDE.md:41` under **AI Agent Integration** section.
29
- * Updated `.cursorrules` within the Project-Specific Rules section to include the requirement.
30
- * All three files now consistently instruct agents to mark tasks as "In Progress" and assign themselves when starting work.
31
- * This ensures proper task tracking and prevents multiple agents from working on the same task simultaneously.
32
- * Implementation follows the established pattern of maintaining consistency across all agent instruction files.
@@ -1,31 +0,0 @@
1
- ---
2
- id: task-21
3
- title: Kanban board vertical layout
4
- status: Done
5
- assignee: []
6
- reporter: '@MrLesk'
7
- created_date: '2025-06-09'
8
- updated_date: '2025-06-09'
9
- completed_date: '2025-06-09'
10
- labels: []
11
- dependencies: []
12
- ---
13
-
14
- ## Description
15
-
16
- Add a visualization to the Kanban board where all status columns are displayed vertically in a single column. Include both `--layout vertical` and a shortcut `--vertical` option for convenience.
17
-
18
- ## Acceptance Criteria
19
-
20
- - [x] Vertical Kanban view with all statuses in a single column
21
- - [x] Support `--layout vertical` option for `backlog board view` command
22
- - [x] Support `--vertical` shortcut option for `backlog board view` command
23
- - [x] Documentation updated if necessary
24
-
25
- ## Implementation Notes
26
-
27
- - Added `BoardLayout` type and support for `vertical` layout in `generateKanbanBoard`.
28
- - Introduced `--layout` option for `backlog board view` command.
29
- - Added `--vertical` shortcut flag that overrides `--layout` when specified.
30
- - Updated logic to prioritize `--vertical` flag over `--layout` option.
31
- - Updated tests and documentation to cover the new layout options.
@@ -1,24 +0,0 @@
1
- ---
2
- id: task-22
3
- title: 'CLI: Prevent double dash in task filenames'
4
- status: Done
5
- assignee: []
6
- created_date: '2025-06-09'
7
- updated_date: '2025-06-09'
8
- labels: []
9
- dependencies: []
10
- ---
11
-
12
- ## Description
13
-
14
- Ensure generated task filenames never contain consecutive dashes
15
-
16
- ## Acceptance Criteria
17
- - [x] Filenames generated by the CLI do not contain consecutive dashes
18
- - [x] Task committed to the repository
19
-
20
- ## Implementation Notes
21
- - Updated `sanitizeFilename` utility to collapse repeated dashes and trim leading
22
- or trailing dashes.
23
- - Added regression test ensuring filenames created for tasks never contain
24
- consecutive dashes.
@@ -1,30 +0,0 @@
1
- ---
2
- id: task-23
3
- title: 'CLI: Kanban board order tasks by ID ASC'
4
- status: Done
5
- assignee: []
6
- created_date: '2025-06-09'
7
- updated_date: '2025-06-09'
8
- completed_date: '2025-06-09'
9
- labels: []
10
- dependencies: []
11
- ---
12
-
13
- ## Description
14
-
15
- Sort tasks within each status column by numeric task ID in ascending order when rendering the board.
16
-
17
- ## Acceptance Criteria
18
-
19
- - [x] Tasks in each status column are sorted by numeric task ID ascending.
20
- - [x] Sorting occurs after collecting tasks from all sources (local or remote, if implemented).
21
- - [x] Board output consistently displays tasks in ascending order regardless of branch order.
22
-
23
- ## Implementation Notes
24
-
25
- - Added `idSegments` helper function to parse task IDs into numeric segments for proper sorting.
26
- - Implemented `compareIds` function that compares tasks by their numeric ID segments, handling both simple IDs (task-1, task-2) and complex decimal IDs (task-4.1, task-4.2).
27
- - Tasks are sorted using `list.slice().sort(compareIds)` within each status column in the `generateKanbanBoard` function.
28
- - Sorting works correctly with both horizontal and vertical board layouts.
29
- - Added comprehensive test "sorts tasks by numeric id within each status" to verify task-2 appears before task-10.
30
- - Successfully resolved merge conflicts with vertical layout and export functionality while preserving all features.
@@ -1,38 +0,0 @@
1
- ---
2
- id: task-24
3
- title: Handle subtasks in the Kanban view
4
- status: Done
5
- assignee: []
6
- created_date: '2025-06-09'
7
- updated_date: '2025-06-09'
8
- completed_date: '2025-06-09'
9
- labels: []
10
- dependencies: []
11
- ---
12
-
13
- ## Description
14
-
15
- Display subtasks indented with pipes | and em dashes — under their parent task. Subtask IDs show the pipe prefix while titles are cleanly spaced. Includes configurable column width settings for optimal display formatting.
16
-
17
- ## Acceptance Criteria
18
-
19
- - [x] Subtasks appear under their parent task in the Kanban board
20
- - [x] Pipes and em dashes visually indent subtasks for clarity
21
- - [x] Subtask IDs prefixed with ` |—` (2 spaces + pipe + em dash)
22
- - [x] Subtask titles indented with 6 spaces total for optimal alignment
23
- - [x] Column width configurable via `max_column_width` in config.yml
24
-
25
- ## Implementation Notes
26
-
27
- * Updated `generateKanbanBoard()` in `src/board.ts` to group subtasks under
28
- their parent when both share the same status.
29
- * Subtasks use enhanced formatting: IDs prefixed with ` |—` (2 spaces + pipe + em dash),
30
- titles indented with 6 spaces total for optimal visual alignment.
31
- * Added configurable column width via `maxColumnWidth` parameter and `max_column_width`
32
- in config.yml (default: 20 for terminal, 80 for export).
33
- * Added new unit test `nests subtasks under their parent when statuses match`
34
- in `src/test/board.test.ts`.
35
- * Successfully integrated subtask functionality with ID sorting (task 23), vertical layout (task 21), and export features (task 25).
36
- * Enhanced sorting to use `compareIds` for both parent tasks and subtasks, ensuring proper numeric ordering.
37
- * Subtask functionality works seamlessly across all board layouts (horizontal/vertical) and export operations.
38
- * Board export supports both terminal and markdown formats with proper column width constraints.
@@ -1,19 +0,0 @@
1
- ---
2
- id: task-24.1
3
- title: 'CLI: Kanban board milestone view'
4
- status: In Progress
5
- assignee: @codex
6
- created_date: '2025-06-09'
7
- labels: []
8
- dependencies: []
9
- parent_task_id: task-24
10
- ---
11
-
12
- ## Description
13
-
14
- Add a backlog board view --milestones or -m to view the board based on milestones
15
-
16
- ## Acceptance Criteria
17
-
18
- - [ ] `backlog board view --milestones` or `-m` groups tasks by milestone
19
- - [ ] Documentation updated if necessary
@@ -1,28 +0,0 @@
1
- ---
2
- id: task-25
3
- title: 'CLI: Export Kanban board to README'
4
- status: Done
5
- assignee: []
6
- created_date: '2025-06-09'
7
- updated_date: '2025-06-09'
8
- labels: []
9
- dependencies: []
10
- ---
11
-
12
- ## Description
13
-
14
- Implement new command backlog board export to append the board to README.md or specified output file.
15
-
16
- ## Acceptance Criteria
17
-
18
- - [x] `backlog board export` writes the kanban board to `readme.md` if it exists.
19
- - [x] Provide `--output <path>` option to save board to another file.
20
- - [x] Automatically create the file if the specified path does not exist.
21
- - [x] Appended content preserves existing file contents and adds the board at the end.
22
-
23
- ## Implementation Notes
24
-
25
- - Added `exportKanbanBoardToFile()` in `src/board.ts` to handle writing the board to a file.
26
- - New `board export` command in `src/cli.ts` gathers tasks (including remote) and uses this helper.
27
- - Supports `--output` option and defaults to `readme.md`.
28
- - Ensures output file exists and appends the board while preserving content.
@@ -1,27 +0,0 @@
1
- ---
2
- id: task-27
3
- title: Add CONTRIBUTING guidelines
4
- status: Done
5
- assignee: []
6
- created_date: '2025-06-09'
7
- updated_date: '2025-06-09'
8
- labels:
9
- - docs
10
- - github
11
- dependencies: []
12
- ---
13
-
14
- ## Description
15
-
16
- Create CONTRIBUTING.md with guidelines for contributing to Backlog.md.
17
-
18
- ## Acceptance Criteria
19
- - [x] CONTRIBUTING.md explains how to open issues and PRs
20
- - [x] Describes running tests and linting
21
- - [x] Task committed to repository
22
-
23
- ## Implementation Notes
24
- - Added `CONTRIBUTING.md` with sections on opening issues and submitting
25
- pull requests.
26
- - Documented test and lint commands (`bun test` and `npx biome check .`).
27
- - Linked to the new guidelines from `readme.md`.
@@ -1,28 +0,0 @@
1
- ---
2
- id: task-29
3
- title: Add GitHub templates
4
- status: Done
5
- assignee: []
6
- created_date: '2025-06-09'
7
- updated_date: '2025-06-09'
8
- labels:
9
- - github
10
- - docs
11
- dependencies: []
12
- ---
13
-
14
- ## Description
15
-
16
- Create issue and pull request templates under .github/.
17
-
18
- ## Acceptance Criteria
19
- - [x] Bug report and feature request templates added
20
- - [x] Pull request template added referencing task IDs
21
- - [x] Task committed to repository
22
-
23
- ## Implementation Notes
24
-
25
- - Added `.github/ISSUE_TEMPLATE` with bug and feature request templates.
26
- - Created `PULL_REQUEST_TEMPLATE.md` requesting Backlog task references.
27
- - Documented templates in `readme.md`.
28
-
@@ -1,63 +0,0 @@
1
- ---
2
- id: task-3
3
- title: "CLI: Implement `backlog init` Command"
4
- status: Done
5
- assignee: @MrLesk
6
- reporter: @MrLesk
7
- created_date: 2025-06-04
8
- labels: ["cli", "command"]
9
- milestone: "M1 - CLI"
10
- dependencies: ["task-2"]
11
- ---
12
-
13
- ## Description
14
-
15
- Implement the `backlog init <project-name>` command in the CLI. This command will set up the `.backlog` directory structure and a `config.yml` in the current Git repository.
16
-
17
- ## Acceptance Criteria
18
-
19
- - [x] `backlog init <project-name>` command creates all necessary subdirectories within `.backlog`.
20
- - [x] `backlog init <project-name>` creates an initial commit for the `.backlog` structure.
21
- - [x] Command provides appropriate user feedback.
22
-
23
- ## Implementation Summary
24
-
25
- ✅ **CLI Implementation Recovered & Complete**
26
-
27
- ### Features Recovered
28
- - **Command Line Interface**: Built with Commander.js for argument parsing
29
- - **Git Integration**: Automatically detects git repositories and offers to initialize if missing
30
- - **Directory Structure**: Creates complete `.backlog` directory hierarchy
31
- - **Configuration**: Generates `config.yml` with project name and default settings
32
- - **Git Commit**: Automatically commits the initial backlog structure
33
- - **User Feedback**: Provides clear success messages and error handling
34
-
35
- ### Technical Details
36
- - **Entry Point**: `src/cli.ts` contains the CLI implementation
37
- - **Build System**: Compiles to `cli/index.js` for distribution
38
- - **Package Scripts**:
39
- - `bun run cli` - Run CLI from source
40
- - `bun run build` - Build distributable CLI
41
- - **Testing**: Comprehensive test suite with 5 integration tests
42
- - **Dependencies**: Added `commander@14.0.0` for CLI parsing
43
-
44
- ### Usage
45
- ```bash
46
- # From source
47
- bun src/cli.ts init "My Project"
48
-
49
- # Built version
50
- ./cli/index.js init "My Project"
51
-
52
- # Help
53
- bun src/cli.ts --help
54
- ```
55
-
56
- ### Test Coverage
57
- - ✅ Initializes backlog project in existing git repo
58
- - ✅ Creates all required directories
59
- - ✅ Handles project names with special characters
60
- - ✅ Works when git repo exists
61
- - ✅ Creates initial commit with backlog structure
62
-
63
- All **62 tests passing** including 5 CLI integration tests.
@@ -1,26 +0,0 @@
1
- ---
2
- id: task-31
3
- title: Update README for open source
4
- status: Done
5
- assignee: []
6
- created_date: '2025-06-09'
7
- updated_date: '2025-06-09'
8
- labels:
9
- - docs
10
- dependencies: []
11
- ---
12
-
13
- ## Description
14
-
15
- Add installation badges, link to license and contributing guide. Document global install and example usage.
16
-
17
- ## Acceptance Criteria
18
- - [x] README highlights MIT license and contribution guidelines
19
- - [x] Includes npm and bun install badges
20
- - [x] Provides quick start example
21
- - [x] Task committed to repository
22
-
23
- ## Implementation Notes
24
- - Added npm and bun badge images with links in `readme.md`.
25
- - Inserted license and contribution links near the top of the README.
26
- - Added new Quick Start section showing global install and example commands.
@@ -1,31 +0,0 @@
1
- ---
2
- id: task-32
3
- title: 'CLI: Hide empty ''No Status'' column'
4
- status: Done
5
- assignee: []
6
- created_date: '2025-06-09'
7
- updated_date: '2025-06-09'
8
- labels:
9
- - cli
10
- - bug
11
- dependencies: []
12
- ---
13
-
14
- ## Description
15
-
16
- When viewing the kanban board with `backlog board view`, an empty **No Status** column is always displayed even if no tasks lack a status. The board should only include this column when there are tasks without a defined status.
17
-
18
- ## Acceptance Criteria
19
-
20
- - [x] The board does not render the **No Status** column when there are no tasks missing a status.
21
- - [x] Regression test verifies the column is hidden when unused.
22
- - [x] Task committed to the repository.
23
-
24
- ## Implementation Notes
25
-
26
- * The functionality was already implemented in `generateKanbanBoard()` in `src/board.ts:71-78`.
27
- * The code filters out empty status groups using `(groups.get(s)?.length ?? 0) > 0` condition.
28
- * This ensures only status columns with actual tasks are displayed in both horizontal and vertical layouts.
29
- * Regression test `omits 'No Status' column when all tasks have status` exists in `src/test/board.test.ts:77-93`.
30
- * The implementation works for both terminal and markdown export formats.
31
- * All existing functionality is preserved while improving the UI by hiding unnecessary empty columns.
@@ -1,20 +0,0 @@
1
- ---
2
- id: task-33
3
- title: 'CLI: Export milestones board as roadmap'
4
- status: To Do
5
- assignee: []
6
- created_date: '2025-06-10'
7
- labels: []
8
- dependencies: []
9
- milestone: "M2 - CLI Kanban Board"
10
- ---
11
-
12
- ## Description
13
-
14
- Implement board export for milestones, enabling an overview of tasks by milestone as a roadmap. Add --title / -t option to set a custom title.
15
-
16
- ## Acceptance Criteria
17
-
18
- - [ ] `backlog board export --milestones` exports tasks grouped by milestone as a roadmap
19
- - [ ] Add `--title` or `-t` option to specify a custom heading in the exported file
20
- - [ ] Documentation updated with usage examples
@@ -1,26 +0,0 @@
1
- ---
2
- id: task-34
3
- title: Split readme.md for users and contributors
4
- status: Done
5
- assignee:
6
- - "@codex"
7
- created_date: '2025-06-09'
8
- labels:
9
- - docs
10
- dependencies: []
11
- ---
12
-
13
- ## Description
14
-
15
- Split the current README.md into two separate files: one focused on how to use the Backlog.md CLI, and another covering how to run the project locally for contributors.
16
-
17
- ## Acceptance Criteria
18
- - [x] README for users explains how to install and use Backlog.md CLI
19
- - [x] Separate documentation describes how to run the project locally for contributors
20
- - [x] Both docs link to each other from the repository root
21
- - [x] Task committed to repository
22
-
23
- ## Implementation Notes
24
- - Created `DEVELOPMENT.md` with instructions for running and testing the project locally.
25
- - Removed development sections from `readme.md` and added a link to the new document.
26
- - Added reciprocal link back to `readme.md` from `DEVELOPMENT.md`.
@@ -1,24 +0,0 @@
1
- ---
2
- id: task-35
3
- title: Finalize package.json metadata for publishing
4
- status: Done
5
- assignee:
6
- - '@codex'
7
- created_date: '2025-06-09'
8
- updated_date: '2025-06-10'
9
- labels: []
10
- dependencies: []
11
- ---
12
-
13
- ## Description
14
-
15
- Add full author and repository information to package.json for npm publishing.
16
-
17
- ## Acceptance Criteria
18
- - [x] `author` field defined
19
- - [x] `repository` URL set
20
- - [x] `bugs` URL set
21
- - [x] `homepage` field set
22
- - [x] `keywords` array includes relevant terms
23
- - [x] `license` field confirmed
24
- - [x] `npm publish --dry-run` succeeds with no warnings