CLI tool for batch synchronization of Forgejo repositories to local machine.
By using this software, you agree to the full disclaimer terms.
Summary: Software provided "AS IS" without warranty. You assume all risks.
Full legal disclaimer: See DISCLAIMER.md
- Automatic authentication via personal access token
- Repository cloning and updating with progress tracking
- Update detection via commit hash comparison
- Full repository recloning option
- Parallel progress display for large repository sets
- Persistent configuration storage
- Python 3.8+
- Git
- Forgejo server with API access
git clone https://github.com/smartlegionlab/forgejo-sync-manager-cli.git
cd forgejo-sync-manager-cli
python -m venv venv
source venv/bin/activate
python app.pypython app.pyOn first run, the tool will guide you through:
- Server URL (e.g.,
http://localhost:3000) - Personal access token with
read:repositoryandread:userscopes
Configuration is stored in ~/forgejo-sync-manager/config.json
1- Display user information2- Repository operations3- Settings (full reset)4- About (author, repository, license, disclaimer)0- Exit
1- Show statistics (total, public, private, forks)2- List all repositories with names, types, and sizes3- Check for updates (compares local and remote commit hashes)4- Sync all repositories (clone missing, pull existing)5- Reclone all repositories (delete and fresh clone)0- Back to main menu
- Authentication: Token-based authentication via Forgejo API
- Repository Discovery: Fetches complete repository list with pagination (50 per page)
- Update Detection: For each existing repository, executes
git fetchand comparesHEADwithFETCH_HEAD - Sync Operations: Uses authenticated URLs with embedded token for Git operations
- Directory Structure:
~/forgejo-sync-manager/{username}/repositories/
Copyright (©) 2026, Alexander Suvorov All rights reserved.
This application is built on top of:
| Library | Description | Version |
|---|---|---|
| forgejo-sync-manager-core | Universal core library for Forgejo repository synchronization | v1.0.0 |
| requests | HTTP library for Python | ≥2.31.0 |
| Project | Description | Repository |
|---|---|---|
| forgejo-sync-manager-gui | Desktop GUI application with dark theme | GitHub |
| forgejo-sync-manager-core | Universal core library | GitHub |
- forgejo-sync-manager-gui - If you prefer graphical interface
- forgejo-sync-manager-core - Core library for custom implementations