# GitM - Gitea Repository Sync Tool Cross-platform tool to synchronize all repositories from multiple Gitea servers to local storage. ## Features - Single binary deployment (frontend embedded) - Web UI for management (Vue 3 + Element Plus) - SQLite database - JWT authentication - Scheduled and manual sync - Cross-platform (Windows, Linux) ## Build ```bash # Build binary with embedded frontend go build -o bin/gitm . # Or with CGO for SQLite support CGO_ENABLED=1 go build -o bin/gitm . ``` ## Run ```bash # First-time initialization (set admin password) ./bin/gitm --init # Start server (default :9000) ./bin/gitm # Custom address ./bin/gitm --addr :9090 # Custom data directory ./bin/gitm --data /path/to/data ``` ## Usage 1. Initialize: `./bin/gitm --init` -- sets admin password 2. Start: `./bin/gitm` -- starts web server 3. Open browser to `http://localhost:9000` 4. Login and add Gitea servers 5. Discover repos and sync ## Development ```bash # Frontend dev server cd web && npm install && npm run dev # Backend go run main.go # Run tests go test ./internal/gitea/... -v CGO_ENABLED=1 go test ./internal/database/... -v ```