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
Binary file
Binary file
Binary file
package/cli.js ADDED
@@ -0,0 +1,62 @@
1
+ #!/usr/bin/env node
2
+ import { spawn } from 'child_process';
3
+ import { fileURLToPath } from 'url';
4
+ import { dirname, join } from 'path';
5
+ import { platform, arch } from 'os';
6
+ import { accessSync, constants } from 'fs';
7
+
8
+ const __dirname = dirname(fileURLToPath(import.meta.url));
9
+
10
+ function getBinaryPath() {
11
+ const os = platform();
12
+ const architecture = arch();
13
+
14
+ const platformMap = {
15
+ 'darwin': 'darwin',
16
+ 'linux': 'linux',
17
+ 'win32': 'win32'
18
+ };
19
+
20
+ const archMap = {
21
+ 'x64': 'x64',
22
+ 'arm64': 'arm64'
23
+ };
24
+
25
+ const mappedOs = platformMap[os];
26
+ const mappedArch = archMap[architecture];
27
+
28
+ if (!mappedOs || !mappedArch) {
29
+ throw new Error(`Unsupported platform: ${os}-${architecture}`);
30
+ }
31
+
32
+ const binaryName = os === 'win32' ? 'backlog.exe' : 'backlog';
33
+ const binaryPath = join(__dirname, 'bin', `backlog-${mappedOs}-${mappedArch}`, binaryName);
34
+
35
+ try {
36
+ accessSync(binaryPath, constants.X_OK);
37
+ return binaryPath;
38
+ } catch (error) {
39
+ throw new Error(`Binary not found for platform ${mappedOs}-${mappedArch} at ${binaryPath}`);
40
+ }
41
+ }
42
+
43
+ try {
44
+ const binaryPath = getBinaryPath();
45
+ const child = spawn(binaryPath, process.argv.slice(2), {
46
+ stdio: 'inherit',
47
+ env: process.env
48
+ });
49
+
50
+ child.on('exit', (code) => {
51
+ process.exit(code || 0);
52
+ });
53
+
54
+ child.on('error', (err) => {
55
+ console.error('Failed to run backlog:', err.message);
56
+ process.exit(1);
57
+ });
58
+ } catch (error) {
59
+ console.error(error.message);
60
+ console.error('\nPlease report this issue at: https://github.com/MrLesk/Backlog.md/issues');
61
+ process.exit(1);
62
+ }
package/package.json CHANGED
@@ -1,47 +1,58 @@
1
1
  {
2
- "name": "backlog.md",
3
- "version": "0.1.0",
4
- "module": "src/index.ts",
5
- "type": "module",
6
- "bin": {
7
- "backlog": "cli/index.js"
8
- },
9
- "dependencies": {
10
- "commander": "14.0.0",
11
- "gray-matter": "4.0.3",
12
- "blessed": "0.1.81"
13
- },
14
- "devDependencies": {
15
- "@biomejs/biome": "1.9.4",
16
- "@types/bun": "1.2.15",
17
- "husky": "9.1.7",
18
- "lint-staged": "16.1.0"
19
- },
20
- "scripts": {
21
- "test": "bun test",
22
- "format": "biome format --write .",
23
- "lint": "biome lint --write .",
24
- "check": "biome check .",
25
- "prepare": "husky",
26
- "build": "node scripts/build.js",
27
- "build:js": "bun build src/cli.ts --outdir cli --target node",
28
- "build:exe": "bun build src/cli.ts --compile --outfile cli/backlog",
29
- "cli": "bun src/cli.ts"
30
- },
31
- "lint-staged": {
32
- "*.{ts,js,json}": ["biome check --write --files-ignore-unknown=true"],
33
- "src/**/*.{ts,js}": ["biome check --write --files-ignore-unknown=true"]
34
- },
35
- "author": "Alex Gavrilescu (https://github.com/MrLesk)",
36
- "repository": {
37
- "type": "git",
38
- "url": "git+https://github.com/MrLesk/Backlog.md.git"
39
- },
40
- "bugs": {
41
- "url": "https://github.com/MrLesk/Backlog.md/issues"
42
- },
43
- "homepage": "https://backlog.md",
44
- "keywords": ["cli", "markdown", "kanban", "task", "project-management", "backlog", "agents"],
45
- "license": "MIT",
46
- "trustedDependencies": ["@biomejs/biome"]
47
- }
2
+ "name": "backlog.md",
3
+ "version": "0.1.3",
4
+ "module": "src/index.ts",
5
+ "type": "module",
6
+ "bin": {
7
+ "backlog": "cli.js"
8
+ },
9
+ "dependencies": {
10
+ "commander": "14.0.0",
11
+ "gray-matter": "4.0.3",
12
+ "blessed": "0.1.81"
13
+ },
14
+ "scripts": {
15
+ "test": "bun test",
16
+ "format": "biome format --write .",
17
+ "lint": "biome lint --write .",
18
+ "check": "biome check .",
19
+ "build": "bun build --compile --outfile=backlog src/cli.ts",
20
+ "build:standalone": "node scripts/build-standalone.js",
21
+ "build:npm": "node scripts/build.js",
22
+ "cli": "bun src/cli.ts"
23
+ },
24
+ "lint-staged": {
25
+ "*.{ts,js,json}": [
26
+ "biome check --write --files-ignore-unknown=true"
27
+ ],
28
+ "src/**/*.{ts,js}": [
29
+ "biome check --write --files-ignore-unknown=true"
30
+ ]
31
+ },
32
+ "author": "Alex Gavrilescu (https://github.com/MrLesk)",
33
+ "repository": {
34
+ "type": "git",
35
+ "url": "git+https://github.com/MrLesk/Backlog.md.git"
36
+ },
37
+ "bugs": {
38
+ "url": "https://github.com/MrLesk/Backlog.md/issues"
39
+ },
40
+ "homepage": "https://backlog.md",
41
+ "keywords": [
42
+ "cli",
43
+ "markdown",
44
+ "kanban",
45
+ "task",
46
+ "project-management",
47
+ "backlog",
48
+ "agents"
49
+ ],
50
+ "license": "MIT",
51
+ "trustedDependencies": [
52
+ "@biomejs/biome"
53
+ ],
54
+ "files": [
55
+ "bin/",
56
+ "cli.js"
57
+ ]
58
+ }
@@ -1,3 +0,0 @@
1
- # Archived Drafts
2
-
3
- Drafts that were removed from the drafts list but are kept for reference.
@@ -1,13 +0,0 @@
1
- ---
2
- id: task-41
3
- title: Temporary test task
4
- status: Draft
5
- assignee: []
6
- created_date: '2025-06-11'
7
- labels: []
8
- dependencies: []
9
- ---
10
-
11
- ## Description
12
-
13
- test description
@@ -1,6 +0,0 @@
1
- # Archive
2
-
3
- Tasks that are no longer relevant.
4
- They may have been completed, superseded, or deemed unnecessary.
5
- They are kept here for reference or historical purposes.
6
- They are not actively tracked or managed.
@@ -1,3 +0,0 @@
1
- # Archived Tasks
2
-
3
- Tasks that were removed from the main backlog but are kept for reference.
@@ -1,14 +0,0 @@
1
- ---
2
- id: task-41
3
- title: 'CLI: Migrate terminal UI to bblessed'
4
- status: To Do
5
- assignee: []
6
- created_date: '2025-06-11'
7
- labels:
8
- - cli
9
- dependencies: []
10
- ---
11
-
12
- ## Description
13
-
14
- Migrate all CLI interfaces to bblessed for a consistent terminal experience.\n\n## Acceptance Criteria\n- [ ] Init wizard uses bblessed forms and lists\n- [ ] Task view uses bblessed components\n- [ ] Doc view uses bblessed components\n- [ ] Board view rendered with bblessed\n- [ ] Remove prompts-based UI code\n- [ ] Works on Node and Bun
@@ -1,7 +0,0 @@
1
- project_name: "Backlog.md"
2
- default_status: "To Do"
3
- statuses: ["To Do", "In Progress", "Done"]
4
- labels: []
5
- milestones: []
6
- date_format: yyyy-mm-dd
7
- max_column_width: 80
@@ -1,7 +0,0 @@
1
- # Decisions
2
-
3
- Team decisions regarding architecture/technologies.
4
- They are not tasks but rather decisions that guide the development process.
5
- They may include choices about frameworks, libraries, or design patterns.
6
-
7
- Create a new decision log with `backlog decision create <title>` and list all decisions with `backlog decision list`.
@@ -1,20 +0,0 @@
1
- # Documentation
2
-
3
- This directory contains the project's documentation files, including guides, specifications, and other relevant information.
4
-
5
- Use `backlog doc create <title>` to add a new document. By default, files are saved here, but you can specify a subfolder with `-p <path>`.
6
- List all documents with `backlog doc list`.
7
-
8
- ## Configuration Options
9
-
10
- `config.yml` supports the following keys:
11
-
12
- - `project_name`: Name of the project
13
- - `default_assignee`: Optional user assigned to new tasks
14
- - `default_status`: Default status for new tasks
15
- - `statuses`: List of allowed task statuses
16
- - `labels`: List of available labels
17
- - `milestones`: Project milestones
18
- - `date_format`: Format for `created_date` values (default `yyyy-mm-dd`)
19
-
20
- Default statuses are `To Do`, `In Progress`, and `Done`. Draft tasks live in `.backlog/drafts`.
@@ -1,3 +0,0 @@
1
- # Drafts
2
-
3
- These tasks are in the draft stage and may require further refinement before they can be moved to the main task list.
@@ -1,21 +0,0 @@
1
- ---
2
- id: task-26
3
- title: 'Agents: add board export step to agent DoD'
4
- status: To Do
5
- assignee: []
6
- created_date: '2025-06-09'
7
- updated_date: '2025-06-09'
8
- labels:
9
- - agents
10
- dependencies: []
11
- ---
12
-
13
- ## Description
14
-
15
- Update the "Definition of Done" sections in CLAUDE.md, AGENTS.md and .cursorrules to instruct agents to run `backlog board export` before committing.
16
-
17
- ## Acceptance Criteria
18
-
19
- - [ ] CLAUDE.md includes a bullet about running `backlog board export` before committing.
20
- - [ ] AGENTS.md includes the same bullet.
21
- - [ ] .cursorrules includes the same bullet.
@@ -1,20 +0,0 @@
1
- ---
2
- id: task-28
3
- title: Add CODE OF CONDUCT
4
- status: To Do
5
- assignee: []
6
- created_date: '2025-06-09'
7
- labels:
8
- - docs
9
- - github
10
- dependencies: []
11
- ---
12
-
13
- ## Description
14
-
15
- Create a standard CODE_OF_CONDUCT.md for the project.
16
-
17
- ## Acceptance Criteria
18
- - [ ] CODE_OF_CONDUCT.md added with Contributor Covenant text
19
- - [ ] Mention in README where to find the Code of Conduct
20
- - [ ] Task committed to repository
@@ -1,19 +0,0 @@
1
- ---
2
- id: task-30
3
- title: Create CHANGELOG
4
- status: To Do
5
- assignee: []
6
- created_date: '2025-06-09'
7
- labels:
8
- - docs
9
- dependencies: []
10
- ---
11
-
12
- ## Description
13
-
14
- Start a CHANGELOG.md documenting major features and fixes.
15
-
16
- ## Acceptance Criteria
17
- - [ ] CHANGELOG.md added with entries for initial release
18
- - [ ] Guidelines in README reference the changelog
19
- - [ ] Task committed to repository
@@ -1,8 +0,0 @@
1
- ---
2
- id: m-0
3
- title: "Bootstrap Backlog.md Project Definition with Initial Tasks"
4
- ---
5
-
6
- ## Description
7
-
8
- This milestone focuses on setting up the foundational structure for the Backlog.md project. It includes creating the initial directory structure, defining the first set of tasks, and establishing the project setup with Git for version control. The goal is to prepare the groundwork for subsequent milestones.
@@ -1,8 +0,0 @@
1
- ---
2
- id: m-1
3
- title: "CLI Development"
4
- ---
5
-
6
- ## Description
7
-
8
- This milestone focuses on building the command-line interface (CLI) for the Backlog.md tool. It includes tasks for implementing core functionality, such as task management commands, documentation handling, and decision logging. The goal is to create a robust CLI that can be easily used and extended.
@@ -1,8 +0,0 @@
1
- ---
2
- id: m-2
3
- title: "Kanban Board (CLI Visualization)"
4
- ---
5
-
6
- ## Description
7
-
8
- In this milestone, we will implement a text-based Kanban board view in the CLI, allowing users to visualize and manage tasks more effectively.
@@ -1,8 +0,0 @@
1
- ---
2
- id: m-3
3
- title: "GUI Development"
4
- ---
5
-
6
- ## Description
7
-
8
- The third milestone focuses on building the graphical user interface (GUI) for the Backlog.md tool.
@@ -1,8 +0,0 @@
1
- ---
2
- id: m-4
3
- title: "GUI Kanban Board Development"
4
- ---
5
-
6
- ## Description
7
-
8
- This milestone focuses on building the graphical user interface (GUI) for the Kanban board view in the Backlog.md tool.
@@ -1,12 +0,0 @@
1
- ---
2
- id: m-5
3
- title: "Advanced GUI Features"
4
- ---
5
-
6
- ## Description
7
-
8
- The fifth milestone focuses on enhancing the graphical user interface (GUI) for the Backlog.md tool. This includes implementing advanced features such as:
9
-
10
- - Improved task visualization and management.
11
- - Enhanced user interactions and feedback.
12
- - Integration with external tools and services.
@@ -1,3 +0,0 @@
1
- # Milestones
2
-
3
- List of milestones that the task will be part of, including their goals and high-level tasks.
@@ -1,5 +0,0 @@
1
- # Backlog.md Project files
2
-
3
- This directory contains the Backlog.md project files, including tasks, documentation, and configuration.
4
-
5
- Refer to the `readme.md` files in each subdirectory for specific instructions on how to use the Backlog.md tool for that folder.
@@ -1,37 +0,0 @@
1
- # Tasks
2
-
3
- List of tasks that are ready to be implemented
4
-
5
- Tasks are stored as `task-<id> - <title>.md`.
6
- For subtasks, use decimal numbering like `task-4.1 - example.md`.
7
-
8
- Example of a task definition in Markdown format:
9
-
10
- ```markdown
11
- ---
12
- id: task-0
13
- title: "Bootstrap Backlog.md Project Definition with Initial Tasks"
14
- status: "Done"
15
- assignee: "@MrLesk"
16
- reporter: "@MrLesk"
17
- created_date: 2025-06-03
18
- completed_date: 2025-06-03
19
- labels: ["project-setup", "meta", "milestone-0"]
20
- milestone: "M0 - Project Setup"
21
- ---
22
-
23
- ## Description
24
-
25
- Define the initial Backlog working directory structure and create the first set of tasks for building the Backlog tool itself using the Backlog methodology. This includes defining the first three milestones (CLI, Kanban Dashboard, GUI) and their high-level tasks. Set up Git for version control and define basic rules for AI agents.
26
-
27
- ## Acceptance Criteria (Optional)
28
-
29
- - [x] `.backlog` directory structure created.
30
- - [x] Initial `config.yml` created.
31
- - [x] Markdown task files for Milestones 1, 2, and 3 high-level tasks created in `.backlog/tasks/` or `.backlog/draft/`.
32
- - [x] All initial tasks committed to the Git repository.
33
- - [x] `agents.md` file for AI Agent instructions
34
-
35
- ## Notes & Comments (Optional)
36
- This task serves as the foundation for the Backlog.md project, ensuring that all subsequent tasks and milestones are built upon a solid structure. It is crucial for maintaining organization and clarity throughout the project lifecycle.
37
- ```
@@ -1,23 +0,0 @@
1
- ---
2
- id: task-1
3
- title: "CLI: Setup Core Project (Bun, TypeScript, Git, Linters)"
4
- status: Done
5
- assignee: @MrLesk
6
- reporter: @MrLesk
7
- created_date: 2025-06-03
8
- labels: ["cli", "setup"]
9
- milestone: "M1 - CLI"
10
- dependencies: ["task-0"]
11
- ---
12
-
13
- ## Description
14
-
15
- Initialize the actual Bun + TypeScript project. Configure linters (Biome), basic testing framework (Bun test).
16
-
17
- ## Acceptance Criteria
18
-
19
- - [x] Bun project initialized (`bun init`).
20
- - [x] TypeScript configured.
21
- - [x] Biome configured and working.
22
- - [x] Basic `bun test` example runs.
23
- - [x] Project `README.md` created.
@@ -1,23 +0,0 @@
1
- ---
2
- id: task-10
3
- title: "GUI: Implement `backlog init` in GUI & GUI Packaging"
4
- status: "To Do"
5
- assignee: []
6
- reporter: @MrLesk
7
- created_date: 2025-06-04
8
- labels: ["gui", "feature"]
9
- milestone: "M3 - GUI"
10
- dependencies: ["task-8"]
11
- ---
12
-
13
- ## Description
14
-
15
- - Implement a GUI mechanism to perform the `backlog init` action
16
- - Set up build process for the Tauri build tool to create distributable packages.
17
- - Implement the `backlog gui` command in the CLI to launch the packaged GUI application or guide download.
18
-
19
- ## Acceptance Criteria
20
-
21
- - [ ] GUI can initialize a new Backlog.md project.
22
- - [ ] GUI can be packaged into distributable formats (.exe, .dmg, .AppImage).
23
- - [ ] `backlog gui` command in CLI successfully launches the GUI or provides download instructions.
@@ -1,26 +0,0 @@
1
- ---
2
- id: task-11
3
- title: "GUI: Implement GUI Kanban Board Display & Interaction"
4
- status: "To Do"
5
- assignee: []
6
- reporter: @MrLesk
7
- created_date: 2025-06-04
8
- labels: ["gui", "kanban", "feature"]
9
- milestone: "M4 - GUI-Kanban Board"
10
- dependencies: ["task-8"]
11
- ---
12
-
13
- ## Description
14
-
15
- Develop the main Kanban board view in the GUI:
16
-
17
- - Display columns based on task statuses.
18
- - Render task cards with key information.
19
- - Implement drag-and-drop to change task status (updating the Markdown file and committing).
20
- - Allow opening a task for detailed view/edit.
21
-
22
- ## Acceptance Criteria
23
-
24
- - [ ] Kanban board accurately reflects tasks in `.backlog/tasks/`.
25
- - [ ] Task cards display relevant info.
26
- - [ ] Drag-and-drop updates task status and commits change.
@@ -1,25 +0,0 @@
1
- ---
2
- id: task-12
3
- title: "GUI: Implement GUI for Drafts, Docs, Decisions"
4
- status: "To Do"
5
- assignee: []
6
- reporter: @MrLesk
7
- created_date: 2025-06-04
8
- labels: ["gui", "feature"]
9
- milestone: "M5 - Advanced GUI Features"
10
- dependencies: ["task-8"]
11
- ---
12
-
13
- ## Description
14
-
15
- Develop GUI sections for:
16
-
17
- - Viewing and managing the drafts (promoting to active board).
18
- - Viewing and editing documentation files (`.backlog/docs/`).
19
- - Viewing and editing decision logs (`.backlog/decisions/`).
20
-
21
- ## Acceptance Criteria
22
-
23
- - [ ] Draft view with promote functionality.
24
- - [ ] Documentation section with Markdown viewer/editor.
25
- - [ ] Decisions section with viewer/editor.
@@ -1,53 +0,0 @@
1
- ---
2
- id: task-13
3
- title: 'CLI: Add Agent Instruction Prompt'
4
- status: Done
5
- assignee: []
6
- reporter: @MrLesk
7
- created_date: 2025-06-08
8
- updated_date: 2025-06-09
9
- labels: [cli, agents]
10
- dependencies: []
11
- ---
12
-
13
- ## Description
14
-
15
- Add an interactive step to `backlog init` that asks the user if they want to include instructions for AI agents such as Codex, Claude Code, or Google Jules. When confirmed, the command should create the appropriate guideline files (`AGENTS.md`, `.CLAUDE.md`, `.cursorrules`) if they do not exist, or append the instructions if they are already present.
16
-
17
- ## Acceptance Criteria
18
-
19
- - [x] `backlog init` prompts: "Add instructions for AI agents? [y/N]".
20
- - [x] On confirmation, guideline files are created or updated with Backlog usage instructions.
21
- - [x] Existing files are appended rather than overwritten.
22
- - [x] Declining the prompt leaves the repository unchanged.
23
- - [x] Feature covered by automated tests.
24
-
25
- ## Implementation Notes
26
-
27
- Added interactive agent instructions prompt to the CLI `backlog init` command. Key technical details:
28
-
29
- **CLI Integration (src/cli.ts:48-57):**
30
- - Added prompt "Add instructions for AI agents? [y/N]" after reporter configuration
31
- - Only calls `addAgentInstructions()` when user confirms with "y" or "yes"
32
- - Integrated with existing git operations for automatic commit
33
-
34
- **Agent Instructions Module (src/agent-instructions.ts):**
35
- - Creates three guideline files: `AGENTS.md`, `CLAUDE.md`, and `.cursorrules`
36
- - Reads existing files and appends new content rather than overwriting
37
- - Handles missing files by creating them with default content
38
- - Automatically commits changes via GitOperations when provided
39
-
40
- **Guideline Content (src/guidelines/):**
41
- - `AGENTS.md`: General guidelines for AI agents working with Backlog projects
42
- - `CLAUDE.md`: Specific instructions for Claude Code integration
43
- - `.cursorrules`: Configuration for Cursor AI editor
44
-
45
- **Testing:**
46
- - Unit tests in `src/test/agent-instructions.test.ts` verify file creation and appending behavior
47
- - CLI integration test in `src/test/cli.test.ts` verifies end-to-end functionality
48
- - All 127 tests pass including the new integration test
49
-
50
- **File Handling:**
51
- - Uses Bun.file() for efficient file I/O operations
52
- - Preserves existing content by reading before writing
53
- - Ensures proper newline handling when appending content
@@ -1,40 +0,0 @@
1
- ---
2
- id: task-13.1
3
- title: 'CLI: Agent Instruction File Selection'
4
- status: Done
5
- assignee: []
6
- reporter: '@MrLesk'
7
- created_date: '2025-06-09'
8
- updated_date: '2025-06-09'
9
- labels:
10
- - cli
11
- - agents
12
- dependencies: []
13
- parent_task_id: task-13
14
- ---
15
-
16
- ## Description
17
-
18
- Replace the existing yes/no prompt in `backlog init` with a multi-select menu. Users can choose any combination of the following guideline files to update with Backlog instructions:
19
-
20
- - `.cursorrules`
21
- - `CLAUDE.md`
22
- - `AGENTS.md`
23
- - `readme.md`
24
-
25
- ## Acceptance Criteria
26
-
27
- - [x] `backlog init` displays a multi-select prompt for agent instruction files.
28
- - [x] Users can select one or more files, or skip entirely.
29
- - [x] Selected files are created or appended with instructions; unselected files remain unchanged.
30
- - [x] Automated tests cover the new selection flow.
31
-
32
- ## Implementation Notes
33
-
34
- * Replaced yes/no prompt with numbered multi-select menu in `src/cli.ts:52-65`.
35
- * Users can select from `.cursorrules`, `CLAUDE.md`, `AGENTS.md`, and `readme.md` files.
36
- * Menu displays numbered options (1-4) and accepts comma-separated selections.
37
- * Blank input skips agent instruction file creation entirely.
38
- * Implementation uses `addAgentInstructions()` function to handle file creation/appending.
39
- * Test coverage provided by "should create agent instruction files when requested" in `src/test/cli.test.ts`.
40
- * Maintains backward compatibility while improving user experience with more granular control.