backlog.md 0.1.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/.backlog/archive/drafts/readme.md +3 -0
- package/.backlog/archive/drafts/task-41 - temporary-test-task.md +13 -0
- package/.backlog/archive/readme.md +6 -0
- package/.backlog/archive/tasks/readme.md +3 -0
- package/.backlog/archive/tasks/task-41 - cli-migrate-terminal-ui-to-bblessed.md +14 -0
- package/.backlog/config.yml +7 -0
- package/.backlog/decisions/readme.md +7 -0
- package/.backlog/docs/readme.md +20 -0
- package/.backlog/drafts/readme.md +3 -0
- package/.backlog/drafts/task-26 - docs-add-board-export-step-to-agent-dod.md +21 -0
- package/.backlog/drafts/task-28 - add-code-of-conduct.md +20 -0
- package/.backlog/drafts/task-30 - create-changelog.md +19 -0
- package/.backlog/milestones/m-0 - project-setup.md +8 -0
- package/.backlog/milestones/m-1 - cli.md +8 -0
- package/.backlog/milestones/m-2 - cli-kanban.md +8 -0
- package/.backlog/milestones/m-3 - gui.md +8 -0
- package/.backlog/milestones/m-4 - gui-kanban.md +8 -0
- package/.backlog/milestones/m-5 - gui-advanced.md +12 -0
- package/.backlog/milestones/readme.md +3 -0
- package/.backlog/readme.md +5 -0
- package/.backlog/tasks/readme.md +37 -0
- package/.backlog/tasks/task-1 - cli-setup-core-project.md +23 -0
- package/.backlog/tasks/task-10 - gui-init-packaging.md +23 -0
- package/.backlog/tasks/task-11 - gui-kanban-board.md +26 -0
- package/.backlog/tasks/task-12 - gui-advanced.md +25 -0
- package/.backlog/tasks/task-13 - cli-add-agent-instruction-prompt.md +53 -0
- package/.backlog/tasks/task-13.1 - cli-agent-instruction-file-selection.md +40 -0
- package/.backlog/tasks/task-14 - gui-introduction-screens.md +21 -0
- package/.backlog/tasks/task-15 - improve-tasks-readme-with-generic-example-and-cli-reference.md +20 -0
- package/.backlog/tasks/task-16 - improve-docs-readme-with-generic-example-and-cli-reference.md +20 -0
- package/.backlog/tasks/task-17 - improve-drafts-readme-with-generic-example-and-cli-reference.md +20 -0
- package/.backlog/tasks/task-18 - improve-decisions-readme-with-generic-example-and-cli-reference.md +20 -0
- package/.backlog/tasks/task-19 - cli-fix-default-task-status-and-remove-draft-from-statuses.md +55 -0
- package/.backlog/tasks/task-2 - cli-core-logic-library.md +28 -0
- package/.backlog/tasks/task-20 - add-agent-guideline-to-mark-tasks-in-progress-on-start.md +32 -0
- package/.backlog/tasks/task-21 - kanban-board-vertical-layout.md +31 -0
- package/.backlog/tasks/task-22 - cli-prevent-double-dash-in-task-filenames.md +24 -0
- package/.backlog/tasks/task-23 - cli-kanban-board-order-tasks-by-id-asc.md +30 -0
- package/.backlog/tasks/task-24 - handle-subtasks-in-the-kanban-view.md +38 -0
- package/.backlog/tasks/task-24.1 - cli-kanban-board-milestone-view.md +19 -0
- package/.backlog/tasks/task-25 - cli-export-kanban-board-to-readme.md +28 -0
- package/.backlog/tasks/task-27 - add-contributing-guidelines.md +27 -0
- package/.backlog/tasks/task-29 - add-github-templates.md +28 -0
- package/.backlog/tasks/task-3 - cli-implement-backlog-init.md +63 -0
- package/.backlog/tasks/task-31 - update-readme-for-open-source.md +26 -0
- package/.backlog/tasks/task-32 - cli-hide-empty-'no-status'-column.md +31 -0
- package/.backlog/tasks/task-33 - cli-export-milestones-board-as-roadmap.md +20 -0
- package/.backlog/tasks/task-34 - split-readme.md-for-users-and-contributors.md +26 -0
- package/.backlog/tasks/task-35 - finalize-package.json-metadata-for-publishing.md +24 -0
- package/.backlog/tasks/task-36 - cli-prompt-for-project-name-in-init.md +24 -0
- package/.backlog/tasks/task-37 - cli-board-view-open-tasks-in-ide.md +19 -0
- package/.backlog/tasks/task-38 - cli-improved-agent-selection-for-init.md +25 -0
- package/.backlog/tasks/task-39 - cli-fix-empty-agent-instruction-files-on-init.md +31 -0
- package/.backlog/tasks/task-4 - cli-task-management-commands.md +28 -0
- package/.backlog/tasks/task-4.1 - cli-task-create.md +27 -0
- package/.backlog/tasks/task-4.10 - use-cli-to-mark-tasks-done.md +51 -0
- package/.backlog/tasks/task-4.11 - docs-add-definition-of-done-to-agent-guidelines.md +23 -0
- package/.backlog/tasks/task-4.12 - cli-handle-task-id-conflicts-across-branches.md +53 -0
- package/.backlog/tasks/task-4.13 - cli-fix-config-command-local-global-logic.md +58 -0
- package/.backlog/tasks/task-4.2 - cli-task-list-view.md +25 -0
- package/.backlog/tasks/task-4.3 - cli-task-edit.md +24 -0
- package/.backlog/tasks/task-4.4 - cli-task-archive-transition.md +27 -0
- package/.backlog/tasks/task-4.5 - cli-init-prompts-for-reporter-name-and-global-local-config.md +28 -0
- package/.backlog/tasks/task-4.6 - cli-add-empty-assignee-array-field-for-new-tasks.md +35 -0
- package/.backlog/tasks/task-4.7 - cli-parse-unquoted-created_date.md +40 -0
- package/.backlog/tasks/task-4.8 - cli-enforce-description-header.md +48 -0
- package/.backlog/tasks/task-4.9 - cli-normalize-task-id-inputs.md +66 -0
- package/.backlog/tasks/task-40 - cli-board-command-defaults-to-view.md +38 -0
- package/.backlog/tasks/task-41 - cli-migrate-terminal-ui-to-bblessed.md +93 -0
- package/.backlog/tasks/task-41.1 - cli-bblessed-init-wizard.md +42 -0
- package/.backlog/tasks/task-41.2 - cli-bblessed-task-view.md +44 -0
- package/.backlog/tasks/task-41.3 - cli-bblessed-doc-view.md +45 -0
- package/.backlog/tasks/task-41.4 - cli-bblessed-board-view.md +49 -0
- package/.backlog/tasks/task-41.5 - cli-audit-remaining-ui-for-bblessed.md +55 -0
- package/.backlog/tasks/task-42 - visual-hierarchy.md +54 -0
- package/.backlog/tasks/task-43 - remove-duplicate-acceptance-criteria-and-style-metadata.md +56 -0
- package/.backlog/tasks/task-44 - checklist-alignment.md +24 -0
- package/.backlog/tasks/task-45 - safe-line-wrapping.md +23 -0
- package/.backlog/tasks/task-46 - split-pane-layout.md +24 -0
- package/.backlog/tasks/task-47 - sticky-header-in-detail-view.md +43 -0
- package/.backlog/tasks/task-48 - footer-hint-line.md +21 -0
- package/.backlog/tasks/task-49 - status-styling.md +53 -0
- package/.backlog/tasks/task-5 - cli-docs-decisions.md +57 -0
- package/.backlog/tasks/task-50 - borders-&-padding.md +22 -0
- package/.backlog/tasks/task-51 - code-path-styling.md +23 -0
- package/.backlog/tasks/task-52 - cli-filter-tasks-list-by-status-or-assignee.md +29 -0
- package/.backlog/tasks/task-6 - cli-packaging.md +65 -0
- package/.backlog/tasks/task-6.1 - cli-local-installation-support-for-bunx-npx.md +49 -0
- package/.backlog/tasks/task-6.2 - cli-github-actions-for-build-&-publish.md +64 -0
- package/.backlog/tasks/task-7 - cli-kanban-view.md +60 -0
- package/.backlog/tasks/task-7.1 - cli-kanban-board-detect-remote-task-status.md +62 -0
- package/.backlog/tasks/task-8 - gui-project-setup.md +21 -0
- package/.backlog/tasks/task-9 - gui-task-crud.md +24 -0
- package/.cursorrules +223 -0
- package/.gitattributes +2 -0
- package/.github/ISSUE_TEMPLATE/bug_report.md +25 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +15 -0
- package/.github/PULL_REQUEST_TEMPLATE.md +8 -0
- package/.github/workflows/ci.yml +36 -0
- package/.husky/pre-commit +1 -0
- package/AGENTS.md +65 -0
- package/CLAUDE.md +87 -0
- package/CONTRIBUTING.md +19 -0
- package/DEVELOPMENT.md +37 -0
- package/LICENSE +21 -0
- package/biome.json +31 -0
- package/bun.lock +152 -0
- package/cli/.cursorrules-xh86jabm.md +82 -0
- package/cli/AGENTS-xh86jabm.md +82 -0
- package/cli/CLAUDE-xh86jabm.md +82 -0
- package/cli/backlog +0 -0
- package/cli/cli.js +19622 -0
- package/cli/index.js +2 -0
- package/docs/npm-publishing.md +69 -0
- package/package.json +47 -0
- package/readme.md +97 -0
- package/scripts/build.js +73 -0
- package/src/agent-instructions.ts +54 -0
- package/src/board.ts +263 -0
- package/src/cli.ts +806 -0
- package/src/constants/index.ts +48 -0
- package/src/core/backlog.ts +183 -0
- package/src/core/remote-tasks.ts +168 -0
- package/src/file-system/operations.ts +515 -0
- package/src/git/operations.ts +189 -0
- package/src/guidelines/.cursorrules.md +82 -0
- package/src/guidelines/AGENTS.md +82 -0
- package/src/guidelines/CLAUDE.md +82 -0
- package/src/guidelines/index.ts +7 -0
- package/src/index.ts +30 -0
- package/src/markdown/parser.ts +145 -0
- package/src/markdown/serializer.ts +71 -0
- package/src/test/agent-instructions.test.ts +62 -0
- package/src/test/board.test.ts +291 -0
- package/src/test/build.test.ts +28 -0
- package/src/test/checklist.test.ts +273 -0
- package/src/test/cli.test.ts +1300 -0
- package/src/test/code-path.test.ts +204 -0
- package/src/test/core.test.ts +330 -0
- package/src/test/filesystem.test.ts +435 -0
- package/src/test/git.test.ts +26 -0
- package/src/test/heading.test.ts +102 -0
- package/src/test/line-wrapping.test.ts +252 -0
- package/src/test/local-install.test.ts +34 -0
- package/src/test/markdown.test.ts +526 -0
- package/src/test/parallel-loading.test.ts +160 -0
- package/src/test/parent-id-normalization.test.ts +48 -0
- package/src/test/remote-id-conflict.test.ts +60 -0
- package/src/test/status-icon.test.ts +93 -0
- package/src/types/blessed.d.ts +14 -0
- package/src/types/index.ts +55 -0
- package/src/types/raw.d.ts +4 -0
- package/src/ui/board.ts +322 -0
- package/src/ui/checklist.ts +103 -0
- package/src/ui/code-path.ts +113 -0
- package/src/ui/heading.ts +121 -0
- package/src/ui/loading.ts +216 -0
- package/src/ui/status-icon.ts +53 -0
- package/src/ui/task-list.ts +168 -0
- package/src/ui/task-viewer.ts +640 -0
- package/src/ui/tui.ts +301 -0
- package/tsconfig.json +26 -0
|
@@ -0,0 +1,32 @@
|
|
|
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.
|
|
@@ -0,0 +1,31 @@
|
|
|
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.
|
|
@@ -0,0 +1,24 @@
|
|
|
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.
|
|
@@ -0,0 +1,30 @@
|
|
|
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.
|
|
@@ -0,0 +1,38 @@
|
|
|
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.
|
|
@@ -0,0 +1,19 @@
|
|
|
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
|
|
@@ -0,0 +1,28 @@
|
|
|
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.
|
|
@@ -0,0 +1,27 @@
|
|
|
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`.
|
|
@@ -0,0 +1,28 @@
|
|
|
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
|
+
|
|
@@ -0,0 +1,63 @@
|
|
|
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.
|
|
@@ -0,0 +1,26 @@
|
|
|
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.
|
|
@@ -0,0 +1,31 @@
|
|
|
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.
|
|
@@ -0,0 +1,20 @@
|
|
|
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
|
|
@@ -0,0 +1,26 @@
|
|
|
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`.
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: task-36
|
|
3
|
+
title: 'CLI: Prompt for project name in init'
|
|
4
|
+
status: Done
|
|
5
|
+
assignee:
|
|
6
|
+
- '@codex'
|
|
7
|
+
created_date: '2025-06-10'
|
|
8
|
+
updated_date: '2025-06-10'
|
|
9
|
+
labels: []
|
|
10
|
+
dependencies: []
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Description
|
|
14
|
+
|
|
15
|
+
Allow `backlog init` to run without specifying a project name. When omitted, the CLI should prompt for the name before proceeding.
|
|
16
|
+
|
|
17
|
+
## Acceptance Criteria
|
|
18
|
+
- [x] `backlog init` works without project name parameter
|
|
19
|
+
- [x] When project name is missing, CLI prompts for it before initialization
|
|
20
|
+
- [x] Task committed to repository
|
|
21
|
+
|
|
22
|
+
## Implementation Notes
|
|
23
|
+
- Updated `src/cli.ts` to accept optional project name and prompt when omitted.
|
|
24
|
+
- Added integration test covering prompt behavior in `src/test/cli.test.ts`.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: task-37
|
|
3
|
+
title: 'CLI: Board view open tasks in IDE'
|
|
4
|
+
status: In Progress
|
|
5
|
+
assignee:
|
|
6
|
+
- '@AI'
|
|
7
|
+
created_date: '2025-06-10'
|
|
8
|
+
labels: []
|
|
9
|
+
dependencies: []
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## Description
|
|
14
|
+
|
|
15
|
+
Add clickable links to each task id in the board view that open the task file in the user's default IDE.
|
|
16
|
+
|
|
17
|
+
## Acceptance Criteria
|
|
18
|
+
- [ ] Every task id displayed in the board is a hyperlink that opens the task file in the configured IDE when clicked.
|
|
19
|
+
- [ ] Provide a --no-links option to disable hyperlink generation.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: task-38
|
|
3
|
+
title: 'CLI: Improved Agent Selection for Init'
|
|
4
|
+
status: Done
|
|
5
|
+
assignee:
|
|
6
|
+
- '@AI'
|
|
7
|
+
created_date: '2025-06-10'
|
|
8
|
+
updated_date: '2025-06-10'
|
|
9
|
+
labels: []
|
|
10
|
+
dependencies: []
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Description
|
|
14
|
+
Implement interactive checkbox-style selection for agents during 'backlog init'. Users should select one or multiple agents using space or enter, similar to modern CLI tools.
|
|
15
|
+
|
|
16
|
+
## Acceptance Criteria
|
|
17
|
+
- [x] Interactive checkbox UI replaces current agent selection
|
|
18
|
+
- [x] Users can select one or multiple agents using space and confirm with enter
|
|
19
|
+
- [x] Works consistently across Node and Bun runtimes
|
|
20
|
+
- [x] Task committed to repository
|
|
21
|
+
|
|
22
|
+
## Implementation Notes
|
|
23
|
+
- Added `prompts` dependency for interactive CLI prompts.
|
|
24
|
+
- Replaced numeric input with `multiselect` checkbox prompt in `src/cli.ts`.
|
|
25
|
+
- Supports selecting multiple agent instruction files with space/enter.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: task-39
|
|
3
|
+
title: 'CLI: fix empty agent instruction files on init'
|
|
4
|
+
status: Done
|
|
5
|
+
assignee:
|
|
6
|
+
- '@codex'
|
|
7
|
+
reporter: '@MrLesk'
|
|
8
|
+
created_date: '2025-06-10'
|
|
9
|
+
updated_date: '2025-06-10'
|
|
10
|
+
labels:
|
|
11
|
+
- cli
|
|
12
|
+
- bug
|
|
13
|
+
dependencies: []
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Description
|
|
17
|
+
|
|
18
|
+
Backlog init should populate selected agent instruction files with default content instead of creating empty files.
|
|
19
|
+
|
|
20
|
+
## Acceptance Criteria
|
|
21
|
+
|
|
22
|
+
- [x] Selected agent instruction files contain default guideline text after running `backlog init`
|
|
23
|
+
- [x] Automated test verifies non-empty content is written to each created file
|
|
24
|
+
|
|
25
|
+
## Implementation Notes
|
|
26
|
+
|
|
27
|
+
- Imported guideline constants may resolve to file paths when bundled. Added
|
|
28
|
+
`_loadAgentGuideline` helper to read file contents when needed.
|
|
29
|
+
- `addAgentInstructions` now loads guideline text before writing files, ensuring
|
|
30
|
+
non-empty content in `AGENTS.md`, `CLAUDE.md`, and `.cursorrules`.
|
|
31
|
+
- Updated CLI and tests to verify content length instead of specific words.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: task-4
|
|
3
|
+
title: 'CLI: Task Management Commands'
|
|
4
|
+
status: Done
|
|
5
|
+
assignee: []
|
|
6
|
+
reporter: '@MrLesk'
|
|
7
|
+
created_date: '2025-06-04'
|
|
8
|
+
updated_date: '2025-06-09'
|
|
9
|
+
completed_date: '2025-06-09'
|
|
10
|
+
labels:
|
|
11
|
+
- cli
|
|
12
|
+
- command
|
|
13
|
+
milestone: M1 - CLI
|
|
14
|
+
dependencies:
|
|
15
|
+
- task-3
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Description
|
|
19
|
+
|
|
20
|
+
Implement comprehensive task management functionality including creation, listing, viewing, editing, and archiving of tasks and drafts. This encompasses all user-facing CLI commands for task lifecycle management.
|
|
21
|
+
|
|
22
|
+
## Implementation Notes
|
|
23
|
+
|
|
24
|
+
- Subtasks **task-4.1** through **task-4.13** introduced complete CLI support for task and draft management.
|
|
25
|
+
- Commands include `task create`, `task list`, `task view`, `task edit`, `task archive`, `task demote`, and draft variants.
|
|
26
|
+
- Tasks can be created as subtasks using the `--parent` option and moved between draft and active states.
|
|
27
|
+
- Metadata updates such as status and labels persist correctly through the `edit` command.
|
|
28
|
+
- Extensive tests and documentation were added in each subtask to ensure reliability.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: task-4.1
|
|
3
|
+
title: "CLI: Task Creation Commands"
|
|
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-3"]
|
|
11
|
+
parent_task_id: task-4
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Description
|
|
15
|
+
|
|
16
|
+
Implement commands for creating tasks, drafts, and subtasks:
|
|
17
|
+
|
|
18
|
+
- `backlog task create` to add active tasks.
|
|
19
|
+
- `backlog draft create` to create tasks in draft mode.
|
|
20
|
+
- `backlog task create --parent <task-id>` to create a subtask under an existing task.
|
|
21
|
+
|
|
22
|
+
## Acceptance Criteria
|
|
23
|
+
|
|
24
|
+
- [x] Commands create Markdown files in the correct directories.
|
|
25
|
+
- [x] Required metadata is captured from flags or prompts.
|
|
26
|
+
- [x] Subtasks are saved using decimal IDs under `.backlog/tasks/`.
|
|
27
|
+
- [x] Changes are committed with a descriptive message.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: task-4.10
|
|
3
|
+
title: 'CLI: enforce Agents to use backlog CLI to mark tasks Done'
|
|
4
|
+
status: Done
|
|
5
|
+
assignee: []
|
|
6
|
+
reporter: @MrLesk
|
|
7
|
+
created_date: '2025-06-08'
|
|
8
|
+
updated_date: '2025-06-09'
|
|
9
|
+
labels:
|
|
10
|
+
- cli
|
|
11
|
+
- agents
|
|
12
|
+
dependencies: []
|
|
13
|
+
parent_task_id: task-4
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Description
|
|
17
|
+
|
|
18
|
+
Update agent guidelines so that after implementing and testing a task, they use the backlog CLI to set the task status to **Done**.
|
|
19
|
+
|
|
20
|
+
## Acceptance Criteria
|
|
21
|
+
- [x] Documentation instructs agents to run `backlog task edit <task-id> --status Done` after testing.
|
|
22
|
+
- [x] Example usage included in AGENTS.md, CLAUDE.md and .cursorrules files
|
|
23
|
+
|
|
24
|
+
## Implementation Notes
|
|
25
|
+
|
|
26
|
+
**Task 4.10 Implementation Summary:**
|
|
27
|
+
|
|
28
|
+
1. **Review Found Complete Implementation:**
|
|
29
|
+
- All agent guidance files already included the CLI command instruction
|
|
30
|
+
- Implementation was found to be complete during merge conflict resolution
|
|
31
|
+
|
|
32
|
+
2. **Documentation Updates Applied:**
|
|
33
|
+
- **AGENTS.md**: Added CLI command instruction in guidelines section and Definition of Done
|
|
34
|
+
- **CLAUDE.md**: Added CLI command instruction in AI Agent Integration section
|
|
35
|
+
- **.cursorrules**: Added CLI command instruction in Task Management section
|
|
36
|
+
|
|
37
|
+
3. **Consistent Command Format:**
|
|
38
|
+
- All files now include the same command: `backlog task edit <task-id> --status Done`
|
|
39
|
+
- Command is presented in code blocks for clarity
|
|
40
|
+
- Instructions emphasize using this after implementing and testing tasks
|
|
41
|
+
|
|
42
|
+
4. **Merge Conflict Resolution:**
|
|
43
|
+
- Resolved conflict in AGENTS.md by combining task 4.10 implementation with Definition of Done from main
|
|
44
|
+
- Ensured CLI command appears both in guidelines and Definition of Done for consistency
|
|
45
|
+
|
|
46
|
+
5. **Quality Assurance:**
|
|
47
|
+
- All 105 tests pass
|
|
48
|
+
- Code passes all Biome linting and formatting checks
|
|
49
|
+
- All agent guidance files now consistently instruct using the Backlog CLI
|
|
50
|
+
|
|
51
|
+
All AI agents working with this project are now properly guided to mark tasks as Done using the CLI command, ensuring consistent workflow and proper task status management.
|