aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorFuwn <[email protected]>2026-01-26 05:13:25 +0000
committerFuwn <[email protected]>2026-01-26 05:13:25 +0000
commit567e5b51d32450999935bcf3af143248888e12e9 (patch)
tree41bb8b2a8fcae168bcb7044adb84f08dc89aaec0 /README.md
downloadmugi-567e5b51d32450999935bcf3af143248888e12e9.tar.xz
mugi-567e5b51d32450999935bcf3af143248888e12e9.zip
feat: Initial commit
Diffstat (limited to 'README.md')
-rw-r--r--README.md95
1 files changed, 95 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..e3488d2
--- /dev/null
+++ b/README.md
@@ -0,0 +1,95 @@
+# Mugi
+
+> Personal **Mu**lti-**Gi**t Remote Manager
+
+Mugi keeps your repositories in sync across multiple Git remotes (GitHub, Codeberg, SourceHut, etc.)
+with a single command.
+
+Mugi is written in [Go](https://go.dev) and uses [Bubble Tea](https://github.com/charmbracelet/bubbletea)
+for its terminal interface.
+
+## Usage
+
+```bash
+mugi pull # Pull all repos from all remotes
+mugi pull windmark # Pull Windmark from all remotes
+mugi push windmark gh cb # Push Windmark to GitHub and Codeberg
+mugi fetch gemrest/september # Fetch specific repository
+```
+
+### Installation
+
+```bash
+go install github.com/Fuwn/mugi/cmd/mugi@main
+```
+
+or
+
+```bash
+git clone https://github.com/Fuwn/mugi.git
+cd mugi
+go build -o mugi ./cmd/mugi
+mv mugi ~/.local/bin/ # or anywhere in your PATH
+```
+
+### Configuration
+
+Mugi uses a YAML config file at `~/.config/mugi/config.yaml`:
+
+```yaml
+remotes:
+ github:
+ aliases: [gh]
+ url: [email protected]:${user}/${repo}.git
+ codeberg:
+ aliases: [cb]
+ url: [email protected]:${user}/${repo}.git
+ sourcehut:
+ aliases: [sh]
+ url: [email protected]:~fuwn/${repo}
+
+defaults:
+ remotes: [github, codeberg, sourcehut]
+ path_prefix: ~/Developer
+
+repos:
+ gemrest/windmark:
+ gemrest/september:
+```
+
+### `--help`
+
+```
+Mugi - Personal Multi-Git Remote Manager
+
+Usage:
+ mugi [flags] <command> [repo] [remotes...]
+
+Commands:
+ pull Pull from remote(s)
+ push Push to remote(s)
+ fetch Fetch from remote(s)
+ help Show this help
+ version Show version
+
+Flags:
+ -c, --config <path> Override config file path
+ -V, --verbose Show detailed output
+
+Examples:
+ mugi pull Pull all repositories from all remotes
+ mugi pull windmark Pull Windmark from all remotes
+ mugi pull windmark github Pull Windmark from GitHub only
+ mugi push windmark gh cb Push Windmark to GitHub and Codeberg
+ mugi fetch gemrest/september Fetch specific repository
+ mugi -c ./test.yaml pull Use custom config
+```
+
+## Licence
+
+Licensed under either of [Apache License, Version 2.0](LICENSE-APACHE) or
+[MIT license](LICENSE-MIT) at your option.
+
+Unless you explicitly state otherwise, any contribution intentionally submitted
+for inclusion in this crate by you, as defined in the Apache-2.0 license, shall
+be dual licensed as above, without any additional terms or conditions.