From 75d605fabeb6b2cd928da5a56ad0a24bcdbc0cca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= Date: Tue, 8 Sep 2026 11:42:46 +0200 Subject: [PATCH] :memo: Add backlog.tasks template and format rules Introduce backlog.tasks, a project backlog in vscode-todotasks format (not Markdown), seeded as a reusable template: Setup, v1.0, Bugs, Enhancements, Documentation and Maintenance projects, with the implementation tasks to be filled in later. Document the format in AGENTS.md so agents can read and update the file, recommend sandy081.todotasks in .vscode/extensions.json, and whitelist "todotasks" for cspell, which both new mentions otherwise fail. The branch, review and release policy is deliberately not asserted here: it is unsettled, so it is tracked as a task-group under Setup and AGENTS.md tells agents to take branch and merge instructions from the user until that work is documented. --- .vscode/extensions.json | 3 ++- AGENTS.md | 6 ++++++ backlog.tasks | 44 +++++++++++++++++++++++++++++++++++++++++ cspell.json | 3 ++- 4 files changed, 54 insertions(+), 2 deletions(-) create mode 100644 backlog.tasks diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 4bb5bd0..7b553a3 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -2,6 +2,7 @@ "recommendations": [ "oxc.oxc-vscode", "streetsidesoftware.code-spell-checker", - "typescriptteam.native-preview" + "typescriptteam.native-preview", + "sandy081.todotasks" ] } diff --git a/AGENTS.md b/AGENTS.md index 79fd6f8..ef54937 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -32,6 +32,12 @@ The same applies to the checks themselves: **never `git commit --no-verify`** (o Never start a long-lived / blocking process such as `npm run watch`. It runs until a human stops it with Ctrl-C, so in an agent turn it hangs forever and floods the context with continuous output. Reach for a one-shot command instead — `npm run test` (or `npm run check`) — to get feedback. +## Backlog + +`backlog.tasks` uses the vscode-todotasks format (not Markdown). A line ending in `:` is a project; every other line is a task. Status glyphs: `☐` open, `✔` done, `✘` cancelled; subtasks nest by indentation. Inline `@tags` carry metadata — `@done` / `@cancelled` mark completion, `@critical` / `@high` / `@low` / `@today` set priority. The `(…)` timestamp after `@done` is editor-generated: omit it when checking off by hand. + +How a backlog task maps onto branches, review and release is **not yet settled** — see the branching-model task-group in `backlog.tasks`. Until that is documented, take branch and merge instructions from the user rather than inferring them. + ## Read these - [CONTRIBUTING.md § Rules the tools don't enforce](./CONTRIBUTING.md#rules-the-tools-dont-enforce) — the constraints the linters don't catch; CI/review bounce these. **The most important section.** diff --git a/backlog.tasks b/backlog.tasks new file mode 100644 index 0000000..c65c759 --- /dev/null +++ b/backlog.tasks @@ -0,0 +1,44 @@ +Tasks + +Backlog and tracking for tiny-pattern-ts. Managed in vscode-todotasks format. + +--- + +Setup: +☐ Add gitea actions, blocked by missing runner => pi --session 01a06e72-e61e-7327-b3e9-3e11749a523f @high +☐ Add gitea release page in CI @high +☐ Split off template into separate package => pi --session 01a07dde-7050-7054-bb36-1606d7eb2bc3 @high +☐ Document branching model @critical + ☐ Describe branching model: when to branch, base branch, naming + ☐ Clarify release workflow: who pushes `main`, CI as post-merge gate, drop PR usage + +v1.0: +☐ API surface is stable and fully typed + ☐ Finalize public exports in `src/index.ts` + ☐ Document all exported types and functions + ☐ Add JSDoc for public APIs +☐ Test coverage meets threshold + ☐ Achieve 100% branch coverage on `src/pattern.ts` + ☐ Achieve 100% branch coverage on `src/match.ts` + ☐ Achieve 100% branch coverage on `src/index.ts` +☐ `dist/` output is clean + ☐ Verify `.d.ts` declarations match public exports + ☐ Ensure `.js` files use `.js` extensions (not `.ts`) + ☐ Test `attw --profile esm-only` passes + +Bugs: + +Enhancements: + +Documentation: +☐ Add usage examples to README.md +☐ Create `examples/` directory with runnable snippets +☐ Add comparison section vs. other TS pattern-matching libs +☐ Write migration guide for users coming from discriminated unions +☐ Create backlog tasks for implementation + +Maintenance: +✔ Set up lefthook pre-commit hook @done (9/8/2026, 10:52:56 AM) +✔ Configure tsconfig strictest + node26 profiles @done (9/8/2026, 10:08:37 AM) +✔ Add check:tsc as first tier in `npm run check` @done (9/8/2026, 10:08:37 AM) +✔ Pin Node.js >= 26 via `.node-version` @done (9/8/2026, 10:08:38 AM) diff --git a/cspell.json b/cspell.json index 9b6789b..076b536 100644 --- a/cspell.json +++ b/cspell.json @@ -29,7 +29,8 @@ "kacl", "bestikk", "silverwind", - "idris" + "idris", + "todotasks" ], "ignorePaths": ["dist", "node_modules", "coverage", "*.svg", ".gitignore"] }