backlog.md 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.backlog/archive/drafts/readme.md +3 -0
- package/.backlog/archive/drafts/task-41 - temporary-test-task.md +13 -0
- package/.backlog/archive/readme.md +6 -0
- package/.backlog/archive/tasks/readme.md +3 -0
- package/.backlog/archive/tasks/task-41 - cli-migrate-terminal-ui-to-bblessed.md +14 -0
- package/.backlog/config.yml +7 -0
- package/.backlog/decisions/readme.md +7 -0
- package/.backlog/docs/readme.md +20 -0
- package/.backlog/drafts/readme.md +3 -0
- package/.backlog/drafts/task-26 - docs-add-board-export-step-to-agent-dod.md +21 -0
- package/.backlog/drafts/task-28 - add-code-of-conduct.md +20 -0
- package/.backlog/drafts/task-30 - create-changelog.md +19 -0
- package/.backlog/milestones/m-0 - project-setup.md +8 -0
- package/.backlog/milestones/m-1 - cli.md +8 -0
- package/.backlog/milestones/m-2 - cli-kanban.md +8 -0
- package/.backlog/milestones/m-3 - gui.md +8 -0
- package/.backlog/milestones/m-4 - gui-kanban.md +8 -0
- package/.backlog/milestones/m-5 - gui-advanced.md +12 -0
- package/.backlog/milestones/readme.md +3 -0
- package/.backlog/readme.md +5 -0
- package/.backlog/tasks/readme.md +37 -0
- package/.backlog/tasks/task-1 - cli-setup-core-project.md +23 -0
- package/.backlog/tasks/task-10 - gui-init-packaging.md +23 -0
- package/.backlog/tasks/task-11 - gui-kanban-board.md +26 -0
- package/.backlog/tasks/task-12 - gui-advanced.md +25 -0
- package/.backlog/tasks/task-13 - cli-add-agent-instruction-prompt.md +53 -0
- package/.backlog/tasks/task-13.1 - cli-agent-instruction-file-selection.md +40 -0
- package/.backlog/tasks/task-14 - gui-introduction-screens.md +21 -0
- package/.backlog/tasks/task-15 - improve-tasks-readme-with-generic-example-and-cli-reference.md +20 -0
- package/.backlog/tasks/task-16 - improve-docs-readme-with-generic-example-and-cli-reference.md +20 -0
- package/.backlog/tasks/task-17 - improve-drafts-readme-with-generic-example-and-cli-reference.md +20 -0
- package/.backlog/tasks/task-18 - improve-decisions-readme-with-generic-example-and-cli-reference.md +20 -0
- package/.backlog/tasks/task-19 - cli-fix-default-task-status-and-remove-draft-from-statuses.md +55 -0
- package/.backlog/tasks/task-2 - cli-core-logic-library.md +28 -0
- package/.backlog/tasks/task-20 - add-agent-guideline-to-mark-tasks-in-progress-on-start.md +32 -0
- package/.backlog/tasks/task-21 - kanban-board-vertical-layout.md +31 -0
- package/.backlog/tasks/task-22 - cli-prevent-double-dash-in-task-filenames.md +24 -0
- package/.backlog/tasks/task-23 - cli-kanban-board-order-tasks-by-id-asc.md +30 -0
- package/.backlog/tasks/task-24 - handle-subtasks-in-the-kanban-view.md +38 -0
- package/.backlog/tasks/task-24.1 - cli-kanban-board-milestone-view.md +19 -0
- package/.backlog/tasks/task-25 - cli-export-kanban-board-to-readme.md +28 -0
- package/.backlog/tasks/task-27 - add-contributing-guidelines.md +27 -0
- package/.backlog/tasks/task-29 - add-github-templates.md +28 -0
- package/.backlog/tasks/task-3 - cli-implement-backlog-init.md +63 -0
- package/.backlog/tasks/task-31 - update-readme-for-open-source.md +26 -0
- package/.backlog/tasks/task-32 - cli-hide-empty-'no-status'-column.md +31 -0
- package/.backlog/tasks/task-33 - cli-export-milestones-board-as-roadmap.md +20 -0
- package/.backlog/tasks/task-34 - split-readme.md-for-users-and-contributors.md +26 -0
- package/.backlog/tasks/task-35 - finalize-package.json-metadata-for-publishing.md +24 -0
- package/.backlog/tasks/task-36 - cli-prompt-for-project-name-in-init.md +24 -0
- package/.backlog/tasks/task-37 - cli-board-view-open-tasks-in-ide.md +19 -0
- package/.backlog/tasks/task-38 - cli-improved-agent-selection-for-init.md +25 -0
- package/.backlog/tasks/task-39 - cli-fix-empty-agent-instruction-files-on-init.md +31 -0
- package/.backlog/tasks/task-4 - cli-task-management-commands.md +28 -0
- package/.backlog/tasks/task-4.1 - cli-task-create.md +27 -0
- package/.backlog/tasks/task-4.10 - use-cli-to-mark-tasks-done.md +51 -0
- package/.backlog/tasks/task-4.11 - docs-add-definition-of-done-to-agent-guidelines.md +23 -0
- package/.backlog/tasks/task-4.12 - cli-handle-task-id-conflicts-across-branches.md +53 -0
- package/.backlog/tasks/task-4.13 - cli-fix-config-command-local-global-logic.md +58 -0
- package/.backlog/tasks/task-4.2 - cli-task-list-view.md +25 -0
- package/.backlog/tasks/task-4.3 - cli-task-edit.md +24 -0
- package/.backlog/tasks/task-4.4 - cli-task-archive-transition.md +27 -0
- package/.backlog/tasks/task-4.5 - cli-init-prompts-for-reporter-name-and-global-local-config.md +28 -0
- package/.backlog/tasks/task-4.6 - cli-add-empty-assignee-array-field-for-new-tasks.md +35 -0
- package/.backlog/tasks/task-4.7 - cli-parse-unquoted-created_date.md +40 -0
- package/.backlog/tasks/task-4.8 - cli-enforce-description-header.md +48 -0
- package/.backlog/tasks/task-4.9 - cli-normalize-task-id-inputs.md +66 -0
- package/.backlog/tasks/task-40 - cli-board-command-defaults-to-view.md +38 -0
- package/.backlog/tasks/task-41 - cli-migrate-terminal-ui-to-bblessed.md +93 -0
- package/.backlog/tasks/task-41.1 - cli-bblessed-init-wizard.md +42 -0
- package/.backlog/tasks/task-41.2 - cli-bblessed-task-view.md +44 -0
- package/.backlog/tasks/task-41.3 - cli-bblessed-doc-view.md +45 -0
- package/.backlog/tasks/task-41.4 - cli-bblessed-board-view.md +49 -0
- package/.backlog/tasks/task-41.5 - cli-audit-remaining-ui-for-bblessed.md +55 -0
- package/.backlog/tasks/task-42 - visual-hierarchy.md +54 -0
- package/.backlog/tasks/task-43 - remove-duplicate-acceptance-criteria-and-style-metadata.md +56 -0
- package/.backlog/tasks/task-44 - checklist-alignment.md +24 -0
- package/.backlog/tasks/task-45 - safe-line-wrapping.md +23 -0
- package/.backlog/tasks/task-46 - split-pane-layout.md +24 -0
- package/.backlog/tasks/task-47 - sticky-header-in-detail-view.md +43 -0
- package/.backlog/tasks/task-48 - footer-hint-line.md +21 -0
- package/.backlog/tasks/task-49 - status-styling.md +53 -0
- package/.backlog/tasks/task-5 - cli-docs-decisions.md +57 -0
- package/.backlog/tasks/task-50 - borders-&-padding.md +22 -0
- package/.backlog/tasks/task-51 - code-path-styling.md +23 -0
- package/.backlog/tasks/task-52 - cli-filter-tasks-list-by-status-or-assignee.md +29 -0
- package/.backlog/tasks/task-6 - cli-packaging.md +65 -0
- package/.backlog/tasks/task-6.1 - cli-local-installation-support-for-bunx-npx.md +49 -0
- package/.backlog/tasks/task-6.2 - cli-github-actions-for-build-&-publish.md +64 -0
- package/.backlog/tasks/task-7 - cli-kanban-view.md +60 -0
- package/.backlog/tasks/task-7.1 - cli-kanban-board-detect-remote-task-status.md +62 -0
- package/.backlog/tasks/task-8 - gui-project-setup.md +21 -0
- package/.backlog/tasks/task-9 - gui-task-crud.md +24 -0
- package/.cursorrules +223 -0
- package/.gitattributes +2 -0
- package/.github/ISSUE_TEMPLATE/bug_report.md +25 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +15 -0
- package/.github/PULL_REQUEST_TEMPLATE.md +8 -0
- package/.github/workflows/ci.yml +36 -0
- package/.husky/pre-commit +1 -0
- package/AGENTS.md +65 -0
- package/CLAUDE.md +87 -0
- package/CONTRIBUTING.md +19 -0
- package/DEVELOPMENT.md +37 -0
- package/LICENSE +21 -0
- package/biome.json +31 -0
- package/bun.lock +152 -0
- package/cli/.cursorrules-xh86jabm.md +82 -0
- package/cli/AGENTS-xh86jabm.md +82 -0
- package/cli/CLAUDE-xh86jabm.md +82 -0
- package/cli/backlog +0 -0
- package/cli/cli.js +19622 -0
- package/cli/index.js +2 -0
- package/docs/npm-publishing.md +69 -0
- package/package.json +47 -0
- package/readme.md +97 -0
- package/scripts/build.js +73 -0
- package/src/agent-instructions.ts +54 -0
- package/src/board.ts +263 -0
- package/src/cli.ts +806 -0
- package/src/constants/index.ts +48 -0
- package/src/core/backlog.ts +183 -0
- package/src/core/remote-tasks.ts +168 -0
- package/src/file-system/operations.ts +515 -0
- package/src/git/operations.ts +189 -0
- package/src/guidelines/.cursorrules.md +82 -0
- package/src/guidelines/AGENTS.md +82 -0
- package/src/guidelines/CLAUDE.md +82 -0
- package/src/guidelines/index.ts +7 -0
- package/src/index.ts +30 -0
- package/src/markdown/parser.ts +145 -0
- package/src/markdown/serializer.ts +71 -0
- package/src/test/agent-instructions.test.ts +62 -0
- package/src/test/board.test.ts +291 -0
- package/src/test/build.test.ts +28 -0
- package/src/test/checklist.test.ts +273 -0
- package/src/test/cli.test.ts +1300 -0
- package/src/test/code-path.test.ts +204 -0
- package/src/test/core.test.ts +330 -0
- package/src/test/filesystem.test.ts +435 -0
- package/src/test/git.test.ts +26 -0
- package/src/test/heading.test.ts +102 -0
- package/src/test/line-wrapping.test.ts +252 -0
- package/src/test/local-install.test.ts +34 -0
- package/src/test/markdown.test.ts +526 -0
- package/src/test/parallel-loading.test.ts +160 -0
- package/src/test/parent-id-normalization.test.ts +48 -0
- package/src/test/remote-id-conflict.test.ts +60 -0
- package/src/test/status-icon.test.ts +93 -0
- package/src/types/blessed.d.ts +14 -0
- package/src/types/index.ts +55 -0
- package/src/types/raw.d.ts +4 -0
- package/src/ui/board.ts +322 -0
- package/src/ui/checklist.ts +103 -0
- package/src/ui/code-path.ts +113 -0
- package/src/ui/heading.ts +121 -0
- package/src/ui/loading.ts +216 -0
- package/src/ui/status-icon.ts +53 -0
- package/src/ui/task-list.ts +168 -0
- package/src/ui/task-viewer.ts +640 -0
- package/src/ui/tui.ts +301 -0
- package/tsconfig.json +26 -0
package/CLAUDE.md
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
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
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
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
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
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/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Backlog.md
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/biome.json
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
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
|
+
}
|
package/bun.lock
ADDED
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
{
|
|
2
|
+
"lockfileVersion": 1,
|
|
3
|
+
"workspaces": {
|
|
4
|
+
"": {
|
|
5
|
+
"dependencies": {
|
|
6
|
+
"blessed": "0.1.81",
|
|
7
|
+
"commander": "14.0.0",
|
|
8
|
+
"gray-matter": "4.0.3",
|
|
9
|
+
},
|
|
10
|
+
"devDependencies": {
|
|
11
|
+
"@biomejs/biome": "1.9.4",
|
|
12
|
+
"@types/bun": "1.2.15",
|
|
13
|
+
"husky": "9.1.7",
|
|
14
|
+
"lint-staged": "16.1.0",
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
"trustedDependencies": [
|
|
19
|
+
"@biomejs/biome",
|
|
20
|
+
],
|
|
21
|
+
"packages": {
|
|
22
|
+
"@biomejs/biome": ["@biomejs/biome@1.9.4", "", { "optionalDependencies": { "@biomejs/cli-darwin-arm64": "1.9.4", "@biomejs/cli-darwin-x64": "1.9.4", "@biomejs/cli-linux-arm64": "1.9.4", "@biomejs/cli-linux-arm64-musl": "1.9.4", "@biomejs/cli-linux-x64": "1.9.4", "@biomejs/cli-linux-x64-musl": "1.9.4", "@biomejs/cli-win32-arm64": "1.9.4", "@biomejs/cli-win32-x64": "1.9.4" }, "bin": { "biome": "bin/biome" } }, "sha512-1rkd7G70+o9KkTn5KLmDYXihGoTaIGO9PIIN2ZB7UJxFrWw04CZHPYiMRjYsaDvVV7hP1dYNRLxSANLaBFGpog=="],
|
|
23
|
+
|
|
24
|
+
"@biomejs/cli-darwin-arm64": ["@biomejs/cli-darwin-arm64@1.9.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-bFBsPWrNvkdKrNCYeAp+xo2HecOGPAy9WyNyB/jKnnedgzl4W4Hb9ZMzYNbf8dMCGmUdSavlYHiR01QaYR58cw=="],
|
|
25
|
+
|
|
26
|
+
"@biomejs/cli-darwin-x64": ["@biomejs/cli-darwin-x64@1.9.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-ngYBh/+bEedqkSevPVhLP4QfVPCpb+4BBe2p7Xs32dBgs7rh9nY2AIYUL6BgLw1JVXV8GlpKmb/hNiuIxfPfZg=="],
|
|
27
|
+
|
|
28
|
+
"@biomejs/cli-linux-arm64": ["@biomejs/cli-linux-arm64@1.9.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-fJIW0+LYujdjUgJJuwesP4EjIBl/N/TcOX3IvIHJQNsAqvV2CHIogsmA94BPG6jZATS4Hi+xv4SkBBQSt1N4/g=="],
|
|
29
|
+
|
|
30
|
+
"@biomejs/cli-linux-arm64-musl": ["@biomejs/cli-linux-arm64-musl@1.9.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-v665Ct9WCRjGa8+kTr0CzApU0+XXtRgwmzIf1SeKSGAv+2scAlW6JR5PMFo6FzqqZ64Po79cKODKf3/AAmECqA=="],
|
|
31
|
+
|
|
32
|
+
"@biomejs/cli-linux-x64": ["@biomejs/cli-linux-x64@1.9.4", "", { "os": "linux", "cpu": "x64" }, "sha512-lRCJv/Vi3Vlwmbd6K+oQ0KhLHMAysN8lXoCI7XeHlxaajk06u7G+UsFSO01NAs5iYuWKmVZjmiOzJ0OJmGsMwg=="],
|
|
33
|
+
|
|
34
|
+
"@biomejs/cli-linux-x64-musl": ["@biomejs/cli-linux-x64-musl@1.9.4", "", { "os": "linux", "cpu": "x64" }, "sha512-gEhi/jSBhZ2m6wjV530Yy8+fNqG8PAinM3oV7CyO+6c3CEh16Eizm21uHVsyVBEB6RIM8JHIl6AGYCv6Q6Q9Tg=="],
|
|
35
|
+
|
|
36
|
+
"@biomejs/cli-win32-arm64": ["@biomejs/cli-win32-arm64@1.9.4", "", { "os": "win32", "cpu": "arm64" }, "sha512-tlbhLk+WXZmgwoIKwHIHEBZUwxml7bRJgk0X2sPyNR3S93cdRq6XulAZRQJ17FYGGzWne0fgrXBKpl7l4M87Hg=="],
|
|
37
|
+
|
|
38
|
+
"@biomejs/cli-win32-x64": ["@biomejs/cli-win32-x64@1.9.4", "", { "os": "win32", "cpu": "x64" }, "sha512-8Y5wMhVIPaWe6jw2H+KlEm4wP/f7EW3810ZLmDlrEEy5KvBsb9ECEfu/kMWD484ijfQ8+nIi0giMgu9g1UAuuA=="],
|
|
39
|
+
|
|
40
|
+
"@types/bun": ["@types/bun@1.2.15", "", { "dependencies": { "bun-types": "1.2.15" } }, "sha512-U1ljPdBEphF0nw1MIk0hI7kPg7dFdPyM7EenHsp6W5loNHl7zqy6JQf/RKCgnUn2KDzUpkBwHPnEJEjII594bA=="],
|
|
41
|
+
|
|
42
|
+
"@types/node": ["@types/node@22.15.30", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-6Q7lr06bEHdlfplU6YRbgG1SFBdlsfNC4/lX+SkhiTs0cpJkOElmWls8PxDFv4yY/xKb8Y6SO0OmSX4wgqTZbA=="],
|
|
43
|
+
|
|
44
|
+
"ansi-escapes": ["ansi-escapes@7.0.0", "", { "dependencies": { "environment": "^1.0.0" } }, "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw=="],
|
|
45
|
+
|
|
46
|
+
"ansi-regex": ["ansi-regex@6.1.0", "", {}, "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA=="],
|
|
47
|
+
|
|
48
|
+
"ansi-styles": ["ansi-styles@6.2.1", "", {}, "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug=="],
|
|
49
|
+
|
|
50
|
+
"argparse": ["argparse@1.0.10", "", { "dependencies": { "sprintf-js": "~1.0.2" } }, "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="],
|
|
51
|
+
|
|
52
|
+
"blessed": ["blessed@0.1.81", "", { "bin": { "blessed": "./bin/tput.js" } }, "sha512-LoF5gae+hlmfORcG1M5+5XZi4LBmvlXTzwJWzUlPryN/SJdSflZvROM2TwkT0GMpq7oqT48NRd4GS7BiVBc5OQ=="],
|
|
53
|
+
|
|
54
|
+
"braces": ["braces@3.0.3", "", { "dependencies": { "fill-range": "^7.1.1" } }, "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA=="],
|
|
55
|
+
|
|
56
|
+
"bun-types": ["bun-types@1.2.15", "", { "dependencies": { "@types/node": "*" } }, "sha512-NarRIaS+iOaQU1JPfyKhZm4AsUOrwUOqRNHY0XxI8GI8jYxiLXLcdjYMG9UKS+fwWasc1uw1htV9AX24dD+p4w=="],
|
|
57
|
+
|
|
58
|
+
"chalk": ["chalk@5.4.1", "", {}, "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w=="],
|
|
59
|
+
|
|
60
|
+
"cli-cursor": ["cli-cursor@5.0.0", "", { "dependencies": { "restore-cursor": "^5.0.0" } }, "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw=="],
|
|
61
|
+
|
|
62
|
+
"cli-truncate": ["cli-truncate@4.0.0", "", { "dependencies": { "slice-ansi": "^5.0.0", "string-width": "^7.0.0" } }, "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA=="],
|
|
63
|
+
|
|
64
|
+
"colorette": ["colorette@2.0.20", "", {}, "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w=="],
|
|
65
|
+
|
|
66
|
+
"commander": ["commander@14.0.0", "", {}, "sha512-2uM9rYjPvyq39NwLRqaiLtWHyDC1FvryJDa2ATTVims5YAS4PupsEQsDvP14FqhFr0P49CYDugi59xaxJlTXRA=="],
|
|
67
|
+
|
|
68
|
+
"debug": ["debug@4.4.1", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ=="],
|
|
69
|
+
|
|
70
|
+
"emoji-regex": ["emoji-regex@10.4.0", "", {}, "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw=="],
|
|
71
|
+
|
|
72
|
+
"environment": ["environment@1.1.0", "", {}, "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q=="],
|
|
73
|
+
|
|
74
|
+
"esprima": ["esprima@4.0.1", "", { "bin": { "esparse": "./bin/esparse.js", "esvalidate": "./bin/esvalidate.js" } }, "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="],
|
|
75
|
+
|
|
76
|
+
"eventemitter3": ["eventemitter3@5.0.1", "", {}, "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA=="],
|
|
77
|
+
|
|
78
|
+
"extend-shallow": ["extend-shallow@2.0.1", "", { "dependencies": { "is-extendable": "^0.1.0" } }, "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug=="],
|
|
79
|
+
|
|
80
|
+
"fill-range": ["fill-range@7.1.1", "", { "dependencies": { "to-regex-range": "^5.0.1" } }, "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg=="],
|
|
81
|
+
|
|
82
|
+
"get-east-asian-width": ["get-east-asian-width@1.3.0", "", {}, "sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ=="],
|
|
83
|
+
|
|
84
|
+
"gray-matter": ["gray-matter@4.0.3", "", { "dependencies": { "js-yaml": "^3.13.1", "kind-of": "^6.0.2", "section-matter": "^1.0.0", "strip-bom-string": "^1.0.0" } }, "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q=="],
|
|
85
|
+
|
|
86
|
+
"husky": ["husky@9.1.7", "", { "bin": { "husky": "bin.js" } }, "sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA=="],
|
|
87
|
+
|
|
88
|
+
"is-extendable": ["is-extendable@0.1.1", "", {}, "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw=="],
|
|
89
|
+
|
|
90
|
+
"is-fullwidth-code-point": ["is-fullwidth-code-point@4.0.0", "", {}, "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ=="],
|
|
91
|
+
|
|
92
|
+
"is-number": ["is-number@7.0.0", "", {}, "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="],
|
|
93
|
+
|
|
94
|
+
"js-yaml": ["js-yaml@3.14.1", "", { "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g=="],
|
|
95
|
+
|
|
96
|
+
"kind-of": ["kind-of@6.0.3", "", {}, "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="],
|
|
97
|
+
|
|
98
|
+
"lilconfig": ["lilconfig@3.1.3", "", {}, "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw=="],
|
|
99
|
+
|
|
100
|
+
"lint-staged": ["lint-staged@16.1.0", "", { "dependencies": { "chalk": "^5.4.1", "commander": "^14.0.0", "debug": "^4.4.1", "lilconfig": "^3.1.3", "listr2": "^8.3.3", "micromatch": "^4.0.8", "nano-spawn": "^1.0.2", "pidtree": "^0.6.0", "string-argv": "^0.3.2", "yaml": "^2.8.0" }, "bin": { "lint-staged": "bin/lint-staged.js" } }, "sha512-HkpQh69XHxgCjObjejBT3s2ILwNjFx8M3nw+tJ/ssBauDlIpkx2RpqWSi1fBgkXLSSXnbR3iEq1NkVtpvV+FLQ=="],
|
|
101
|
+
|
|
102
|
+
"listr2": ["listr2@8.3.3", "", { "dependencies": { "cli-truncate": "^4.0.0", "colorette": "^2.0.20", "eventemitter3": "^5.0.1", "log-update": "^6.1.0", "rfdc": "^1.4.1", "wrap-ansi": "^9.0.0" } }, "sha512-LWzX2KsqcB1wqQ4AHgYb4RsDXauQiqhjLk+6hjbaeHG4zpjjVAB6wC/gz6X0l+Du1cN3pUB5ZlrvTbhGSNnUQQ=="],
|
|
103
|
+
|
|
104
|
+
"log-update": ["log-update@6.1.0", "", { "dependencies": { "ansi-escapes": "^7.0.0", "cli-cursor": "^5.0.0", "slice-ansi": "^7.1.0", "strip-ansi": "^7.1.0", "wrap-ansi": "^9.0.0" } }, "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w=="],
|
|
105
|
+
|
|
106
|
+
"micromatch": ["micromatch@4.0.8", "", { "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" } }, "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA=="],
|
|
107
|
+
|
|
108
|
+
"mimic-function": ["mimic-function@5.0.1", "", {}, "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA=="],
|
|
109
|
+
|
|
110
|
+
"ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="],
|
|
111
|
+
|
|
112
|
+
"nano-spawn": ["nano-spawn@1.0.2", "", {}, "sha512-21t+ozMQDAL/UGgQVBbZ/xXvNO10++ZPuTmKRO8k9V3AClVRht49ahtDjfY8l1q6nSHOrE5ASfthzH3ol6R/hg=="],
|
|
113
|
+
|
|
114
|
+
"onetime": ["onetime@7.0.0", "", { "dependencies": { "mimic-function": "^5.0.0" } }, "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ=="],
|
|
115
|
+
|
|
116
|
+
"picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="],
|
|
117
|
+
|
|
118
|
+
"pidtree": ["pidtree@0.6.0", "", { "bin": { "pidtree": "bin/pidtree.js" } }, "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g=="],
|
|
119
|
+
|
|
120
|
+
"restore-cursor": ["restore-cursor@5.1.0", "", { "dependencies": { "onetime": "^7.0.0", "signal-exit": "^4.1.0" } }, "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA=="],
|
|
121
|
+
|
|
122
|
+
"rfdc": ["rfdc@1.4.1", "", {}, "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA=="],
|
|
123
|
+
|
|
124
|
+
"section-matter": ["section-matter@1.0.0", "", { "dependencies": { "extend-shallow": "^2.0.1", "kind-of": "^6.0.0" } }, "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA=="],
|
|
125
|
+
|
|
126
|
+
"signal-exit": ["signal-exit@4.1.0", "", {}, "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="],
|
|
127
|
+
|
|
128
|
+
"slice-ansi": ["slice-ansi@5.0.0", "", { "dependencies": { "ansi-styles": "^6.0.0", "is-fullwidth-code-point": "^4.0.0" } }, "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ=="],
|
|
129
|
+
|
|
130
|
+
"sprintf-js": ["sprintf-js@1.0.3", "", {}, "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g=="],
|
|
131
|
+
|
|
132
|
+
"string-argv": ["string-argv@0.3.2", "", {}, "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q=="],
|
|
133
|
+
|
|
134
|
+
"string-width": ["string-width@7.2.0", "", { "dependencies": { "emoji-regex": "^10.3.0", "get-east-asian-width": "^1.0.0", "strip-ansi": "^7.1.0" } }, "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ=="],
|
|
135
|
+
|
|
136
|
+
"strip-ansi": ["strip-ansi@7.1.0", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ=="],
|
|
137
|
+
|
|
138
|
+
"strip-bom-string": ["strip-bom-string@1.0.0", "", {}, "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g=="],
|
|
139
|
+
|
|
140
|
+
"to-regex-range": ["to-regex-range@5.0.1", "", { "dependencies": { "is-number": "^7.0.0" } }, "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="],
|
|
141
|
+
|
|
142
|
+
"undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="],
|
|
143
|
+
|
|
144
|
+
"wrap-ansi": ["wrap-ansi@9.0.0", "", { "dependencies": { "ansi-styles": "^6.2.1", "string-width": "^7.0.0", "strip-ansi": "^7.1.0" } }, "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q=="],
|
|
145
|
+
|
|
146
|
+
"yaml": ["yaml@2.8.0", "", { "bin": { "yaml": "bin.mjs" } }, "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ=="],
|
|
147
|
+
|
|
148
|
+
"log-update/slice-ansi": ["slice-ansi@7.1.0", "", { "dependencies": { "ansi-styles": "^6.2.1", "is-fullwidth-code-point": "^5.0.0" } }, "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg=="],
|
|
149
|
+
|
|
150
|
+
"log-update/slice-ansi/is-fullwidth-code-point": ["is-fullwidth-code-point@5.0.0", "", { "dependencies": { "get-east-asian-width": "^1.0.0" } }, "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA=="],
|
|
151
|
+
}
|
|
152
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# AI Agent Guidelines
|
|
2
|
+
|
|
3
|
+
*How to collaborate on Backlog.md–driven projects*
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 1. Source of Truth
|
|
8
|
+
- Tasks live under **`.backlog/tasks/`** (drafts under **`.backlog/drafts/`**).
|
|
9
|
+
- Every implementation decision starts with reading the corresponding Markdown task file.
|
|
10
|
+
|
|
11
|
+
## 2. Typical Workflow
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# 1 Identify work
|
|
15
|
+
backlog task list --status "To Do"
|
|
16
|
+
|
|
17
|
+
# 2 Read details
|
|
18
|
+
backlog task view 42
|
|
19
|
+
|
|
20
|
+
# 3 Start work: assign yourself & move column
|
|
21
|
+
backlog task edit 42 -a @ai-bot -s "In Progress"
|
|
22
|
+
|
|
23
|
+
# 4 Break work down if needed
|
|
24
|
+
backlog task create "Refactor DB layer" --parent 42 -a @ai-bot
|
|
25
|
+
|
|
26
|
+
# 5 Complete and mark Done
|
|
27
|
+
backlog task edit 42 -s Done
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## 3. Definition of Done (DOD)
|
|
31
|
+
|
|
32
|
+
A task is **Done** only when **all** of the following hold:
|
|
33
|
+
|
|
34
|
+
1. **Acceptance criteria** checklist in the task file is fully checked.
|
|
35
|
+
2. **Automated tests** (unit + integration) cover new logic and CI passes.
|
|
36
|
+
3. **Static analysis**: linter & formatter succeed (when available).
|
|
37
|
+
4. **Documentation**:
|
|
38
|
+
- Docs updated.
|
|
39
|
+
- Task file appended with a `## Implementation Notes` section summarising approach, trade‑offs and follow‑ups.
|
|
40
|
+
5. **Review**: code reviewed.
|
|
41
|
+
6. **Task hygiene**: status set to **Done** via CLI.
|
|
42
|
+
7. **No regressions**: performance, security and licence checks green.
|
|
43
|
+
|
|
44
|
+
## 4. Recommended Task Anatomy
|
|
45
|
+
|
|
46
|
+
```markdown
|
|
47
|
+
# task‑42 - Add GraphQL resolver
|
|
48
|
+
|
|
49
|
+
## Description
|
|
50
|
+
Short, imperative explanation of the work.
|
|
51
|
+
|
|
52
|
+
## Acceptance Criteria
|
|
53
|
+
- [ ] Resolver returns correct data for happy path
|
|
54
|
+
- [ ] Error response matches REST
|
|
55
|
+
- [ ] P95 latency ≤ 50 ms under 100 RPS
|
|
56
|
+
|
|
57
|
+
## Implementation Notes (only added after working on the task)
|
|
58
|
+
*Created by @ai-bot on 2025‑06‑13*
|
|
59
|
+
|
|
60
|
+
- Added `src/graphql/resolvers/user.ts`
|
|
61
|
+
- Considered DataLoader but deferred
|
|
62
|
+
- Follow‑up: integrate cache layer
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## 5. Handy CLI Commands
|
|
66
|
+
|
|
67
|
+
| Purpose | Command |
|
|
68
|
+
|---------|---------|
|
|
69
|
+
| Create task | `backlog task create "Add OAuth"` |
|
|
70
|
+
| Create sub task | `backlog task create --parent 14 "Add Google auth"` |
|
|
71
|
+
| List tasks | `backlog task list` |
|
|
72
|
+
| View detail | `backlog task 7` |
|
|
73
|
+
| Edit | `backlog task edit 7 -a @sara -l auth,backend` |
|
|
74
|
+
| Archive | `backlog task archive 7` |
|
|
75
|
+
| Draft flow | `backlog draft create "Spike GraphQL"` → `backlog draft promote 3.1` |
|
|
76
|
+
| Demote to draft| `backlog task demote <id>` |
|
|
77
|
+
|
|
78
|
+
## 6. Tips for AI Agents
|
|
79
|
+
- Keep tasks **small, atomic, and testable**; create subtasks liberally.
|
|
80
|
+
- Prefer **idempotent** changes so reruns remain safe.
|
|
81
|
+
- Leave **breadcrumbs** in `## Implementation Notes`; humans may continue your thread.
|
|
82
|
+
- If uncertain, **draft a new task** describing the ambiguity rather than guessing.
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# AI Agent Guidelines
|
|
2
|
+
|
|
3
|
+
*How to collaborate on Backlog.md–driven projects*
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 1. Source of Truth
|
|
8
|
+
- Tasks live under **`.backlog/tasks/`** (drafts under **`.backlog/drafts/`**).
|
|
9
|
+
- Every implementation decision starts with reading the corresponding Markdown task file.
|
|
10
|
+
|
|
11
|
+
## 2. Typical Workflow
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# 1 Identify work
|
|
15
|
+
backlog task list --status "To Do"
|
|
16
|
+
|
|
17
|
+
# 2 Read details
|
|
18
|
+
backlog task view 42
|
|
19
|
+
|
|
20
|
+
# 3 Start work: assign yourself & move column
|
|
21
|
+
backlog task edit 42 -a @ai-bot -s "In Progress"
|
|
22
|
+
|
|
23
|
+
# 4 Break work down if needed
|
|
24
|
+
backlog task create "Refactor DB layer" --parent 42 -a @ai-bot
|
|
25
|
+
|
|
26
|
+
# 5 Complete and mark Done
|
|
27
|
+
backlog task edit 42 -s Done
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## 3. Definition of Done (DOD)
|
|
31
|
+
|
|
32
|
+
A task is **Done** only when **all** of the following hold:
|
|
33
|
+
|
|
34
|
+
1. **Acceptance criteria** checklist in the task file is fully checked.
|
|
35
|
+
2. **Automated tests** (unit + integration) cover new logic and CI passes.
|
|
36
|
+
3. **Static analysis**: linter & formatter succeed (when available).
|
|
37
|
+
4. **Documentation**:
|
|
38
|
+
- Docs updated.
|
|
39
|
+
- Task file appended with a `## Implementation Notes` section summarising approach, trade‑offs and follow‑ups.
|
|
40
|
+
5. **Review**: code reviewed.
|
|
41
|
+
6. **Task hygiene**: status set to **Done** via CLI.
|
|
42
|
+
7. **No regressions**: performance, security and licence checks green.
|
|
43
|
+
|
|
44
|
+
## 4. Recommended Task Anatomy
|
|
45
|
+
|
|
46
|
+
```markdown
|
|
47
|
+
# task‑42 - Add GraphQL resolver
|
|
48
|
+
|
|
49
|
+
## Description
|
|
50
|
+
Short, imperative explanation of the work.
|
|
51
|
+
|
|
52
|
+
## Acceptance Criteria
|
|
53
|
+
- [ ] Resolver returns correct data for happy path
|
|
54
|
+
- [ ] Error response matches REST
|
|
55
|
+
- [ ] P95 latency ≤ 50 ms under 100 RPS
|
|
56
|
+
|
|
57
|
+
## Implementation Notes (only added after working on the task)
|
|
58
|
+
*Created by @ai-bot on 2025‑06‑13*
|
|
59
|
+
|
|
60
|
+
- Added `src/graphql/resolvers/user.ts`
|
|
61
|
+
- Considered DataLoader but deferred
|
|
62
|
+
- Follow‑up: integrate cache layer
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## 5. Handy CLI Commands
|
|
66
|
+
|
|
67
|
+
| Purpose | Command |
|
|
68
|
+
|---------|---------|
|
|
69
|
+
| Create task | `backlog task create "Add OAuth"` |
|
|
70
|
+
| Create sub task | `backlog task create --parent 14 "Add Google auth"` |
|
|
71
|
+
| List tasks | `backlog task list` |
|
|
72
|
+
| View detail | `backlog task 7` |
|
|
73
|
+
| Edit | `backlog task edit 7 -a @sara -l auth,backend` |
|
|
74
|
+
| Archive | `backlog task archive 7` |
|
|
75
|
+
| Draft flow | `backlog draft create "Spike GraphQL"` → `backlog draft promote 3.1` |
|
|
76
|
+
| Demote to draft| `backlog task demote <id>` |
|
|
77
|
+
|
|
78
|
+
## 6. Tips for AI Agents
|
|
79
|
+
- Keep tasks **small, atomic, and testable**; create subtasks liberally.
|
|
80
|
+
- Prefer **idempotent** changes so reruns remain safe.
|
|
81
|
+
- Leave **breadcrumbs** in `## Implementation Notes`; humans may continue your thread.
|
|
82
|
+
- If uncertain, **draft a new task** describing the ambiguity rather than guessing.
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# AI Agent Guidelines
|
|
2
|
+
|
|
3
|
+
*How to collaborate on Backlog.md–driven projects*
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 1. Source of Truth
|
|
8
|
+
- Tasks live under **`.backlog/tasks/`** (drafts under **`.backlog/drafts/`**).
|
|
9
|
+
- Every implementation decision starts with reading the corresponding Markdown task file.
|
|
10
|
+
|
|
11
|
+
## 2. Typical Workflow
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# 1 Identify work
|
|
15
|
+
backlog task list --status "To Do"
|
|
16
|
+
|
|
17
|
+
# 2 Read details
|
|
18
|
+
backlog task view 42
|
|
19
|
+
|
|
20
|
+
# 3 Start work: assign yourself & move column
|
|
21
|
+
backlog task edit 42 -a @ai-bot -s "In Progress"
|
|
22
|
+
|
|
23
|
+
# 4 Break work down if needed
|
|
24
|
+
backlog task create "Refactor DB layer" --parent 42 -a @ai-bot
|
|
25
|
+
|
|
26
|
+
# 5 Complete and mark Done
|
|
27
|
+
backlog task edit 42 -s Done
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## 3. Definition of Done (DOD)
|
|
31
|
+
|
|
32
|
+
A task is **Done** only when **all** of the following hold:
|
|
33
|
+
|
|
34
|
+
1. **Acceptance criteria** checklist in the task file is fully checked.
|
|
35
|
+
2. **Automated tests** (unit + integration) cover new logic and CI passes.
|
|
36
|
+
3. **Static analysis**: linter & formatter succeed (when available).
|
|
37
|
+
4. **Documentation**:
|
|
38
|
+
- Docs updated.
|
|
39
|
+
- Task file appended with a `## Implementation Notes` section summarising approach, trade‑offs and follow‑ups.
|
|
40
|
+
5. **Review**: code reviewed.
|
|
41
|
+
6. **Task hygiene**: status set to **Done** via CLI.
|
|
42
|
+
7. **No regressions**: performance, security and licence checks green.
|
|
43
|
+
|
|
44
|
+
## 4. Recommended Task Anatomy
|
|
45
|
+
|
|
46
|
+
```markdown
|
|
47
|
+
# task‑42 - Add GraphQL resolver
|
|
48
|
+
|
|
49
|
+
## Description
|
|
50
|
+
Short, imperative explanation of the work.
|
|
51
|
+
|
|
52
|
+
## Acceptance Criteria
|
|
53
|
+
- [ ] Resolver returns correct data for happy path
|
|
54
|
+
- [ ] Error response matches REST
|
|
55
|
+
- [ ] P95 latency ≤ 50 ms under 100 RPS
|
|
56
|
+
|
|
57
|
+
## Implementation Notes (only added after working on the task)
|
|
58
|
+
*Created by @ai-bot on 2025‑06‑13*
|
|
59
|
+
|
|
60
|
+
- Added `src/graphql/resolvers/user.ts`
|
|
61
|
+
- Considered DataLoader but deferred
|
|
62
|
+
- Follow‑up: integrate cache layer
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## 5. Handy CLI Commands
|
|
66
|
+
|
|
67
|
+
| Purpose | Command |
|
|
68
|
+
|---------|---------|
|
|
69
|
+
| Create task | `backlog task create "Add OAuth"` |
|
|
70
|
+
| Create sub task | `backlog task create --parent 14 "Add Google auth"` |
|
|
71
|
+
| List tasks | `backlog task list` |
|
|
72
|
+
| View detail | `backlog task 7` |
|
|
73
|
+
| Edit | `backlog task edit 7 -a @sara -l auth,backend` |
|
|
74
|
+
| Archive | `backlog task archive 7` |
|
|
75
|
+
| Draft flow | `backlog draft create "Spike GraphQL"` → `backlog draft promote 3.1` |
|
|
76
|
+
| Demote to draft| `backlog task demote <id>` |
|
|
77
|
+
|
|
78
|
+
## 6. Tips for AI Agents
|
|
79
|
+
- Keep tasks **small, atomic, and testable**; create subtasks liberally.
|
|
80
|
+
- Prefer **idempotent** changes so reruns remain safe.
|
|
81
|
+
- Leave **breadcrumbs** in `## Implementation Notes`; humans may continue your thread.
|
|
82
|
+
- If uncertain, **draft a new task** describing the ambiguity rather than guessing.
|
package/cli/backlog
ADDED
|
Binary file
|