# Operations, Updating & Maintenance > Running URGithub in production, upgrading it, and resetting registrations safely. ## Recommended production setup For a machine containing important repositories, **do not** immediately enable every automatic trigger. Use this staged progression: ```mermaid flowchart TD A[Stage 1: manual scan] --> B[Stage 2: manual sync] B --> C[Stage 3: verify reports] C --> D[Stage 4: enable scheduled sync] D --> E[Stage 5: enable file watching] E --> F[Stage 6: enable startup integration] F --> G[Stage 7: enable shutdown quick-push] ``` This validates behavior before allowing automation to operate continuously. ## Updating URGithub Before updating: 1. Finish or stop active URGithub operations. 2. Verify repository state. 3. Review the current report. 4. Back up important configuration/runtime data if required. 5. Update the URGithub source code. 6. Run the version command. 7. Run the environment checks. 8. Perform a manual scan. 9. Perform a manual synchronization. 10. Reinstall/update scheduled integrations if required by the release. ```bash python urgithub.py --version ``` After a major release, read the release notes before enabling automation again. ## Resetting a registration Configuration, registry information, journals, reports, and managed-repository metadata live in the configured **base location**. Do not delete the base directory simply to solve an individual repository problem. Prefer the supported commands: ```bash python urgithub.py --forget NAME # remove one repository from the registry python urgithub.py --prune # remove all stale registry entries ``` Use `python urgithub.py --help` to confirm the commands supported by your installed version. ## Removing automatic scheduling ```bash python urgithub.py --schedule uninstall python urgithub.py --schedule status ``` > Removing the scheduled tasks does **not** delete your repositories or runtime data. It only removes the operating-system scheduling integration managed by URGithub. ## Quick verification checklist After installation, all of the following should be true: ```text [ ] Python 3.10+ installed [ ] Git installed [ ] Git identity configured [ ] GitHub CLI installed [ ] GitHub CLI authenticated [ ] Required repository access available [ ] URGithub registered [ ] Base directory created [ ] Repositories discovered [ ] Initial scan successful [ ] Repository verification successful [ ] First synchronization completed [ ] report.html generated [ ] Scheduled triggers tested [ ] Control Center tested [ ] File watcher tested if enabled ``` A production installation should not be considered complete until the manual workflow succeeds. ## Reporting a problem When reporting a problem, include: ```text Operating system: Python version: Git version: GitHub CLI version: URGithub version: Trigger used: Command executed: Expected behavior: Actual behavior: Relevant report.html information: Relevant error output: ``` **Do not include** GitHub tokens, passwords, private keys, personal access tokens, secrets, or private repository contents. Redact sensitive information before opening an issue. ## What URGithub should never be expected to do URGithub is an automation and safety layer around Git operations. It is **not** a replacement for Git, GitHub, GitHub authentication, repository backups, source-control understanding, code review, or release management. Important repositories should still have appropriate backups and recovery procedures.