sase-github is a plugin for sase that adds GitHub-specific VCS and workspace
support. It provides the GitHubPlugin VCS provider and GitHubWorkspacePlugin workspace provider for GitHub-hosted
repositories, integrating with the gh CLI for pull request creation, management, and submission, along with
GitHub-specific xprompt workflows.
pip install sase-githubOr with uv:
uv pip install sase-githubRequires sase>=0.1.0 as a dependency (installed automatically).
- GitHubPlugin — GitHub VCS provider that extends
GitCommonwithghCLI integration for PR workflows (push, create PR, retrieve PR URL/number)
- GitHubWorkspacePlugin — Workspace provider that handles GitHub-specific workflow orchestration: reference
resolution (repo paths, project names, changespec names), PR submission via
gh pr merge, branch management, and commit description formatting
get_github_orgs()— Readsgithub_orgsfrom sase config to determine SSH vs HTTPS clone URLs for organizations/users with push access
| XPrompt | Description |
|---|---|
#gh |
GitHub workflow orchestration — resolves refs, claims workspaces, manages branches |
#pr |
Pull request creation — creates branches, runs agents, opens PRs with metadata |
#new_pr_desc |
AI-generated PR descriptions from commit diffs |
sase-github uses Python entry points to register itself with sase core:
sase_vcs— RegistersGitHubPluginas thegithubVCS providersase_workspace— RegistersGitHubWorkspacePluginas thegithubworkspace providersase_xprompts— Makes GitHub xprompts discoverable via plugin discovery
When sase detects a GitHub-hosted repository (via gh CLI), it automatically loads GitHubPlugin and
GitHubWorkspacePlugin to handle VCS operations like PR creation, branch management, commit workflows, and PR
submission.
just install # Install in editable mode with dev deps
just fmt # Auto-format code
just lint # Run ruff + mypy
just test # Run tests
just check # All checks (lint + test)
just build # Build distribution packages
just clean # Remove build artifactssrc/sase_github/
├── __init__.py # Package exports
├── plugin.py # GitHubPlugin VCS implementation
├── workspace_plugin.py # GitHubWorkspacePlugin workspace implementation
├── config.py # GitHub config helpers (org/user list)
├── scripts/
│ ├── gh_setup.py # Setup step for #gh workflow
│ ├── pr_create_changespec.py # ChangeSpec creation for #pr workflow
│ └── new_pr_desc_get_context.py # Context retrieval for PR description generation
└── xprompts/
├── gh.yml # GitHub workflow orchestration
├── pr.yml # PR creation workflow
└── new_pr_desc.yml # PR description generation
MIT