-
Notifications
You must be signed in to change notification settings - Fork 0
installation
flowchart TD
I[INSTALL] --> V[VERIFY ENVIRONMENT]
V --> A[AUTHENTICATE GITHUB]
A --> R[REGISTER URGITHUB]
R --> B[CHOOSE REPOSITORY BASE]
B --> D[DISCOVER REPOSITORIES]
D --> S[SCAN]
S --> L[VALIDATE]
L --> SY[SYNC / COMMIT / PUSH]
SY --> VF[VERIFY]
VF --> G[GENERATE REPORT]
Installation ≠ registration ≠ scanning ≠ synchronization — a newly installed tool never makes uncontrolled repository changes.
| Tool | Windows | Linux / macOS |
|---|---|---|
| Python 3.10+ | winget install Python.Python.3.12 |
Distro package / brew install python
|
| Git | winget install Git.Git |
apt install git / brew install git
|
| GitHub CLI | winget install GitHub.cli |
apt install gh / brew install gh
|
Note: Restart your terminal after installing Git /
ghsoPATHupdates.
python --version
git --version
gh --version
gh auth status
git config --global user.name
git config --global user.emailA healthy environment looks like:
Python ✓
Git ✓
Git identity ✓
GitHub CLI ✓
GitHub auth ✓
If one of these checks fails, fix it before continuing.
If the git identity is empty, set it before committing works:
git config --global user.name "Your Name"
git config --global user.email "you@example.com"Git identity is the author identity for commits — it is not your GitHub authentication credential. URGithub authenticates through the GitHub CLI session and expects the
reposcope on the token (gh auth status). Never place tokens into URGithub config files manually.
gh repo clone learnerforge/push-to-github
cd push-to-github
python urgithub.py --version # or python3 urgithub.py --version# Linux / macOS
python3 urgithub.py --setup
# Windows (PowerShell / CMD)
python urgithub.py --setupThe wizard checks, in order:
- Python
- Git
- GitHub CLI
- GitHub authentication
- Repository permissions
- The selected workspace
- Creates the URGithub directory structure
- Registers the installation
- Creates the initial configuration
- Prepares URGithub for its first run
python urgithub.py --setup-allRegisters (if needed), installs the scheduled tasks (UAC prompt for the shutdown task), runs the first sync and shows status.
Recommended sequence for a new installation:
python urgithub.py --scan # discover repos
python urgithub.py --repos # list what was found
python urgithub.py --verify # health check
python urgithub.py --sync # synchronizeOpen the report with python urgithub.py --report or find it at <base>\urgithub\.urgithub\reports\report.html.
The full recommended first-run procedure (12 steps):
1. Verify Python python --version
2. Verify Git git --version
3. Verify Git identity git config --global user.name / user.email
4. Verify GitHub CLI gh --version
5. Verify GitHub auth gh auth status
6. Register python urgithub.py --setup
7. Scan python urgithub.py --scan
8. Inspect repositories python urgithub.py --repos
9. Verify python urgithub.py --verify
10. Synchronize python urgithub.py --sync
11. Inspect the report report.html
12. Configure automation --schedule install (Windows) or cron/systemd/launchd
gh repo clone learnerforge/push-to-github
cd push-to-github
python3 urgithub.py --setup
python3 urgithub.pyThat is enough to be registered, synchronized and reporting.
| Command | What it does |
|---|---|
--setup |
One-time registration wizard |
--setup-all |
Register + schedule + first run + status (Windows) |
--startup |
Run the startup trigger — full pipeline |
--shutdown |
Shutdown quick-push (30 s hard timeout, never opens report) |
--scan / --sync
|
Run discovery / synchronization now |
--repos / --verify
|
List repositories / verify the environment |
--run manual |
Run the manual trigger |
--watch |
Start the file watcher |
--tray / (no args) |
Open the Control Center GUI |
--schedule install |
Install scheduling (Windows Task Scheduler) |
--forget NAME / --prune
|
Registry cleanup |
--config |
Show / read / set configuration |
--version / --help
|
Version / help |
Run python urgithub.py --help for the full command list supported by your installed version.
Next: Configuration — every config key and how to change it.
Discover · Scan · Synchronize · Commit · Push · Verify · Report — with safety gates and an HTML activity report after every run.
| About | Quick links | Status |
|---|---|---|
| Home · Installation · Architecture | Repositories & Sync · Security · Report & Journal | Configuration · Automation · Operations & Updating |
| FAQ · Troubleshooting · Wiki home | Repository · Issues · Releases |
|
URGithub never runs git reset, --force, rebase, or clean — anything unsafe is blocked and reported, never silently destroyed.
MIT License · © 2026 Ganesh Bakkera · learnerforge/push-to-github
Getting started
- Home — overview, pipeline, quick start
- Installation — requirements, setup wizard, first run
Concepts
- Architecture — one engine, every trigger
- Repositories & Sync — discovery, rename, quarantine, block codes
- Security — safety model, secret detection, blocked operations
-
Report & Journal —
report.htmland the JSONL journal
Operation
-
Configuration — every config key,
--configCLI - Automation — triggers and scheduling per OS
- Operations & Updating — production setup, upgrades, maintenance
Help
- FAQ — common questions
- Troubleshooting — symptoms and fixes
Quick reference
-
--setup· one-time registration wizard -
--scan· discover repositories (never syncs) -
--sync· full safe synchronization -
--report· regeneratereport.html -
--schedule install· install Windows scheduling -
--run manual· run the manual trigger
Repository ↗ · Issues ↗ · Releases ↗
v0.1.0 · MIT License · © 2026 Ganesh Bakkera