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
package/.cursorrules
DELETED
|
@@ -1,223 +0,0 @@
|
|
|
1
|
-
# Cursor Agent Rules for Backlog.md Project
|
|
2
|
-
# These rules are designed to ensure high-quality contributions and maintain project consistency
|
|
3
|
-
|
|
4
|
-
## Table of Contents
|
|
5
|
-
1. Project Structure and Navigation
|
|
6
|
-
2. Task Management
|
|
7
|
-
3. Documentation
|
|
8
|
-
4. Code Quality and Testing
|
|
9
|
-
5. Git Workflow
|
|
10
|
-
6. AI Agent Guidelines
|
|
11
|
-
7. Configuration Management
|
|
12
|
-
8. Review and Communication
|
|
13
|
-
9. Error Handling and Logging
|
|
14
|
-
10. Performance and Security
|
|
15
|
-
11. Maintenance and Dependencies
|
|
16
|
-
12. Accessibility and Internationalization
|
|
17
|
-
13. Version Control and Releases
|
|
18
|
-
14. Emergency Procedures
|
|
19
|
-
15. Project-Specific Rules
|
|
20
|
-
16. Definition of Done
|
|
21
|
-
17. Glossary
|
|
22
|
-
18. Templates and Examples
|
|
23
|
-
|
|
24
|
-
---
|
|
25
|
-
|
|
26
|
-
## 1. Project Structure and Navigation
|
|
27
|
-
1.1 Always check the project structure in `AGENTS.md` before making changes
|
|
28
|
-
1.2 Follow the directory structure under `.backlog/` (see [Project Structure](./AGENTS.md#structure))
|
|
29
|
-
- Never modify files outside the designated project directories
|
|
30
|
-
- Always verify file locations before making changes
|
|
31
|
-
|
|
32
|
-
## 2. Task Management
|
|
33
|
-
- Always check .backlog/tasks/ for current tasks before starting work
|
|
34
|
-
- Reference task IDs in all commit messages and PR titles
|
|
35
|
-
- Follow the task status workflow defined in config.yml
|
|
36
|
-
- Never modify task files directly - use the backlog CLI commands
|
|
37
|
-
- When creating new tasks, ensure they follow the established format
|
|
38
|
-
- Subtasks must use decimal numbering (e.g., task-4.1) to indicate their parentage.
|
|
39
|
-
- Subtasks are created using the CLI with the --parent <task-id> flag; the next decimal ID is assigned automatically.
|
|
40
|
-
- Always reference subtasks by their full decimal ID in commit messages, PR titles, and documentation.
|
|
41
|
-
- Subtasks are stored in the same .backlog/tasks/ directory as main tasks.
|
|
42
|
-
- After completing and testing a task, set its status to Done via CLI:
|
|
43
|
-
|
|
44
|
-
```bash
|
|
45
|
-
backlog task edit <task-id> --status Done
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
## 3. Documentation
|
|
49
|
-
3.1 All documentation must be in Markdown format
|
|
50
|
-
3.2 Update relevant `readme.md` files when making changes
|
|
51
|
-
3.3 Document architectural decisions in `.backlog/decisions/`
|
|
52
|
-
3.4 Maintain clear and concise documentation
|
|
53
|
-
3.5 Include examples in documentation where appropriate
|
|
54
|
-
|
|
55
|
-
## 4. Code Quality and Testing
|
|
56
|
-
- Ensure all code changes are properly tested
|
|
57
|
-
- Follow the project's coding style and conventions
|
|
58
|
-
- Write clear, self-documenting code
|
|
59
|
-
- Include appropriate error handling
|
|
60
|
-
- Add comments for complex logic
|
|
61
|
-
|
|
62
|
-
## 5. Git Workflow
|
|
63
|
-
- Always check git status before committing
|
|
64
|
-
- Use branch names that reflect the task being worked on (tasks/<task-id> feature description)
|
|
65
|
-
- Keep commits atomic and focused
|
|
66
|
-
- Write clear, descriptive commit messages
|
|
67
|
-
- Reference task IDs in commit messages
|
|
68
|
-
|
|
69
|
-
## 6. AI Agent Guidelines
|
|
70
|
-
6.1 Always verify task requirements before implementation
|
|
71
|
-
6.2 Use semantic search to understand existing code
|
|
72
|
-
6.3 Check for similar implementations before creating new features
|
|
73
|
-
6.4 Document any assumptions in PR descriptions and `.backlog/decisions/`
|
|
74
|
-
6.5 Consider edge cases and error scenarios
|
|
75
|
-
|
|
76
|
-
## 7. Configuration Management
|
|
77
|
-
- Never modify config.yml directly
|
|
78
|
-
- Use backlog config commands for configuration changes
|
|
79
|
-
- Maintain backward compatibility when possible
|
|
80
|
-
- Document configuration changes in decisions/
|
|
81
|
-
|
|
82
|
-
## 8. Review and Communication
|
|
83
|
-
- Ensure all changes are properly documented
|
|
84
|
-
- Verify that changes don't break existing functionality
|
|
85
|
-
- Check for potential security implications
|
|
86
|
-
- Consider performance impact of changes
|
|
87
|
-
- Validate against project requirements
|
|
88
|
-
- Use clear and professional language in comments and documentation
|
|
89
|
-
- Document any questions or concerns in task comments
|
|
90
|
-
- Keep commit messages and PR descriptions informative
|
|
91
|
-
- Reference relevant documentation when making changes
|
|
92
|
-
|
|
93
|
-
## 9. Error Handling and Logging
|
|
94
|
-
- Implement proper error handling for all new features
|
|
95
|
-
- Include appropriate logging
|
|
96
|
-
- Consider user experience in error scenarios
|
|
97
|
-
- Document error cases and recovery procedures
|
|
98
|
-
|
|
99
|
-
## 10. Performance and Security
|
|
100
|
-
- Consider performance implications of changes
|
|
101
|
-
- Optimize code when necessary
|
|
102
|
-
- Document performance considerations
|
|
103
|
-
- Test with realistic data volumes
|
|
104
|
-
- Follow security best practices
|
|
105
|
-
- Validate all user inputs
|
|
106
|
-
- Consider potential security implications
|
|
107
|
-
- Document security-related decisions
|
|
108
|
-
|
|
109
|
-
## 11. Maintenance and Dependencies
|
|
110
|
-
- Keep dependencies up to date
|
|
111
|
-
- Remove deprecated code
|
|
112
|
-
- Maintain backward compatibility
|
|
113
|
-
- Document maintenance procedures
|
|
114
|
-
- Document all new dependencies
|
|
115
|
-
- Justify dependency additions
|
|
116
|
-
- Consider impact on project size
|
|
117
|
-
- Check for license compatibility
|
|
118
|
-
|
|
119
|
-
## 12. Accessibility and Internationalization
|
|
120
|
-
- Ensure all features are accessible
|
|
121
|
-
- Follow accessibility guidelines
|
|
122
|
-
- Test with accessibility tools
|
|
123
|
-
- Document accessibility considerations
|
|
124
|
-
- Support multiple languages where appropriate
|
|
125
|
-
- Use proper character encoding
|
|
126
|
-
- Consider cultural differences
|
|
127
|
-
- Document internationalization requirements
|
|
128
|
-
|
|
129
|
-
## 13. Version Control and Releases
|
|
130
|
-
- Follow semantic versioning
|
|
131
|
-
- Document breaking changes
|
|
132
|
-
- Maintain changelog
|
|
133
|
-
- Tag releases appropriately
|
|
134
|
-
|
|
135
|
-
## 14. Emergency Procedures
|
|
136
|
-
- Document emergency procedures
|
|
137
|
-
- Know how to rollback changes
|
|
138
|
-
- Have backup procedures
|
|
139
|
-
- Document recovery steps
|
|
140
|
-
|
|
141
|
-
## 15. Project-Specific Rules
|
|
142
|
-
- Follow Backlog.md CLI conventions
|
|
143
|
-
- Use proper task status transitions
|
|
144
|
-
- Maintain task history
|
|
145
|
-
- Follow project naming conventions
|
|
146
|
-
- Use appropriate labels for tasks
|
|
147
|
-
- Keep task descriptions clear and complete
|
|
148
|
-
- Include a `## Description` section and `## Acceptance Criteria` checklist in each task
|
|
149
|
-
- Write relevant tests when implementing new functionality or fixing bugs
|
|
150
|
-
- Follow the established workflow
|
|
151
|
-
- When starting work on a task, set its status to `In Progress`, assign yourself, and push the change before continuing
|
|
152
|
-
- Use proper task prioritization
|
|
153
|
-
- Maintain task dependencies
|
|
154
|
-
- Follow project branching strategy
|
|
155
|
-
|
|
156
|
-
## 16. Definition of Done
|
|
157
|
-
A task is **Done** only when **all** of the following hold:
|
|
158
|
-
|
|
159
|
-
1. **Acceptance criteria** checklist in the task file is fully checked.
|
|
160
|
-
2. **Automated tests** (unit + integration) cover new logic and CI passes.
|
|
161
|
-
3. **Static analysis**: linter & formatter succeed (when available).
|
|
162
|
-
4. **Documentation**:
|
|
163
|
-
- Docs updated.
|
|
164
|
-
- Task file appended with a `## Implementation Notes` section summarising approach, trade‑offs and follow‑ups.
|
|
165
|
-
5. **Review**: code reviewed.
|
|
166
|
-
6. **Task hygiene**: status set to **Done** via CLI.
|
|
167
|
-
7. **No regressions**: performance, security and licence checks green.
|
|
168
|
-
|
|
169
|
-
## 17. Glossary
|
|
170
|
-
- Add a glossary of project-specific terms and acronyms
|
|
171
|
-
- Add "Subtask" entry: decimal numbering, CLI creation, referencing, and storage
|
|
172
|
-
|
|
173
|
-
## 18. Templates and Examples
|
|
174
|
-
- Add a `docs/` directory for guides (onboarding, semantic search, coding style, etc.)
|
|
175
|
-
- Automate rule enforcement where possible (e.g., with pre-commit hooks, CI checks)
|
|
176
|
-
- Regularly review and update rules to reflect project evolution and lessons learned
|
|
177
|
-
|
|
178
|
-
# Code Review
|
|
179
|
-
- Review code for:
|
|
180
|
-
- Functionality
|
|
181
|
-
- Performance
|
|
182
|
-
- Security
|
|
183
|
-
- Maintainability
|
|
184
|
-
- Documentation
|
|
185
|
-
- Testing
|
|
186
|
-
- Accessibility
|
|
187
|
-
- Internationalization
|
|
188
|
-
|
|
189
|
-
# Emergency Procedures
|
|
190
|
-
- Document emergency procedures
|
|
191
|
-
- Know how to rollback changes
|
|
192
|
-
- Have backup procedures
|
|
193
|
-
- Document recovery steps
|
|
194
|
-
|
|
195
|
-
# Project-Specific Rules
|
|
196
|
-
- Follow Backlog.md CLI conventions
|
|
197
|
-
- Use proper task status transitions
|
|
198
|
-
- Maintain task history
|
|
199
|
-
- Follow project naming conventions
|
|
200
|
-
- Use appropriate labels for tasks
|
|
201
|
-
- Keep task descriptions clear and complete
|
|
202
|
-
- Follow the established workflow
|
|
203
|
-
- Use proper task prioritization
|
|
204
|
-
- Maintain task dependencies
|
|
205
|
-
- Follow project branching strategy
|
|
206
|
-
|
|
207
|
-
## Backlog.md Tool - CLI usage
|
|
208
|
-
| Purpose | Command |
|
|
209
|
-
|---------|---------|
|
|
210
|
-
| Create task | `backlog task create "Add OAuth"` |
|
|
211
|
-
| Create sub task | `backlog task create --parent 14 "Add Google auth"` |
|
|
212
|
-
| List tasks | `backlog task list` |
|
|
213
|
-
| View detail | `backlog task 7` |
|
|
214
|
-
| Edit | `backlog task edit 7 -a @sara -l auth,backend` |
|
|
215
|
-
| Archive | `backlog task archive 7` |
|
|
216
|
-
| Draft flow | `backlog draft create "Spike GraphQL"` → `backlog draft promote 3.1` |
|
|
217
|
-
| Demote to draft| `backlog task demote <id>` |
|
|
218
|
-
|
|
219
|
-
## Backlog.md Tool - Tips for AI Agents
|
|
220
|
-
- Keep tasks **small, atomic, and testable**; create subtasks liberally.
|
|
221
|
-
- Prefer **idempotent** changes so reruns remain safe.
|
|
222
|
-
- Leave **breadcrumbs** in `## Implementation Notes`; humans may continue your thread.
|
|
223
|
-
- If uncertain, **draft a new task** describing the ambiguity rather than guessing.
|
package/.gitattributes
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: Bug Report
|
|
3
|
-
about: Create a bug report to help us improve
|
|
4
|
-
title: "[Bug]: "
|
|
5
|
-
labels: bug
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
**Describe the bug**
|
|
9
|
-
A clear and concise description of what the bug is.
|
|
10
|
-
|
|
11
|
-
**To Reproduce**
|
|
12
|
-
Steps to reproduce the behavior:
|
|
13
|
-
1. Go to '...'
|
|
14
|
-
2. Click on '...'
|
|
15
|
-
3. See error
|
|
16
|
-
|
|
17
|
-
**Expected behavior**
|
|
18
|
-
A clear and concise description of what you expected to happen.
|
|
19
|
-
|
|
20
|
-
**Environment**
|
|
21
|
-
- OS: [e.g., Windows 11]
|
|
22
|
-
- Node version: [e.g., 20]
|
|
23
|
-
|
|
24
|
-
**Additional context**
|
|
25
|
-
Add any other context about the problem here.
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: Feature Request
|
|
3
|
-
about: Suggest a new feature or enhancement
|
|
4
|
-
title: "[Feature]: "
|
|
5
|
-
labels: enhancement
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
**Is your feature request related to a problem? Please describe.**
|
|
9
|
-
A clear description of what problem you want to solve.
|
|
10
|
-
|
|
11
|
-
**Describe the solution you'd like**
|
|
12
|
-
A clear and concise description of what you want to happen.
|
|
13
|
-
|
|
14
|
-
**Additional context**
|
|
15
|
-
Add any other context or screenshots about the feature request here.
|
package/.github/workflows/ci.yml
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
name: Build and Publish
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches: [main]
|
|
6
|
-
tags:
|
|
7
|
-
- 'v*.*.*'
|
|
8
|
-
pull_request:
|
|
9
|
-
|
|
10
|
-
jobs:
|
|
11
|
-
build:
|
|
12
|
-
runs-on: ubuntu-latest
|
|
13
|
-
steps:
|
|
14
|
-
- uses: actions/checkout@v4
|
|
15
|
-
- uses: oven-sh/setup-bun@v1
|
|
16
|
-
- run: bun install
|
|
17
|
-
- run: bun run build
|
|
18
|
-
- run: bun test
|
|
19
|
-
|
|
20
|
-
publish:
|
|
21
|
-
needs: build
|
|
22
|
-
runs-on: ubuntu-latest
|
|
23
|
-
if: startsWith(github.ref, 'refs/tags/')
|
|
24
|
-
steps:
|
|
25
|
-
- uses: actions/checkout@v4
|
|
26
|
-
- uses: oven-sh/setup-bun@v1
|
|
27
|
-
- uses: actions/setup-node@v4
|
|
28
|
-
with:
|
|
29
|
-
node-version: '20'
|
|
30
|
-
registry-url: 'https://registry.npmjs.org'
|
|
31
|
-
- run: bun install
|
|
32
|
-
- run: bun run build
|
|
33
|
-
- name: Publish to npm
|
|
34
|
-
run: npm publish --access public
|
|
35
|
-
env:
|
|
36
|
-
NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }}
|
package/.husky/pre-commit
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
bun lint-staged
|
package/AGENTS.md
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
# Project structure
|
|
2
|
-
|
|
3
|
-
backlog.md/ (Root folder for "Backlog.md" project)
|
|
4
|
-
└── .backlog/ ("Backlog.md" folder for managing tasks and docs)
|
|
5
|
-
├── drafts/ (list of tasks that are not ready to be implemented)
|
|
6
|
-
├── tasks/ (list of tasks that are ready to be implemented)
|
|
7
|
-
├── archive/ (tasks that are no longer relevant)
|
|
8
|
-
│ ├── tasks/
|
|
9
|
-
│ └── drafts/
|
|
10
|
-
├── docs/ (project documentation)
|
|
11
|
-
├── decisions/ (team decisions regarding architecture/technologies)
|
|
12
|
-
└── config.yml ("Backlog.md" configuration file)
|
|
13
|
-
|
|
14
|
-
Instructions for using the Backlog.md tool are available in the `readme.md` file in the root folder.
|
|
15
|
-
|
|
16
|
-
Each folder contains a `readme.md` file with instructions on how to use the Backlog.md tool for that specific folder.
|
|
17
|
-
|
|
18
|
-
## AI Agent Guidelines
|
|
19
|
-
|
|
20
|
-
- Use the markdown task files under `.backlog/tasks/` to decide what to implement.
|
|
21
|
-
- Reference the task `id` in commit messages and PR titles when closing a task.
|
|
22
|
-
- Subtasks use decimal numbering (e.g., `task-4.1`). Reference these IDs the same way.
|
|
23
|
-
- Each task must include a `## Description` section followed by a `## Acceptance Criteria` checklist.
|
|
24
|
-
- Include relevant tests when implementing new functionality or fixing bugs.
|
|
25
|
-
- Keep all project documentation in Markdown format and update the related `readme.md` files when necessary.
|
|
26
|
-
- Ensure the working tree is clean (`git status`) before committing changes.
|
|
27
|
-
- The branch name should reflect the task being worked on, e.g., `<task-id> feature description`.
|
|
28
|
-
- When beginning work on a task, immediately set its status to `In Progress`, assign yourself as the `assignee`, and push the change.
|
|
29
|
-
- After implementing and testing a task, mark it as **Done** using the CLI:
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
backlog task edit <task-id> --status Done
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
## Definition of Done
|
|
36
|
-
|
|
37
|
-
A task is **Done** only when **all** of the following hold:
|
|
38
|
-
|
|
39
|
-
1. **Acceptance criteria** checklist in the task file is fully checked.
|
|
40
|
-
2. **Automated tests** (unit + integration) cover new logic and CI passes.
|
|
41
|
-
3. **Static analysis**: linter & formatter succeed (when available).
|
|
42
|
-
4. **Documentation**:
|
|
43
|
-
- Docs updated.
|
|
44
|
-
- Task file appended with a `## Implementation Notes` section summarising approach, trade‑offs and follow‑ups.
|
|
45
|
-
5. **Review**: code reviewed.
|
|
46
|
-
6. **Task hygiene**: status set to **Done** via CLI.
|
|
47
|
-
7. **No regressions**: performance, security and licence checks green.
|
|
48
|
-
|
|
49
|
-
## Backlog.md Tool - CLI usage
|
|
50
|
-
| Purpose | Command |
|
|
51
|
-
|---------|---------|
|
|
52
|
-
| Create task | `backlog task create "Add OAuth"` |
|
|
53
|
-
| Create sub task | `backlog task create --parent 14 "Add Google auth"` |
|
|
54
|
-
| List tasks | `backlog task list` |
|
|
55
|
-
| View detail | `backlog task 7` |
|
|
56
|
-
| Edit | `backlog task edit 7 -a @sara -l auth,backend` |
|
|
57
|
-
| Archive | `backlog task archive 7` |
|
|
58
|
-
| Draft flow | `backlog draft create "Spike GraphQL"` → `backlog draft promote 3.1` |
|
|
59
|
-
| Demote to draft| `backlog task demote <id>` |
|
|
60
|
-
|
|
61
|
-
## Backlog.md Tool - Tips for AI Agents
|
|
62
|
-
- Keep tasks **small, atomic, and testable**; create subtasks liberally.
|
|
63
|
-
- Prefer **idempotent** changes so reruns remain safe.
|
|
64
|
-
- Leave **breadcrumbs** in `## Implementation Notes`; humans may continue your thread.
|
|
65
|
-
- If uncertain, **draft a new task** describing the ambiguity rather than guessing.
|
package/CLAUDE.md
DELETED
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
# CLAUDE.md
|
|
2
|
-
|
|
3
|
-
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
|
4
|
-
|
|
5
|
-
## Commands
|
|
6
|
-
|
|
7
|
-
### Development
|
|
8
|
-
- `bun install` - Install dependencies
|
|
9
|
-
- `bun test` - Run tests
|
|
10
|
-
- `bun run format` - Format code with Biome
|
|
11
|
-
- `bun run lint` - Lint and auto-fix with Biome
|
|
12
|
-
- `bun run check` - Run all Biome checks (format + lint)
|
|
13
|
-
|
|
14
|
-
### Testing
|
|
15
|
-
- `bun test` - Run all tests
|
|
16
|
-
- `bun test <filename>` - Run specific test file
|
|
17
|
-
|
|
18
|
-
## Project Architecture
|
|
19
|
-
|
|
20
|
-
This is the **Backlog.md** project - a lightweight git + markdown project management tool for human-AI collaboration.
|
|
21
|
-
|
|
22
|
-
### Core Structure
|
|
23
|
-
- **CLI Tool**: Built with Bun and TypeScript as a global npm package (`@backlog.md`)
|
|
24
|
-
- **Source Code**: Located in `/src` directory with modular TypeScript structure
|
|
25
|
-
- **Task Management**: Uses markdown files in `.backlog/` directory structure
|
|
26
|
-
- **Workflow**: Git-integrated with task IDs referenced in commits and PRs
|
|
27
|
-
|
|
28
|
-
### Key Components
|
|
29
|
-
- **Task System**: Tasks stored as `task-<id> - <title>.md` files with decimal subtasks (e.g., `task-4.1`)
|
|
30
|
-
- **Configuration**: Uses `config.yml` for project settings
|
|
31
|
-
- **Status Workflow**: Draft → Active → Archive progression
|
|
32
|
-
|
|
33
|
-
### AI Agent Integration
|
|
34
|
-
- Reference task IDs in commit messages and PR titles when implementing features
|
|
35
|
-
- Use `.backlog/tasks/` markdown files to understand implementation requirements
|
|
36
|
-
- Include a `## Description` section and a `## Acceptance Criteria` checklist in every task file
|
|
37
|
-
- Write relevant tests when implementing new functionality or fixing bugs
|
|
38
|
-
- Follow decimal numbering for subtasks
|
|
39
|
-
- Maintain clean git status before commits
|
|
40
|
-
- Use task-descriptive branch names: `<task-id> feature description`
|
|
41
|
-
- When you start working on a task, update its status to `In Progress`, assign yourself as the assignee, and push the change.
|
|
42
|
-
- After testing a task, mark it **Done** with:
|
|
43
|
-
|
|
44
|
-
```bash
|
|
45
|
-
backlog task edit <task-id> --status Done
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
### Code Standards
|
|
49
|
-
- **Runtime**: Bun with TypeScript 5
|
|
50
|
-
- **Formatting**: Biome with tab indentation and double quotes
|
|
51
|
-
- **Linting**: Biome recommended rules
|
|
52
|
-
- **Testing**: Bun's built-in test runner
|
|
53
|
-
- **Pre-commit**: Husky + lint-staged automatically runs Biome checks before commits
|
|
54
|
-
|
|
55
|
-
The pre-commit hook automatically runs `biome check --write` on staged files to ensure code quality. If linting errors are found, the commit will be blocked until fixed.
|
|
56
|
-
|
|
57
|
-
## Definition of Done
|
|
58
|
-
|
|
59
|
-
A task is **Done** only when **all** of the following hold:
|
|
60
|
-
|
|
61
|
-
1. **Acceptance criteria** checklist in the task file is fully checked.
|
|
62
|
-
2. **Automated tests** (unit + integration) cover new logic and CI passes.
|
|
63
|
-
3. **Static analysis**: linter & formatter succeed (when available).
|
|
64
|
-
4. **Documentation**:
|
|
65
|
-
- Docs updated.
|
|
66
|
-
- Task file appended with a `## Implementation Notes` section summarising approach, trade‑offs and follow‑ups.
|
|
67
|
-
5. **Review**: code reviewed.
|
|
68
|
-
6. **Task hygiene**: status set to **Done** via CLI.
|
|
69
|
-
7. **No regressions**: performance, security and licence checks green.
|
|
70
|
-
|
|
71
|
-
## Backlog.md Tool - CLI usage
|
|
72
|
-
| Purpose | Command |
|
|
73
|
-
|---------|---------|
|
|
74
|
-
| Create task | `backlog task create "Add OAuth"` |
|
|
75
|
-
| Create sub task | `backlog task create --parent 14 "Add Google auth"` |
|
|
76
|
-
| List tasks | `backlog task list` |
|
|
77
|
-
| View detail | `backlog task 7` |
|
|
78
|
-
| Edit | `backlog task edit 7 -a @sara -l auth,backend` |
|
|
79
|
-
| Archive | `backlog task archive 7` |
|
|
80
|
-
| Draft flow | `backlog draft create "Spike GraphQL"` → `backlog draft promote 3.1` |
|
|
81
|
-
| Demote to draft| `backlog task demote <id>` |
|
|
82
|
-
|
|
83
|
-
## Backlog.md Tool - Tips for AI Agents
|
|
84
|
-
- Keep tasks **small, atomic, and testable**; create subtasks liberally.
|
|
85
|
-
- Prefer **idempotent** changes so reruns remain safe.
|
|
86
|
-
- Leave **breadcrumbs** in `## Implementation Notes`; humans may continue your thread.
|
|
87
|
-
- If uncertain, **draft a new task** describing the ambiguity rather than guessing.
|
package/CONTRIBUTING.md
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
# Contributing to Backlog.md
|
|
2
|
-
|
|
3
|
-
Thank you for your interest in contributing to Backlog.md. This project is managed using the Backlog.md workflow and we welcome community involvement.
|
|
4
|
-
|
|
5
|
-
## Opening Issues
|
|
6
|
-
|
|
7
|
-
- Search existing issues before creating a new one.
|
|
8
|
-
- Provide a clear description of the problem or proposal.
|
|
9
|
-
- Reference the related task ID when applicable.
|
|
10
|
-
|
|
11
|
-
## Pull Requests
|
|
12
|
-
|
|
13
|
-
1. Fork the repository and create a branch named after the task ID and a short description (e.g. `task-27-contributing-guidelines`).
|
|
14
|
-
2. Make your changes and commit them with the task ID in the message.
|
|
15
|
-
3. Run tests with `bun test` and ensure they pass.
|
|
16
|
-
4. Format and lint the code using `npx biome check .`.
|
|
17
|
-
5. Open a pull request referencing the issue or task it addresses.
|
|
18
|
-
|
|
19
|
-
Please read [AGENTS.md](AGENTS.md) for detailed rules that apply to contributors and AI agents.
|
package/DEVELOPMENT.md
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
## Local Development
|
|
2
|
-
|
|
3
|
-
Run these commands to bootstrap the project:
|
|
4
|
-
|
|
5
|
-
```bash
|
|
6
|
-
bun install
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
Run tests:
|
|
10
|
-
|
|
11
|
-
```bash
|
|
12
|
-
bun test
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
Format and lint:
|
|
16
|
-
|
|
17
|
-
```bash
|
|
18
|
-
npx biome check .
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
For contribution guidelines, see [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
22
|
-
|
|
23
|
-
## Release
|
|
24
|
-
|
|
25
|
-
To publish a new version to npm:
|
|
26
|
-
|
|
27
|
-
1. Update the `version` field in `package.json`.
|
|
28
|
-
2. Commit the change and create a git tag matching the version, e.g. `v0.1.0`.
|
|
29
|
-
```bash
|
|
30
|
-
git tag v<version>
|
|
31
|
-
git push origin v<version>
|
|
32
|
-
```
|
|
33
|
-
3. Push the tag to trigger the GitHub Actions workflow. It will build, test and
|
|
34
|
-
publish the package to npm using the repository `NPM_TOKEN` secret.
|
|
35
|
-
|
|
36
|
-
[← Back to README](README.md)
|
|
37
|
-
|
package/biome.json
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://biomejs.dev/schemas/1.9.4/schema.json",
|
|
3
|
-
"vcs": {
|
|
4
|
-
"enabled": false,
|
|
5
|
-
"clientKind": "git",
|
|
6
|
-
"useIgnoreFile": false
|
|
7
|
-
},
|
|
8
|
-
"files": {
|
|
9
|
-
"ignoreUnknown": false,
|
|
10
|
-
"ignore": ["cli/"]
|
|
11
|
-
},
|
|
12
|
-
"formatter": {
|
|
13
|
-
"enabled": true,
|
|
14
|
-
"indentStyle": "tab",
|
|
15
|
-
"lineWidth": 120
|
|
16
|
-
},
|
|
17
|
-
"organizeImports": {
|
|
18
|
-
"enabled": true
|
|
19
|
-
},
|
|
20
|
-
"linter": {
|
|
21
|
-
"enabled": true,
|
|
22
|
-
"rules": {
|
|
23
|
-
"recommended": true
|
|
24
|
-
}
|
|
25
|
-
},
|
|
26
|
-
"javascript": {
|
|
27
|
-
"formatter": {
|
|
28
|
-
"quoteStyle": "double"
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}
|