Skip to content

Comments

Implement dotfiles CLI#2

Open
virtualian wants to merge 4 commits intomainfrom
01-implement-dotfiles-cli
Open

Implement dotfiles CLI#2
virtualian wants to merge 4 commits intomainfrom
01-implement-dotfiles-cli

Conversation

@virtualian
Copy link
Owner

@virtualian virtualian commented Feb 23, 2026

Summary

  • Full TypeScript + Bun CLI implementing all 9 custom commands: help, init, sync, ls, audit, bootstrap, add, diff, merge
  • Git pass-through dispatcher — all unknown subcommands forward to git --git-dir=$HOME/.dotfiles --work-tree=$HOME
  • dotfiles init detects GitHub CLI (gh) and offers guided repo creation (create/enter/skip)
  • dotfiles bootstrap accepts shorthand: username, user/repo, or full URL
  • Release script (bun run release <major|minor|patch>) automates changelog, version bump, tag, and push
  • GitHub docs: README, LICENSE (MIT), CONTRIBUTING, CHANGELOG, .gitignore
  • 51 passing tests, zero runtime dependencies

Test plan

  • bun test — 51 tests pass (git module, help output, audit patterns, CLI structure)
  • dotfiles init — creates bare repo, scans dotfiles, interactive selection, guided GitHub remote setup
  • dotfiles sync — pull + stage + commit + push cycle
  • dotfiles bootstrap virtualian — shorthand resolves to SSH URL, clones, backs up conflicts
  • dotfiles bootstrap git@github.com:user/repo.git — full URL passes through unchanged
  • dotfiles diff — smart 3-section diff with offline handling
  • dotfiles merge — interactive per-file conflict resolution
  • dotfiles audit — detects secrets by filename and content patterns
  • dotfiles add <dir> — dry-run preview before staging directories
  • bun run release patch — validates, bumps version, updates changelog, commits, tags

Closes #1

🤖 Generated with Claude Code

virtualian and others added 4 commits February 23, 2026 13:26
TypeScript + Bun CLI that manages dotfiles via a bare git repo at ~/.dotfiles.
Custom commands: help, init, sync, ls, audit, bootstrap, add, diff, merge.
All unknown subcommands pass through to git with bare repo flags.
Includes 51 passing tests and zero runtime dependencies.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- README, LICENSE, CONTRIBUTING, CHANGELOG, .gitignore
- dotfiles init detects gh CLI and offers to create GitHub repo
- dotfiles bootstrap accepts username shorthand (defaults to dotfiles repo)
- Release script: bun run release <major|minor|patch>

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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.

Implement dotfiles CLI

1 participant