Commit Graph

12 Commits (a18246363e925ca94c433dfd975a91c0d9a6b7ea)

Author SHA1 Message Date
Marcus 81f719ac2a implement Phase 1 + 2: idempotent link, apply command, and install script
- Rewrite cmd/link.go with safe idempotent logic: skips correct symlinks,
  backs up real files to .dotctl.bak, respects --overwrite and --no-backup
- Add cmd/apply.go: new bootstrap command that clones or pulls a dotfiles
  repo then runs the idempotent link logic with a summary
- Add --overwrite and --no-backup persistent flags to root command
- Remove unstable cmd/sync.go
- Fix cmd/init.go gitignore to not exclude dotctl/config.yml (required
  for apply to work on fresh machines)
- Add install.sh: detects OS/arch, downloads binary from GitHub releases,
  optionally runs dotctl apply <url>
- Update README with Quick Start section covering both bootstrap methods
- Rewrite test/link_test.go with 10 real-filesystem idempotency tests
- Add test/apply_test.go with 5 tests covering dry-run, linking, and
  idempotency
- Fix pre-existing TestInitCommand failure (missing MemMapFs setup)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
4 weeks ago
Marcus 5105cdf5cb update add command to link files automatically and deal with relative paths 1 year ago
Marcus Kok a135494bbc
apply go formatting (#41) 2 years ago
Marcus Kok 1ac0ee3ac9
remove leading '.' in file if adding to the config (#31) 2 years ago
Marcus Kok 7d4634ff92
support adding single files to config (#26) 2 years ago
Marcus Kok 3a6284e45e
add status command (#25)
* add status command

* new memmapfs on tests

* fixing all tests
2 years ago
Marcus Kok e5f82cb724
only copy on confirm (#23) 2 years ago
Marcus Kok d5b8970279
add stuff (#20)
* add ability to view list of linked configs

* hide password in input for sync command

* confirm overwrite existing configs when adding
2 years ago
Marcus Kok 0b042d8637
make links a map in config (#19)
* make links a map in config
2 years ago
Marcus Kok 16051e8645
renaming to dotctl (#16) 2 years ago
Marcus Kok 9ef61b2626
Work (#13)
* use config for dotfile path, add some makefile scripts

* update README

* add unit test for link command

* fixing ci
2 years ago
Marcus Kok 2060833611
add add command (#12) 2 years ago