https://github.com/llbbl/dotfiles-manager
Go CLI to manage, version, and AI-improve dotfiles, with a private backup repo for full change history.
https://github.com/llbbl/dotfiles-manager
Last synced: about 1 month ago
JSON representation
Go CLI to manage, version, and AI-improve dotfiles, with a private backup repo for full change history.
- Host: GitHub
- URL: https://github.com/llbbl/dotfiles-manager
- Owner: llbbl
- License: other
- Created: 2026-05-10T23:36:36.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2026-05-11T02:23:08.000Z (about 2 months ago)
- Last Synced: 2026-05-11T02:32:38.753Z (about 2 months ago)
- Language: Go
- Size: 13.7 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# dotfiles-manager
[](https://github.com/llbbl/dotfiles-manager/actions/workflows/auto-release.yml)
[](https://github.com/llbbl/dotfiles-manager/releases/latest)
[](./LICENSE.md)
A single distributable Go binary (`dfm`) that helps you manage, version, and improve your dotfiles. Every change is mirrored into a private GitHub backup repository with a full audit trail, and an AI coding agent (default: Claude Code) can propose improvements as reviewable patches.
Status: rapid iteration — version numbers track conventional-commit footers (see [Releases](./docs/development.md#releases)) and CLI flags / on-disk layout may still change between minor versions.
## Install
Grab a pre-built binary from the [Releases page](https://github.com/llbbl/dotfiles-manager/releases) — darwin and linux, arm64 and amd64. Full step-by-step (download, checksum, extract, install onto your `PATH`) is in [docs/install.md](./docs/install.md).
## First-run setup
After installing the binary, run `dfm init` once to set up the private backup repo and (optionally) the libSQL state store:
```sh
# Clone an existing private backup repo
dfm init --remote git@github.com:you/dotfiles-backup.git
# Or create a new private repo on your GitHub account in one step
dfm init --remote git@github.com:you/dotfiles-backup.git --create-remote
# Optionally provision a Turso libSQL DB for the state store
dfm init --turso
```
See [`dfm init --help`](./docs/commands.md) for all flags. State is stored at `~/.local/share/dotfiles/` and config at `~/.config/dotfiles/config.toml`; an [example config](./config.example.toml) ships in the repo.
## Build from source
```sh
just install # tidy and download Go module deps
just build-versioned # build ./bin/dfm with version info baked in
./bin/dfm version
./bin/dfm --help # full command surface
```
## Documentation
- [Install](./docs/install.md) — install from GitHub Releases.
- [Development](./docs/development.md) — local setup, environment variables, testing, contribution workflow.
- [Commands](./docs/commands.md) — full `dfm` CLI reference.
- [Architecture](./docs/architecture.md) — what the moving parts are and how they fit together.
- [Changelog](./CHANGELOG.md) — release-by-release summary of changes.
## License
Licensed under the [Functional Source License, Version 1.1, MIT Future License](./LICENSE.md) (FSL-1.1-MIT). All non-Competing Use is permitted today; the Software additionally becomes available under the MIT license on the second anniversary of each release.