Skip to content

Simplify Spec resolution and add track/untrack commands - #55

Merged
dreikanter merged 4 commits into
mainfrom
rename-spec-fields
May 27, 2026
Merged

Simplify Spec resolution and add track/untrack commands#55
dreikanter merged 4 commits into
mainfrom
rename-spec-fields

Conversation

@dreikanter

@dreikanter dreikanter commented May 27, 2026

Copy link
Copy Markdown
Owner

Summary

  • Rename Spec.LiveRoot/SavedRoot to LivePath/SavedPath — the "Root" suffix was misleading for single-file specs
  • Make directory classification manifest-driven: a trailing / is now the sole signal for directory-ness; disk inference is removed. Mismatches (dir without slash, file with slash) are now explicit errors in save, install, and status
  • Simplify resolveTool: drop the intermediate item struct and dead original field, rename containers to anchors, reduce to a clean two-pass pure function
  • Add dotfiles track --tool <name> <path> to add a path to the manifest (must exist on disk; directories detected automatically)
  • Add dotfiles untrack --tool <name> <path> to remove a path from the manifest, with --purge to also delete the saved copy
  • Add SaveManifest, Expand, and ManifestPath to the dotfiles package
  • Bump to 0.2.0 (breaking: trailing slash now required for directory entries)

@dreikanter
dreikanter force-pushed the rename-spec-fields branch from 90e0c66 to 4945031 Compare May 27, 2026 20:06
@dreikanter
dreikanter merged commit 6d0666b into main May 27, 2026
4 checks passed
@dreikanter
dreikanter deleted the rename-spec-fields branch May 27, 2026 20:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants