backlog.md 0.1.0 → 0.1.1
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/bin/backlog-darwin-arm64/backlog +0 -0
- package/bin/backlog-darwin-x64/backlog +0 -0
- package/bin/backlog-linux-arm64/backlog +0 -0
- package/{cli → bin/backlog-linux-x64}/backlog +0 -0
- package/bin/backlog-win32-x64/backlog.exe +0 -0
- package/cli.js +62 -0
- package/package.json +57 -46
- package/.backlog/archive/drafts/readme.md +0 -3
- package/.backlog/archive/drafts/task-41 - temporary-test-task.md +0 -13
- package/.backlog/archive/readme.md +0 -6
- package/.backlog/archive/tasks/readme.md +0 -3
- package/.backlog/archive/tasks/task-41 - cli-migrate-terminal-ui-to-bblessed.md +0 -14
- package/.backlog/config.yml +0 -7
- package/.backlog/decisions/readme.md +0 -7
- package/.backlog/docs/readme.md +0 -20
- package/.backlog/drafts/readme.md +0 -3
- package/.backlog/drafts/task-26 - docs-add-board-export-step-to-agent-dod.md +0 -21
- package/.backlog/drafts/task-28 - add-code-of-conduct.md +0 -20
- package/.backlog/drafts/task-30 - create-changelog.md +0 -19
- package/.backlog/milestones/m-0 - project-setup.md +0 -8
- package/.backlog/milestones/m-1 - cli.md +0 -8
- package/.backlog/milestones/m-2 - cli-kanban.md +0 -8
- package/.backlog/milestones/m-3 - gui.md +0 -8
- package/.backlog/milestones/m-4 - gui-kanban.md +0 -8
- package/.backlog/milestones/m-5 - gui-advanced.md +0 -12
- package/.backlog/milestones/readme.md +0 -3
- package/.backlog/readme.md +0 -5
- package/.backlog/tasks/readme.md +0 -37
- package/.backlog/tasks/task-1 - cli-setup-core-project.md +0 -23
- package/.backlog/tasks/task-10 - gui-init-packaging.md +0 -23
- package/.backlog/tasks/task-11 - gui-kanban-board.md +0 -26
- package/.backlog/tasks/task-12 - gui-advanced.md +0 -25
- package/.backlog/tasks/task-13 - cli-add-agent-instruction-prompt.md +0 -53
- package/.backlog/tasks/task-13.1 - cli-agent-instruction-file-selection.md +0 -40
- package/.backlog/tasks/task-14 - gui-introduction-screens.md +0 -21
- package/.backlog/tasks/task-15 - improve-tasks-readme-with-generic-example-and-cli-reference.md +0 -20
- package/.backlog/tasks/task-16 - improve-docs-readme-with-generic-example-and-cli-reference.md +0 -20
- package/.backlog/tasks/task-17 - improve-drafts-readme-with-generic-example-and-cli-reference.md +0 -20
- package/.backlog/tasks/task-18 - improve-decisions-readme-with-generic-example-and-cli-reference.md +0 -20
- package/.backlog/tasks/task-19 - cli-fix-default-task-status-and-remove-draft-from-statuses.md +0 -55
- package/.backlog/tasks/task-2 - cli-core-logic-library.md +0 -28
- package/.backlog/tasks/task-20 - add-agent-guideline-to-mark-tasks-in-progress-on-start.md +0 -32
- package/.backlog/tasks/task-21 - kanban-board-vertical-layout.md +0 -31
- package/.backlog/tasks/task-22 - cli-prevent-double-dash-in-task-filenames.md +0 -24
- package/.backlog/tasks/task-23 - cli-kanban-board-order-tasks-by-id-asc.md +0 -30
- package/.backlog/tasks/task-24 - handle-subtasks-in-the-kanban-view.md +0 -38
- package/.backlog/tasks/task-24.1 - cli-kanban-board-milestone-view.md +0 -19
- package/.backlog/tasks/task-25 - cli-export-kanban-board-to-readme.md +0 -28
- package/.backlog/tasks/task-27 - add-contributing-guidelines.md +0 -27
- package/.backlog/tasks/task-29 - add-github-templates.md +0 -28
- package/.backlog/tasks/task-3 - cli-implement-backlog-init.md +0 -63
- package/.backlog/tasks/task-31 - update-readme-for-open-source.md +0 -26
- package/.backlog/tasks/task-32 - cli-hide-empty-'no-status'-column.md +0 -31
- package/.backlog/tasks/task-33 - cli-export-milestones-board-as-roadmap.md +0 -20
- package/.backlog/tasks/task-34 - split-readme.md-for-users-and-contributors.md +0 -26
- package/.backlog/tasks/task-35 - finalize-package.json-metadata-for-publishing.md +0 -24
- package/.backlog/tasks/task-36 - cli-prompt-for-project-name-in-init.md +0 -24
- package/.backlog/tasks/task-37 - cli-board-view-open-tasks-in-ide.md +0 -19
- package/.backlog/tasks/task-38 - cli-improved-agent-selection-for-init.md +0 -25
- package/.backlog/tasks/task-39 - cli-fix-empty-agent-instruction-files-on-init.md +0 -31
- package/.backlog/tasks/task-4 - cli-task-management-commands.md +0 -28
- package/.backlog/tasks/task-4.1 - cli-task-create.md +0 -27
- package/.backlog/tasks/task-4.10 - use-cli-to-mark-tasks-done.md +0 -51
- package/.backlog/tasks/task-4.11 - docs-add-definition-of-done-to-agent-guidelines.md +0 -23
- package/.backlog/tasks/task-4.12 - cli-handle-task-id-conflicts-across-branches.md +0 -53
- package/.backlog/tasks/task-4.13 - cli-fix-config-command-local-global-logic.md +0 -58
- package/.backlog/tasks/task-4.2 - cli-task-list-view.md +0 -25
- package/.backlog/tasks/task-4.3 - cli-task-edit.md +0 -24
- package/.backlog/tasks/task-4.4 - cli-task-archive-transition.md +0 -27
- package/.backlog/tasks/task-4.5 - cli-init-prompts-for-reporter-name-and-global-local-config.md +0 -28
- package/.backlog/tasks/task-4.6 - cli-add-empty-assignee-array-field-for-new-tasks.md +0 -35
- package/.backlog/tasks/task-4.7 - cli-parse-unquoted-created_date.md +0 -40
- package/.backlog/tasks/task-4.8 - cli-enforce-description-header.md +0 -48
- package/.backlog/tasks/task-4.9 - cli-normalize-task-id-inputs.md +0 -66
- package/.backlog/tasks/task-40 - cli-board-command-defaults-to-view.md +0 -38
- package/.backlog/tasks/task-41 - cli-migrate-terminal-ui-to-bblessed.md +0 -93
- package/.backlog/tasks/task-41.1 - cli-bblessed-init-wizard.md +0 -42
- package/.backlog/tasks/task-41.2 - cli-bblessed-task-view.md +0 -44
- package/.backlog/tasks/task-41.3 - cli-bblessed-doc-view.md +0 -45
- package/.backlog/tasks/task-41.4 - cli-bblessed-board-view.md +0 -49
- package/.backlog/tasks/task-41.5 - cli-audit-remaining-ui-for-bblessed.md +0 -55
- package/.backlog/tasks/task-42 - visual-hierarchy.md +0 -54
- package/.backlog/tasks/task-43 - remove-duplicate-acceptance-criteria-and-style-metadata.md +0 -56
- package/.backlog/tasks/task-44 - checklist-alignment.md +0 -24
- package/.backlog/tasks/task-45 - safe-line-wrapping.md +0 -23
- package/.backlog/tasks/task-46 - split-pane-layout.md +0 -24
- package/.backlog/tasks/task-47 - sticky-header-in-detail-view.md +0 -43
- package/.backlog/tasks/task-48 - footer-hint-line.md +0 -21
- package/.backlog/tasks/task-49 - status-styling.md +0 -53
- package/.backlog/tasks/task-5 - cli-docs-decisions.md +0 -57
- package/.backlog/tasks/task-50 - borders-&-padding.md +0 -22
- package/.backlog/tasks/task-51 - code-path-styling.md +0 -23
- package/.backlog/tasks/task-52 - cli-filter-tasks-list-by-status-or-assignee.md +0 -29
- package/.backlog/tasks/task-6 - cli-packaging.md +0 -65
- package/.backlog/tasks/task-6.1 - cli-local-installation-support-for-bunx-npx.md +0 -49
- package/.backlog/tasks/task-6.2 - cli-github-actions-for-build-&-publish.md +0 -64
- package/.backlog/tasks/task-7 - cli-kanban-view.md +0 -60
- package/.backlog/tasks/task-7.1 - cli-kanban-board-detect-remote-task-status.md +0 -62
- package/.backlog/tasks/task-8 - gui-project-setup.md +0 -21
- package/.backlog/tasks/task-9 - gui-task-crud.md +0 -24
- package/.cursorrules +0 -223
- package/.gitattributes +0 -2
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -25
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -15
- package/.github/PULL_REQUEST_TEMPLATE.md +0 -8
- package/.github/workflows/ci.yml +0 -36
- package/.husky/pre-commit +0 -1
- package/AGENTS.md +0 -65
- package/CLAUDE.md +0 -87
- package/CONTRIBUTING.md +0 -19
- package/DEVELOPMENT.md +0 -37
- package/biome.json +0 -31
- package/bun.lock +0 -152
- package/cli/.cursorrules-xh86jabm.md +0 -82
- package/cli/AGENTS-xh86jabm.md +0 -82
- package/cli/CLAUDE-xh86jabm.md +0 -82
- package/cli/cli.js +0 -19622
- package/cli/index.js +0 -2
- package/docs/npm-publishing.md +0 -69
- package/scripts/build.js +0 -73
- package/src/agent-instructions.ts +0 -54
- package/src/board.ts +0 -263
- package/src/cli.ts +0 -806
- package/src/constants/index.ts +0 -48
- package/src/core/backlog.ts +0 -183
- package/src/core/remote-tasks.ts +0 -168
- package/src/file-system/operations.ts +0 -515
- package/src/git/operations.ts +0 -189
- package/src/guidelines/.cursorrules.md +0 -82
- package/src/guidelines/AGENTS.md +0 -82
- package/src/guidelines/CLAUDE.md +0 -82
- package/src/guidelines/index.ts +0 -7
- package/src/index.ts +0 -30
- package/src/markdown/parser.ts +0 -145
- package/src/markdown/serializer.ts +0 -71
- package/src/test/agent-instructions.test.ts +0 -62
- package/src/test/board.test.ts +0 -291
- package/src/test/build.test.ts +0 -28
- package/src/test/checklist.test.ts +0 -273
- package/src/test/cli.test.ts +0 -1300
- package/src/test/code-path.test.ts +0 -204
- package/src/test/core.test.ts +0 -330
- package/src/test/filesystem.test.ts +0 -435
- package/src/test/git.test.ts +0 -26
- package/src/test/heading.test.ts +0 -102
- package/src/test/line-wrapping.test.ts +0 -252
- package/src/test/local-install.test.ts +0 -34
- package/src/test/markdown.test.ts +0 -526
- package/src/test/parallel-loading.test.ts +0 -160
- package/src/test/parent-id-normalization.test.ts +0 -48
- package/src/test/remote-id-conflict.test.ts +0 -60
- package/src/test/status-icon.test.ts +0 -93
- package/src/types/blessed.d.ts +0 -14
- package/src/types/index.ts +0 -55
- package/src/types/raw.d.ts +0 -4
- package/src/ui/board.ts +0 -322
- package/src/ui/checklist.ts +0 -103
- package/src/ui/code-path.ts +0 -113
- package/src/ui/heading.ts +0 -121
- package/src/ui/loading.ts +0 -216
- package/src/ui/status-icon.ts +0 -53
- package/src/ui/task-list.ts +0 -168
- package/src/ui/task-viewer.ts +0 -640
- package/src/ui/tui.ts +0 -301
- package/tsconfig.json +0 -26
|
@@ -1,24 +0,0 @@
|
|
|
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`.
|
|
@@ -1,19 +0,0 @@
|
|
|
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.
|
|
@@ -1,25 +0,0 @@
|
|
|
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.
|
|
@@ -1,31 +0,0 @@
|
|
|
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.
|
|
@@ -1,28 +0,0 @@
|
|
|
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.
|
|
@@ -1,27 +0,0 @@
|
|
|
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.
|
|
@@ -1,51 +0,0 @@
|
|
|
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.
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: task-4.11
|
|
3
|
-
title: 'Docs: add definition of done to agent guidelines'
|
|
4
|
-
status: Done
|
|
5
|
-
assignee: []
|
|
6
|
-
reporter: @MrLesk
|
|
7
|
-
created_date: 2025-06-08
|
|
8
|
-
updated_date: 2025-06-08
|
|
9
|
-
labels:
|
|
10
|
-
- docs
|
|
11
|
-
- agents
|
|
12
|
-
dependencies: []
|
|
13
|
-
parent_task_id: task-4
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
## Description
|
|
17
|
-
|
|
18
|
-
Add 'Definition of Done' section to AGENTS.md, CLAUDE.md and .cursorrules.
|
|
19
|
-
|
|
20
|
-
The Definition of done should be about verifying that all acceptance criteria are met, tests are implemented (when necessary) and checked, documentation is updated. Finally the task should be marked as done using the same Backlog CLI tool commands.
|
|
21
|
-
|
|
22
|
-
## Acceptance Criteria
|
|
23
|
-
- [x] Each file includes a Definition of Done
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: task-4.12
|
|
3
|
-
title: 'CLI: Handle task ID conflicts across branches'
|
|
4
|
-
status: Done
|
|
5
|
-
assignee: []
|
|
6
|
-
reporter: @MrLesk
|
|
7
|
-
created_date: '2025-06-09'
|
|
8
|
-
labels: []
|
|
9
|
-
dependencies: []
|
|
10
|
-
parent_task_id: task-4
|
|
11
|
-
---
|
|
12
|
-
## Description
|
|
13
|
-
Implement detection of the latest task ID across all remote branches when creating a new task. The CLI should fetch branch references and inspect task files, similar to the kanban board remote status check, to determine the highest available ID before assigning the next one.
|
|
14
|
-
|
|
15
|
-
## Acceptance Criteria
|
|
16
|
-
- [x] `backlog task create` checks all remote branches for task files and chooses the next sequential ID.
|
|
17
|
-
- [x] New tasks always use an ID higher than any found across branches to avoid conflicts.
|
|
18
|
-
|
|
19
|
-
## Implementation Notes
|
|
20
|
-
|
|
21
|
-
**Core Git Operations Added (src/git/operations.ts):**
|
|
22
|
-
- `fetch(remote = "origin")`: Executes `git fetch` to update remote branch information
|
|
23
|
-
- `listRemoteBranches(remote = "origin")`: Uses `git branch -r --list origin/*` to discover all remote branches
|
|
24
|
-
- `listFilesInRemoteBranch(branch, path)`: Uses `git ls-tree -r origin/{branch} --name-only -- {path}` to list files in specific remote branch paths
|
|
25
|
-
|
|
26
|
-
**Enhanced ID Generation (src/cli.ts:74-128):**
|
|
27
|
-
- Modified `generateNextId()` to scan all remote branches for existing task IDs before assignment
|
|
28
|
-
- Fetches latest remote branch information via `git fetch origin`
|
|
29
|
-
- Iterates through all remote branches and scans `.backlog/tasks` directory for task files
|
|
30
|
-
- Extracts task IDs using regex `/task-([\d.]+)/` pattern matching
|
|
31
|
-
- Prevents ID collisions for both main tasks (`task-N`) and subtasks (`task-N.M`)
|
|
32
|
-
- Gracefully handles git failures with try-catch, falling back to local-only ID generation
|
|
33
|
-
|
|
34
|
-
**Comprehensive ID Conflict Prevention:**
|
|
35
|
-
- Compares both local and remote task IDs to determine next available sequential ID
|
|
36
|
-
- Handles subtask creation by checking parent task patterns across all branches
|
|
37
|
-
- Ensures new task IDs are always higher than any found across local and remote sources
|
|
38
|
-
- Maintains backward compatibility with existing local-only ID generation logic
|
|
39
|
-
|
|
40
|
-
**Test Coverage (src/test/remote-id-conflict.test.ts):**
|
|
41
|
-
- Creates comprehensive test scenario with bare git repository and remote branches
|
|
42
|
-
- Sets up feature branch with task-1, then tests main branch task creation
|
|
43
|
-
- Verifies that `backlog task create` correctly assigns task-2 (avoiding conflict with remote task-1)
|
|
44
|
-
- Confirms CLI properly detects and respects remote task IDs during ID assignment
|
|
45
|
-
- Test passes successfully, validating cross-branch ID conflict prevention
|
|
46
|
-
|
|
47
|
-
**Quality Assurance:**
|
|
48
|
-
- All 122 tests pass, including the new remote ID conflict test
|
|
49
|
-
- Code passes all Biome linting and formatting checks
|
|
50
|
-
- Implementation maintains existing functionality while adding robust remote branch support
|
|
51
|
-
- Error handling ensures CLI remains functional even when git operations fail
|
|
52
|
-
|
|
53
|
-
The implementation successfully prevents task ID conflicts across all repository branches, enabling safe collaborative development with distributed task creation across multiple feature branches.
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: task-4.13
|
|
3
|
-
title: 'CLI: Fix config command local/global logic'
|
|
4
|
-
status: Done
|
|
5
|
-
assignee: []
|
|
6
|
-
created_date: '2025-06-09'
|
|
7
|
-
updated_date: '2025-06-09'
|
|
8
|
-
labels: []
|
|
9
|
-
dependencies: []
|
|
10
|
-
parent_task_id: task-4
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
## Description
|
|
14
|
-
|
|
15
|
-
Fix config commands to correctly use local or global config files
|
|
16
|
-
|
|
17
|
-
## Acceptance Criteria
|
|
18
|
-
- [x] `backlog config set <key> <value> --local` saves changes to `.backlog/config.yml`.
|
|
19
|
-
- [x] `backlog config set <key> <value> --global` saves changes to the user config file.
|
|
20
|
-
- [x] `backlog config get <key>` checks local config first, then global config, then defaults.
|
|
21
|
-
- [x] Behavior prioritizes local configuration over global and built-in defaults.
|
|
22
|
-
- [x] Documentation updated to describe local and global configuration behavior.
|
|
23
|
-
|
|
24
|
-
## Implementation Notes
|
|
25
|
-
|
|
26
|
-
**CLI Command Implementation (src/cli.ts:497-548):**
|
|
27
|
-
- Added `config get <key>` command that implements proper priority order: local config → global config → built-in defaults
|
|
28
|
-
- Added `config set <key> <value>` command with `--local` and `--global` flags
|
|
29
|
-
- `--local` flag (default behavior) saves to `.backlog/config.yml` in current project
|
|
30
|
-
- `--global` flag saves to `~/.backlog/.user` in user's home directory
|
|
31
|
-
- Built-in defaults include `statuses: ["Draft", "To Do", "In Progress", "Done"]` and `defaultStatus: "To Do"`
|
|
32
|
-
|
|
33
|
-
**FileSystem Implementation (src/file-system/operations.ts:349-392):**
|
|
34
|
-
- Added `getUserSetting(key, global)` method to read from user config files
|
|
35
|
-
- Added `setUserSetting(key, value, global)` method to write to user config files
|
|
36
|
-
- Global config stored in `~/.backlog/.user` (home directory)
|
|
37
|
-
- Local config stored in `./.user` (project directory)
|
|
38
|
-
- Supports key-value format with colon separation and optional quotes
|
|
39
|
-
- Fixed `serializeConfig()` and `saveUserSettings()` to always include trailing newlines for proper file formatting
|
|
40
|
-
|
|
41
|
-
**Configuration Priority Logic:**
|
|
42
|
-
1. **Local config first**: Checks `.backlog/config.yml` for project-specific settings
|
|
43
|
-
2. **Global config fallback**: Checks `~/.backlog/.user` for user-wide settings
|
|
44
|
-
3. **Built-in defaults**: Falls back to hardcoded values for core settings like statuses
|
|
45
|
-
|
|
46
|
-
**Documentation Updates (readme.md:176-179):**
|
|
47
|
-
- Added explanation of `--local` (default) and `--global` flags
|
|
48
|
-
- Documented priority order: local → global → defaults
|
|
49
|
-
- Updated usage examples to show flag usage
|
|
50
|
-
- Clarified behavior for both `config get` and `config set` commands
|
|
51
|
-
|
|
52
|
-
**Quality Assurance:**
|
|
53
|
-
- All filesystem tests pass, including new user config operations test
|
|
54
|
-
- Manual testing confirms proper flag behavior and priority order
|
|
55
|
-
- CLI help text includes proper flag documentation
|
|
56
|
-
- Implementation maintains backward compatibility with existing config operations
|
|
57
|
-
|
|
58
|
-
The config commands now correctly handle local/global configuration with proper precedence rules, enabling users to maintain both project-specific and user-wide settings.
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: task-4.2
|
|
3
|
-
title: "CLI: Task Listing and Viewing"
|
|
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-4.1"]
|
|
11
|
-
parent_task_id: task-4
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
## Description
|
|
15
|
-
|
|
16
|
-
Add commands to browse tasks:
|
|
17
|
-
|
|
18
|
-
- `backlog task list` / `backlog tasks list` to show tasks.
|
|
19
|
-
- `backlog task view <task-id>` or `backlog task <task-id>` to show a specific task.
|
|
20
|
-
|
|
21
|
-
## Acceptance Criteria
|
|
22
|
-
|
|
23
|
-
- [x] Listing shows tasks grouped by status.
|
|
24
|
-
- [x] Viewing displays task details with Markdown formatting.
|
|
25
|
-
- [x] Commands do not modify task files.
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: task-4.3
|
|
3
|
-
title: "CLI: Task Editing"
|
|
4
|
-
status: Done
|
|
5
|
-
assignee: @MrLesk
|
|
6
|
-
reporter: @MrLesk
|
|
7
|
-
created_date: 2025-06-04
|
|
8
|
-
updated_date: 2025-06-08
|
|
9
|
-
labels: [cli, command]
|
|
10
|
-
milestone: "M1 - CLI"
|
|
11
|
-
dependencies: [task-4.2]
|
|
12
|
-
parent_task_id: task-4
|
|
13
|
-
---
|
|
14
|
-
## Description
|
|
15
|
-
|
|
16
|
-
Implement editing of existing tasks:
|
|
17
|
-
|
|
18
|
-
- `backlog task edit <task-id>`
|
|
19
|
-
|
|
20
|
-
## Acceptance Criteria
|
|
21
|
-
|
|
22
|
-
- [x] Updates to title, description, status, labels, and assignee are persisted.
|
|
23
|
-
- [x] The command respects YAML frontmatter formatting.
|
|
24
|
-
- [x] A commit records the changes to the task file.
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: task-4.4
|
|
3
|
-
title: "CLI: Task Archiving and State Transitions"
|
|
4
|
-
status: Done
|
|
5
|
-
assignee: @MrLesk
|
|
6
|
-
reporter: @MrLesk
|
|
7
|
-
created_date: 2025-06-04
|
|
8
|
-
updated_date: 2025-06-08
|
|
9
|
-
labels: ["cli", "command"]
|
|
10
|
-
milestone: "M1 - CLI"
|
|
11
|
-
dependencies: ["task-4.1"]
|
|
12
|
-
parent_task_id: task-4
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
## Description
|
|
16
|
-
|
|
17
|
-
Add commands for finalizing and moving tasks:
|
|
18
|
-
|
|
19
|
-
- `backlog task archive <task-id>` and `backlog draft archive <task-id>`
|
|
20
|
-
- `backlog draft promote` (move a draft to tasks)
|
|
21
|
-
- `backlog task demote` (move a task back to drafts)
|
|
22
|
-
|
|
23
|
-
## Acceptance Criteria
|
|
24
|
-
|
|
25
|
-
- [x] Archived tasks are moved to `.backlog/archive/` with history preserved.
|
|
26
|
-
- [x] Promote/demote commands relocate files between drafts and tasks.
|
|
27
|
-
- [x] Commits clearly state the action performed.
|
package/.backlog/tasks/task-4.5 - cli-init-prompts-for-reporter-name-and-global-local-config.md
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: task-4.5
|
|
3
|
-
title: "CLI: Init prompts for reporter name and global/local config"
|
|
4
|
-
status: "Done"
|
|
5
|
-
assignee: @MrLesk
|
|
6
|
-
reporter: @MrLesk
|
|
7
|
-
created_date: 2025-06-08
|
|
8
|
-
updated_date: 2025-06-08
|
|
9
|
-
labels: ["cli", "config"]
|
|
10
|
-
milestone: "M1 - CLI"
|
|
11
|
-
dependencies: ["task-3"]
|
|
12
|
-
parent_task_id: task-4
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
## Description
|
|
16
|
-
|
|
17
|
-
Enhance `backlog init` with interactive prompts:
|
|
18
|
-
|
|
19
|
-
- Ask for a default **reporter** name for new tasks.
|
|
20
|
-
- Prompt whether to store this configuration globally or only for the current repository.
|
|
21
|
-
- When storing locally, create a hidden `.user` settings file and make sure it is ignored by Git.
|
|
22
|
-
|
|
23
|
-
## Acceptance Criteria
|
|
24
|
-
|
|
25
|
-
- [x] Running `backlog init` asks for a default reporter name.
|
|
26
|
-
- [x] User can choose between storing the reporter setting globally or locally.
|
|
27
|
-
- [x] Choosing the local option creates a `.user` settings file and appends it to `.gitignore`.
|
|
28
|
-
- [x] Reporter name saved based on the chosen scope.
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: task-4.6
|
|
3
|
-
title: "CLI: Add empty assignee array field for new tasks"
|
|
4
|
-
status: Done
|
|
5
|
-
assignee: @MrLesk
|
|
6
|
-
reporter: @MrLesk
|
|
7
|
-
created_date: 2025-06-08
|
|
8
|
-
updated_date: 2025-06-08
|
|
9
|
-
labels: ["cli", "command"]
|
|
10
|
-
milestone: "M1 - CLI"
|
|
11
|
-
dependencies: ["task-4.1"]
|
|
12
|
-
parent_task_id: task-4
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
## Description
|
|
16
|
-
|
|
17
|
-
Ensure every task created via the CLI includes an empty `assignee` array in its frontmatter. Investigate the current parsing and serialization logic which uses a single string value. If assignees are not handled as an array, update the code to support `string[]`.
|
|
18
|
-
|
|
19
|
-
## Acceptance Criteria
|
|
20
|
-
|
|
21
|
-
- [x] New tasks contain `assignee: []` by default.
|
|
22
|
-
- [x] Parsing and serialization read and write the assignee field as an array.
|
|
23
|
-
- [x] Documentation provides instructions to migrate existing logic if needed.
|
|
24
|
-
|
|
25
|
-
## Implementation Notes
|
|
26
|
-
|
|
27
|
-
**YAML Flexibility Support**: Implemented proper YAML specification support where assignee field accepts both string and array formats. The parser (`src/markdown/parser.ts:19-23`) automatically normalizes single strings to arrays using `Array.isArray()` check.
|
|
28
|
-
|
|
29
|
-
**Core Normalization**: Added assignee normalization in `createTask`, `createDraft`, and `updateTask` methods (`src/core/backlog.ts`) with biome-ignore comments for TypeScript `any` usage required for YAML flexibility.
|
|
30
|
-
|
|
31
|
-
**CLI Integration**: Updated `buildTaskFromOptions` function (`src/cli.ts:108`) to create arrays by default, and edit command to handle array assignment properly.
|
|
32
|
-
|
|
33
|
-
**Comprehensive Testing**: Fixed all 99 tests by adding missing `assignee: []` fields and updating expectations from `.toBe("string")` to `.toEqual(["string"])` to match array format.
|
|
34
|
-
|
|
35
|
-
**Type Safety**: Maintained `Task` interface with `assignee: string[]` type while supporting both input formats through runtime normalization.
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: task-4.7
|
|
3
|
-
title: "CLI: Parse unquoted created_date"
|
|
4
|
-
status: Done
|
|
5
|
-
assignee: @MrLesk
|
|
6
|
-
reporter: @MrLesk
|
|
7
|
-
created_date: 2025-06-08
|
|
8
|
-
updated_date: 2025-06-08
|
|
9
|
-
labels: ["cli", "command"]
|
|
10
|
-
milestone: "M1 - CLI"
|
|
11
|
-
dependencies: ["task-4.4"]
|
|
12
|
-
parent_task_id: task-4
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
## Description
|
|
16
|
-
|
|
17
|
-
Support unquoted `created_date` values in task frontmatter. Accept multiple date formats:
|
|
18
|
-
|
|
19
|
-
- `created_date: 2025-06-08`
|
|
20
|
-
- `created_date: '2025-06-08'`
|
|
21
|
-
- `created_date: 08-06-25`
|
|
22
|
-
- `created_date: 08/06/25`
|
|
23
|
-
- `created_date: 08.06.25`
|
|
24
|
-
|
|
25
|
-
Allow configuration of the expected `date_format` in `.backlog/config.yml` with default `yyyy-mm-dd`.
|
|
26
|
-
|
|
27
|
-
## Acceptance Criteria
|
|
28
|
-
|
|
29
|
-
- [x] Unquoted dates are parsed correctly when viewing tasks.
|
|
30
|
-
- [x] `date_format` option is documented in `config.yml`.
|
|
31
|
-
|
|
32
|
-
## Implementation Notes
|
|
33
|
-
|
|
34
|
-
**Date Normalization Function**: Implemented `normalizeDate` function in `src/markdown/parser.ts:4-33` that handles multiple date formats including unquoted values. The function supports `yyyy-mm-dd`, `dd-mm-yy`, `dd/mm/yy`, and `dd.mm.yy` formats with automatic normalization to ISO format.
|
|
35
|
-
|
|
36
|
-
**Parser Integration**: The `parseTask` function uses `normalizeDate(frontmatter.created_date)` at line 56 to process date fields, ensuring consistent date handling across all task parsing operations.
|
|
37
|
-
|
|
38
|
-
**Configuration Documentation**: Added `date_format` field documentation in `.backlog/docs/readme.md:15` and included `dateFormat: string` in the `BacklogConfig` interface for future extensibility.
|
|
39
|
-
|
|
40
|
-
**Comprehensive Testing**: Added test cases in `src/test/markdown.test.ts:133-155` covering both unquoted dates (`created_date: 2025-06-08`) and short format dates (`created_date: 08-06-25`) with proper normalization verification.
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: task-4.8
|
|
3
|
-
title: 'CLI: enforce description header'
|
|
4
|
-
status: Done
|
|
5
|
-
assignee: []
|
|
6
|
-
reporter: @MrLesk
|
|
7
|
-
created_date: 2025-06-08
|
|
8
|
-
labels: []
|
|
9
|
-
dependencies: []
|
|
10
|
-
parent_task_id: task-4
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
## Description
|
|
14
|
-
|
|
15
|
-
Ensure new tasks have a Description header. Update docs to require acceptance criteria and tests.
|
|
16
|
-
|
|
17
|
-
## Acceptance Criteria
|
|
18
|
-
- [x] CLI automatically adds "## Description" when creating a task if missing.
|
|
19
|
-
- [x] Documentation updated in AGENTS.md, CLAUDE.md, and .cursorrules to mandate acceptance criteria and relevant tests when necessary.
|
|
20
|
-
|
|
21
|
-
## Implementation Notes
|
|
22
|
-
|
|
23
|
-
**Task 4.8 Implementation Summary:**
|
|
24
|
-
|
|
25
|
-
1. **Core Functionality (`src/core/backlog.ts`):**
|
|
26
|
-
- Implemented `ensureDescriptionHeader()` function that automatically adds "## Description" header to task descriptions if missing
|
|
27
|
-
- Integrated this function into all task creation and update methods: `createTask()`, `createDraft()`, and `updateTask()`
|
|
28
|
-
- Function intelligently handles empty descriptions and prevents duplicate headers
|
|
29
|
-
|
|
30
|
-
2. **Test Coverage:**
|
|
31
|
-
- Existing tests for description header functionality were found in `src/test/core.test.ts`
|
|
32
|
-
- Tests verify both adding headers when missing and not duplicating existing headers
|
|
33
|
-
- Updated CLI integration tests to expect the new description header format in task descriptions
|
|
34
|
-
|
|
35
|
-
3. **Documentation Updates:**
|
|
36
|
-
- Updated AGENTS.md, CLAUDE.md, and .cursorrules to explicitly mandate writing relevant tests when implementing new functionality or fixing bugs
|
|
37
|
-
- All three files already contained requirements for Description sections and Acceptance Criteria checklists
|
|
38
|
-
|
|
39
|
-
4. **Merge Resolution:**
|
|
40
|
-
- Successfully resolved merge conflicts between task 4.8 (description header) and task 4.6 (assignee normalization)
|
|
41
|
-
- Both features now work together in all task creation/update methods
|
|
42
|
-
|
|
43
|
-
5. **Quality Assurance:**
|
|
44
|
-
- All 104 tests pass, including the updated expectations for description headers
|
|
45
|
-
- Code passes all Biome linting and formatting checks
|
|
46
|
-
- Features work correctly across task creation, updating, and draft management
|
|
47
|
-
|
|
48
|
-
The CLI now automatically ensures all tasks have proper "## Description" headers, improving consistency across the project's task management system.
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: task-4.9
|
|
3
|
-
title: 'CLI: Normalize task-id inputs'
|
|
4
|
-
status: Done
|
|
5
|
-
assignee: []
|
|
6
|
-
reporter: @MrLesk
|
|
7
|
-
created_date: 2025-06-08
|
|
8
|
-
labels:
|
|
9
|
-
- cli
|
|
10
|
-
- bug
|
|
11
|
-
dependencies: []
|
|
12
|
-
parent_task_id: task-4
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
## Description
|
|
16
|
-
|
|
17
|
-
Ensure parent task id uses task-<number> format and accept both forms across commands
|
|
18
|
-
Using `--parent 4` results in `parent_task_id: '4'` but should result in `parent_task_id: 'task-4'`, while other tasks expect the `task-<number>` prefix.
|
|
19
|
-
|
|
20
|
-
Update the CLI so that the parent ID is normalized to include the `task-` prefix when creating subtasks. All commands that accept a task ID should support both `task-<number>` and plain `<number>` inputs.
|
|
21
|
-
|
|
22
|
-
## Current Status
|
|
23
|
-
✅ `generateNextId()` already normalizes parent input: `task-4` or `4` → `task-4`
|
|
24
|
-
✅ `outputTask()` (view command) already normalizes: `task-4` or `4` → `task-4`
|
|
25
|
-
✅ `buildTaskFromOptions()` now normalizes parent input: `task-4` or `4` → `task-4`
|
|
26
|
-
|
|
27
|
-
## Acceptance Criteria
|
|
28
|
-
|
|
29
|
-
- [x] Normalize `parentTaskId` in `buildTaskFromOptions()` to always use `task-` prefix
|
|
30
|
-
- [x] Test that `--parent 4` results in `parent_task_id: 'task-4'` in saved files
|
|
31
|
-
- [x] Ensure all future commands accepting task IDs support both input formats
|
|
32
|
-
|
|
33
|
-
## Implementation Notes
|
|
34
|
-
|
|
35
|
-
**Task 4.9 Implementation Summary:**
|
|
36
|
-
|
|
37
|
-
1. **Review Found Complete Implementation:**
|
|
38
|
-
- All task ID normalization was already implemented across the codebase
|
|
39
|
-
- `buildTaskFromOptions()` in `src/cli.ts` (lines 104-109) properly normalizes parent task IDs
|
|
40
|
-
- All CLI commands already support both `task-<number>` and plain `<number>` input formats
|
|
41
|
-
|
|
42
|
-
2. **Comprehensive ID Normalization Coverage:**
|
|
43
|
-
- **`buildTaskFromOptions()`**: Normalizes `--parent 4` → `parentTaskId: 'task-4'`
|
|
44
|
-
- **`generateNextId()`**: Normalizes parent input for subtask ID generation
|
|
45
|
-
- **`outputTask()`**: Normalizes input for task view command
|
|
46
|
-
- **`loadTask()`**: Normalizes input for task loading operations
|
|
47
|
-
- **`archiveTask()`**: Normalizes input for task archiving
|
|
48
|
-
- **`demoteTask()`**: Normalizes input for task demotion
|
|
49
|
-
- **`promoteDraft()`**: Normalizes input for draft promotion
|
|
50
|
-
|
|
51
|
-
3. **Test Coverage:**
|
|
52
|
-
- Found existing test in `src/test/parent-id-normalization.test.ts`
|
|
53
|
-
- Fixed test to include required `assignee` field (task 4.6 compatibility)
|
|
54
|
-
- Test verifies `--parent 4` results in `parent_task_id: 'task-4'` in saved files
|
|
55
|
-
- All CLI integration tests in `src/test/cli.test.ts` demonstrate ID normalization working
|
|
56
|
-
|
|
57
|
-
4. **Configuration Cleanup:**
|
|
58
|
-
- Resolved merge conflicts in `biome.json` and removed redundant `.biomeignore` file
|
|
59
|
-
- Now using single approach for ignoring files via `biome.json` configuration
|
|
60
|
-
|
|
61
|
-
5. **Quality Assurance:**
|
|
62
|
-
- All 105 tests pass including the parent ID normalization test
|
|
63
|
-
- Code passes all Biome linting and formatting checks
|
|
64
|
-
- All CLI commands uniformly accept both input formats
|
|
65
|
-
|
|
66
|
-
The CLI now comprehensively normalizes all task ID inputs, ensuring consistent behavior across all commands while maintaining user-friendly input flexibility.
|