Skip to content

About

A modern Python desktop GUI for Git and GitHub workflows, with visual history, partial staging, conflict resolution, releases, PRs, Actions, recovery, security, and repository management.

Resources

Contributing

Security policy

Accessibility

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

102 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub Command Center v3.82.0

A Python desktop application that brings everyday Git work, advanced repository engineering, GitHub workflows, recovery, release tooling, and developer utilities into one user-friendly command center.

What the app does

GitHub Command Center helps developers and repository maintainers complete common and advanced Git tasks without memorizing every command. It combines a streamlined Local Git workspace with specialist tools available through grouped navigation and the Ctrl+K command palette.

Core capabilities

  • Review working-tree changes, stage files or hunks, write commits, and inspect diffs.
  • Browse commit history, compare refs, inspect objects, search revisions, and visualize the commit graph.
  • Create, rename, compare, clean up, and safely delete branches and tags.
  • Fetch, pull, push, prune, inspect remotes, and diagnose upstream configuration.
  • Manage stashes and worktrees, including stash diff and conflict previews.
  • Run interactive rebase, cherry-pick queues, bisect workflows, revert queues, and merge previews.
  • Recover through reflog, dangling-object, detached-HEAD, lost-and-found, and reset recovery tools.
  • Work with GitHub pull requests, Actions, releases, security workflows, and repository readiness checks.
  • Use developer tooling for code search, patch series, quality checks, build validation, Git objects, and revision explanation.
  • Create release evidence, checksums, manifests, SBOM-ready outputs, and deterministic archives.

New in v3.82

Workspace Profile Health and Filtering

Workspace Profiles now include:

  • Real-time filtering by profile name, repository path, branch, or note.
  • A Check health action for one selected profile or all visible profiles.
  • Statuses for Ready, Missing, Not a Git repository, and Branch missing.
  • Read-only repository checks that do not change the working tree.

The v3.81 Workspace Profiles feature remains available for saving a friendly name, repository, preferred branch, and note, and for importing or exporting profiles as JSON.

Requirements

  • Python 3.10 or newer.
  • Git installed and available on PATH.
  • Tkinter, normally included with standard Windows Python installations.
  • A GitHub CLI or GitHub authentication setup only for features that interact with GitHub.

Linux Tkinter packages

On Debian or Ubuntu:

sudo apt update
sudo apt install python3-tk git

On Fedora:

sudo dnf install python3-tkinter git

Installation

Option 1: Run from the release archive

  1. Download github_command_center_python_v3.82.0.zip.
  2. Verify its SHA-256 checksum against github_command_center_python_v3.82.0.sha256.
  3. Extract the archive.
  4. Open a terminal in the extracted folder.
  5. Start the app:
python app.py

Windows users can also run:

run_windows.bat

Linux users can run:

chmod +x run_linux.sh
./run_linux.sh

Option 2: Install as a Python package

python -m pip install .
github-command-center

For contributors and validation tooling:

python -m pip install -e ".[dev]"

Quick start

  1. Start the application.
  2. Select Choose Repository and open an existing Git repository.
  3. Use the daily-action toolbar for refresh, fetch, pull, push, commit, history, branches, stash, and worktrees.
  4. Press Ctrl+K to open the complete specialist-tool catalog.
  5. Select Workspaces to save or reopen frequently used repository and branch contexts.

Main navigation

The interface groups work into nine areas:

  1. Changes
  2. History
  3. Branches
  4. Sync
  5. Review
  6. GitHub
  7. Release
  8. Recover
  9. Advanced

The goal is to keep daily actions visible while keeping specialist tools discoverable without overcrowding the main screen.

Workspace Profiles help

  • Select Workspaces in the Local Git header.
  • Choose Save current to store the current repository and branch.
  • Add an optional note such as release workspace or customer hotfix.
  • Use the filter box to narrow profiles.
  • Select a profile and choose Check health, or clear the selection to check all visible profiles.
  • Double-click a profile or choose Open to open the repository and switch to its preferred branch.
  • Use Export and Import to back up or move profiles.

Profiles are stored at:

~/.github_command_center/workspace_profiles.json

Keyboard shortcuts

Shortcut Action
Ctrl+K Open command palette
F5 Refresh repository
Ctrl+Enter Commit
Tab / Shift+Tab Move keyboard focus
Enter / Space Activate the focused control

