mdots

command module
v0.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 5, 2026 License: MIT Imports: 7 Imported by: 0

README

mdots

dotfilesをファイルコピー(非symlink)で管理するCLI。 Store(mdots.toml を含む管理リポジトリのルート)とホーム側を push / pull で同期する。

導入

いずれかの方法で導入できる。

# go install
go install github.com/mogurastore/mdots@latest

# mise (ubi バックエンド)
mise use ubi:mogurastore/mdots@latest

# GitHub Releases からバイナリを取得
# https://github.com/mogurastore/mdots/releases から OS/Arch に合う
# mdots-<version>-<os>-<arch>.tar.gz (Windows は .zip) を展開する

最小サンプル

Store(管理リポジトリ)の直下に mdots.toml を置く。 mdots init でコメント付き雛形を作れる。 src は Store 相対のファイルパス、dest~ 展開される配置先パス、 target は省略時 common 扱いの自由文字列(例: win, wsl)。

# <Store>/mdots.toml
[[entries]]
src = "vimrc"
dest = "~/.vimrc"

[[entries]]
src = "wezterm.lua"
dest = "~/.config/wezterm/wezterm.lua"
target = "win"

[[entries]]
src = "shared.conf"
dest = "~/.config/shared.conf"
target = ["win", "wsl"]
mdots push              # common のみを Store から dest へコピー
mdots push --target win # common + win を対象にする
mdots pull --target win # dest から Store へ回収する
mdots push --dry-run    # 差分を diff -u 風に確認する(差分なし: exit 0、差分あり: exit 1)

使い方

mdots --help            # 使い方を表示する
mdots push --help       # コマンド別の使い方を表示する
mdots --version         # バージョンを表示する(ldflags -X main.version で埋め込み)

補足: go install @latest で導入した場合はバージョンが mdots dev と表示される。 タグ付きバージョンは GitHub Releases のバイナリでのみ埋め込まれる。

コマンド 意味
push [--target <name>] [--dry-run] Store から dest へコピーする
pull [--target <name>] [--dry-run] dest から Store へ回収する
init カレント直下に mdots.toml 雛形を作る
  • --target 未指定時は common のみ、指定時は common + 指定 Target が対象になる。
  • --dry-run は実際に書き込まず差分相当を出力する。差分ありは exit 1、差分なしは exit 0。
  • mdots.toml が見つからないときは mdots.toml not found in <cwd> と表示し exit 1 になる。
  • init は雛形を作る。既にあるときは mdots.toml already exists in <cwd> と表示し exit 1 になる。
  • Store はカレント直下の mdots.toml のみ参照する。Store直下で実行し、サブディレクトリからは実行できない。

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package cli は mdots のコマンド骨格を定義する。
Package cli は mdots のコマンド骨格を定義する。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL