@dennisrongo/dsh-todo 0.4.1 → 0.5.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/README.md +46 -0
- package/lib/bin.js +2 -0
- package/lib/cli.js +2 -0
- package/lib/client.js +152 -10
- package/lib/index.js +412 -8
- package/lib/scan.js +276 -0
- package/lib/suggest.js +93 -0
- package/lib/typert.host.js +58 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -65,6 +65,12 @@ next to the code it describes.
|
|
|
65
65
|
description and labels, reorder (▲/▼), archive, and delete. Release and sprint
|
|
66
66
|
inputs suggest labels already in use, so values converge on a shared
|
|
67
67
|
vocabulary without a releases table to administer.
|
|
68
|
+
- **Suggest** — a button in the tab header scans the workspace and proposes
|
|
69
|
+
concrete next tasks: unresolved `TODO`/`FIXME`/`HACK` comments, features the
|
|
70
|
+
docs promise but the code does not implement, and modules with no tests. Each
|
|
71
|
+
proposal comes with a one-line rationale, a priority, and a `file:line`
|
|
72
|
+
pointer where one exists. Tick the ones you want and **Add selected** files
|
|
73
|
+
them into the backlog. Never automatic — it runs only when you click it.
|
|
68
74
|
- **Themed** — colors come only from the shell's `--dsw-*` tokens, so it follows
|
|
69
75
|
light/dark automatically. Respects `prefers-reduced-motion`.
|
|
70
76
|
|
|
@@ -179,6 +185,46 @@ swallow a move.
|
|
|
179
185
|
`clearCompleted` (hard delete of done items) is still exported for callers that
|
|
180
186
|
want it, but it is no longer wired to a button.
|
|
181
187
|
|
|
188
|
+
## Suggest — what to work on next
|
|
189
|
+
|
|
190
|
+
The list holds work someone already thought of. Deciding what to do *next*
|
|
191
|
+
usually happens somewhere else — reading the code and noticing what is missing.
|
|
192
|
+
**Suggest**, in the tab header, moves that into the tab.
|
|
193
|
+
|
|
194
|
+
Clicking it reads the workspace and proposes concrete tasks from three kinds of
|
|
195
|
+
evidence:
|
|
196
|
+
|
|
197
|
+
- **Unresolved comments** — `TODO`, `FIXME` and `HACK`, with the file and line.
|
|
198
|
+
- **Docs-vs-implementation gaps** — the README and the file tree together, so
|
|
199
|
+
what is promised but absent has somewhere to show up.
|
|
200
|
+
- **Untested modules** — source files with no matching test file. A name-based
|
|
201
|
+
hint rather than a coverage run, so it is offered as a hint.
|
|
202
|
+
|
|
203
|
+
Each suggestion arrives as a checkbox row: a title, a one-line rationale, a
|
|
204
|
+
priority, and a `file:line` pointer where there is one to give. Nothing is
|
|
205
|
+
ticked by default — you opted into scanning, not into the results. **Add
|
|
206
|
+
selected** writes the ticked rows into the backlog as real tasks, with the
|
|
207
|
+
rationale as the description. Until then they are **proposals**: nothing is
|
|
208
|
+
stored, and closing the dialog discards them.
|
|
209
|
+
|
|
210
|
+
**Refresh returns genuinely new ideas, not a reshuffle.** Every title already
|
|
211
|
+
shown joins the exclusion set, alongside every unfinished task already in the
|
|
212
|
+
backlog, so the scan is told what not to repeat. Rows you have already ticked
|
|
213
|
+
survive a refresh — the selection is yours, not the model's.
|
|
214
|
+
|
|
215
|
+
> **A scan spends tokens.** It runs a real model session in the background —
|
|
216
|
+
> created, prompted, and archived when the scan finishes or you close the
|
|
217
|
+
> dialog; it never appears in the sidebar and is never navigated to. Nothing is
|
|
218
|
+
> scheduled and nothing is automatic: a scan happens when you click **Suggest**
|
|
219
|
+
> or **Refresh**, and only then.
|
|
220
|
+
|
|
221
|
+
What is sent is a **bounded digest**, not the repository: a capped file tree, a
|
|
222
|
+
capped list of comment matches one line each, and a leading slice of the README
|
|
223
|
+
and `package.json`. Vendored and generated directories (`node_modules`, `lib`,
|
|
224
|
+
`dist`, `vendor`, `target` and the rest) never enter it. Anything left out is
|
|
225
|
+
marked in the digest rather than dropped quietly, so a big repository yields a
|
|
226
|
+
smaller scan rather than a confident one about code it never read.
|
|
227
|
+
|
|
182
228
|
## CLI — for you and for AI agents
|
|
183
229
|
|
|
184
230
|
The same list is reachable from a terminal, so an agent can shell out and manage your tasks
|
package/lib/bin.js
CHANGED
package/lib/cli.js
CHANGED