Safety and security

  • No shell=True command execution.
  • Feature domains cannot invoke subprocesses directly and must use the process gateway.
  • Zero bare exception handlers and zero direct broad except Exception handlers.
  • Destructive operations use confirmations, previews, policies, or recovery guidance where appropriate.
  • Plugin trust and plugin-security checks are included.
  • CI includes Ruff, Bandit, pip-audit, CodeQL, dependency review, test, architecture, coverage, and packaging gates.
  • Release archives include deterministic packaging, SHA-256 checksums, file manifests, and integrity validation.

Architecture

The application uses a focused UI shell, bounded feature domains, compatibility facades, services, and centralized command/process gateways.

UI shell
  -> centers and bounded feature domains
      -> services and policy boundaries
          -> Git command gateway / process gateway / GitHub integrations

Architecture limits are enforced automatically for shell size, domain size, class count, facade size, subprocess boundaries, and unsafe shell execution.

See ARCHITECTURE.md for details.

Configuration and local data

User preferences and Workspace Profiles are stored under:

~/.github_command_center/

The application does not store repository contents in this folder. Export important workspace profiles before replacing or resetting your user configuration.

Troubleshooting

Git is not found

Confirm:

git --version

If this fails, install Git and restart the terminal or application.

Tkinter is missing

On Linux, install the platform Tkinter package. On Windows, rerun the official Python installer and enable Tcl/Tk support.

A saved workspace is missing

Open Workspaces, select the profile, and run Check health. If the folder moved, delete the old profile and save the repository again from its new path.

A preferred branch cannot be opened

The repository still opens, but the app shows a warning. Verify that the branch exists locally, fetch the repository, or update the saved profile.

GitHub features are unavailable

Verify network access and the relevant GitHub authentication or GitHub CLI setup. Local Git functionality remains available independently.

Validation and release gates

Run the standard local validation:

python -m compileall -q .
python -m pytest -q
python scripts/architecture_gate.py
python scripts/security_gate.py
python scripts/release_readiness_gate.py
python scripts/packaging_gate.py

CI additionally runs supported Python/OS matrices, coverage, Ruff, Bandit, pip-audit, CodeQL, dependency review, package build, clean installation, SBOM generation, and artifact attestation.

Development

git clone <repository-url>
cd <repository-folder>
python -m venv .venv

Activate the environment and install development dependencies:

python -m pip install -e ".[dev]"
python -m pytest -q

When adding a feature:

  • Keep UI code in a center or bounded feature domain.
  • Put reusable logic in a service.
  • Route Git and external commands through the approved gateways.
  • Add tests and update README, changelog, release notes, and user guidance.
  • Run every release gate before packaging.

Project documentation

  • USER_GUIDE.md: user workflows and operating guidance.
  • ARCHITECTURE.md: application structure and boundaries.
  • SECURITY.md: vulnerability reporting and security practices.
  • ACCESSIBILITY.md: keyboard and accessibility design rules.
  • CONTRIBUTING.md: contributor expectations.
  • CHANGELOG.md: cumulative release history.
  • RELEASE_NOTES.md: current release details.
  • ROADMAP.md: planned product direction.
  • PLUGIN_SECURITY.md: plugin trust and validation controls.
  • WINDOWS_VALIDATION.md: Windows-specific validation.

Contributing

Contributions should include tests, documentation updates, and successful architecture, security, readiness, and packaging gates. See CONTRIBUTING.md for the complete process.

Security reporting

Do not disclose suspected vulnerabilities publicly before maintainers can assess them. Follow the process in SECURITY.md.

License

No license file is currently included in this release. Before public redistribution or external contributions, the project owner should add an explicit license such as MIT, Apache-2.0, or the organization-approved proprietary license.

Release

Current version: 3.82.0
Artifact: github_command_center_python_v3.82.0.zip

Cumulative release lineage

  • v3.71.0 added Ref Compare, Revision Explain, Git log visualization, stash workbench, and worktree workbench capabilities.
  • v3.72.0 added interactive commit graph filters plus stash diff and conflict previews.
  • Later releases retained these features while improving architecture, error handling, CI/security, packaging, release evidence, process boundaries, and Workspace Profiles.

About

A modern Python desktop GUI for Git and GitHub workflows, with visual history, partial staging, conflict resolution, releases, PRs, Actions, recovery, security, and repository management.

Resources

Contributing

Security policy

Accessibility

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages