docs: Add specs and tasks for previously scoped work in todo.md
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
---
|
||||
spec: dot-setup-folders
|
||||
blocked-by: 0006-setup-dispatcher-and-folders-core
|
||||
---
|
||||
|
||||
## What to build
|
||||
|
||||
Extend `dot setup folders`'s migration so a legacy folder found non-empty
|
||||
(any entry at all, including a stray dotfile or KDE metadata like a
|
||||
`.directory` file, counts as non-empty) stops and prints what would be moved,
|
||||
then refuses to proceed unless an explicit `--yes` flag was passed on the
|
||||
command line — no interactive prompt. With `--yes`, the migration proceeds
|
||||
for that folder the same way the empty-folder path already does.
|
||||
|
||||
This applies uniformly across all 8 mapped categories, including the nested
|
||||
`Pictures/Screenshots→pic/screenshots` rename from the prior slice: a
|
||||
non-empty `Screenshots` folder is also gated behind the same confirmation
|
||||
rule.
|
||||
|
||||
## Acceptance criteria
|
||||
|
||||
- [ ] A legacy folder with real content (a real file, not just an empty
|
||||
directory) refuses to migrate without `--yes`, prints what would have
|
||||
been moved, and leaves the folder and its contents untouched
|
||||
- [ ] The same legacy folder migrates successfully when `--yes` is passed
|
||||
- [ ] A legacy folder containing only a stray dotfile/metadata file (e.g. a
|
||||
fake `.directory`) is still treated as non-empty and triggers the same
|
||||
confirmation gate
|
||||
- [ ] `~/.config/dot/tests/dot.fish` covers the above cases and
|
||||
`fishtape ~/.config/dot/tests/dot.fish` passes
|
||||
Reference in New Issue
Block a user