GitHub user and search CLI built on the untaped SDK.
Project description
untaped-github
untaped-github is a standalone GitHub CLI built on the
untaped SDK. It provides
authenticated user inspection, complete org/team repository inventory,
GitHub REST search across repositories, code, issues/PRs, and users/orgs,
and a question-first sweep command for repeated team-wide code and file
presence checks over a managed local Git corpus. It also ships the shared
config, profile, and skills command groups every untaped tool ships.
Install
uv tool install untaped-github
Configure
untaped-github config set token --prompt # bare key → this tool's section
untaped-github whoami
untaped-github --profile work whoami # --profile works in any position
For GitHub Enterprise Server, configure the API base URL explicitly:
untaped-github config set base_url https://github.example.com/api/v3
Settings are stored per profile in ~/.untaped/config.yml (shared with the
other untaped tools). Shared SDK settings such as ui.theme and http.* are
per-profile keys too (e.g. untaped-github config set http.verify_ssl false).
Commands
untaped-github whoami
untaped-github repos list [PATTERN] [--org ORG]... [--team ORG/SLUG|SLUG]...
untaped-github sweep --org ORG|--team ORG/SLUG|--repo OWNER/NAME --grep PATTERN
untaped-github sweep --org ORG --has-file GLOB [--not-grep PATTERN] [--fail-on-match]
untaped-github cache status|worktree ...
untaped-github cache clean --repo OWNER/NAME|--all|--prune [--yes|-y]
untaped-github search repos [QUERY]
untaped-github search code [QUERY]
untaped-github search issues [QUERY]
untaped-github search users [QUERY]
untaped-github config|profile|skills ...
Examples:
untaped-github sweep --org acme --grep 'old_api' --not-grep 'new_api'
untaped-github sweep --team acme/platform --grep 'log4j' --fail-on-match
untaped-github sweep --org acme --grep 'old_api' \
--format raw --columns clone_url \
| untaped-workspace add --stdin --workspace remediation
untaped-github cache status --format table
See docs/github.md for command details and examples.
Public Client API
Sibling untaped tools may import GithubClient, GithubSettings,
GithubGraphqlError, repository inventory helpers such as
ResolveRepositoryInventory, and the batched ref-probe result models from
untaped_github. GithubClient.batch_repo_refs(...) probes branch/tag refs;
GithubClient.batch_default_branch_refs(...) probes only default branches with
a connection-free GraphQL query. Both return BatchRepoRefsResult, including
GraphQL cost, remaining, reset metadata, and per-repo transient failures from
bounded GraphQL retry/adaptive-split handling.
Development
uv sync
uv run pytest
uv run mypy
uv run ruff check --fix
uv run ruff format
uv run untaped-github --help
See AGENTS.md for architecture rules and GitHub-specific contracts. See docs/release.md for the PyPI/TestPyPI release workflow.
Security
Please report suspected vulnerabilities privately. See SECURITY.md.
Contributing
See CONTRIBUTING.md and AGENTS.md for the local workflow, architecture rules, and GitHub-specific contracts.
License
MIT. See LICENSE.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file untaped_github-0.14.1.tar.gz.
File metadata
- Download URL: untaped_github-0.14.1.tar.gz
- Upload date:
- Size: 47.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d58f974b986c753e9fbe94d6e3e6ee83d59a343b5fcb44c5b6b80000182e866d
|
|
| MD5 |
8cde926b9db5fda3eeaa12d728e97b7d
|
|
| BLAKE2b-256 |
19db52a8b3fbb5215538b7600eca15d3d5785bd8d89789788963e1f72c0e3150
|
Provenance
The following attestation bundles were made for untaped_github-0.14.1.tar.gz:
Publisher:
release.yml on alexisbeaulieu97/untaped-github
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
untaped_github-0.14.1.tar.gz -
Subject digest:
d58f974b986c753e9fbe94d6e3e6ee83d59a343b5fcb44c5b6b80000182e866d - Sigstore transparency entry: 2105336302
- Sigstore integration time:
-
Permalink:
alexisbeaulieu97/untaped-github@a82a3af86c650f762048c54bb0ab6a198b3fa74b -
Branch / Tag:
refs/heads/main - Owner: https://github.com/alexisbeaulieu97
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a82a3af86c650f762048c54bb0ab6a198b3fa74b -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file untaped_github-0.14.1-py3-none-any.whl.
File metadata
- Download URL: untaped_github-0.14.1-py3-none-any.whl
- Upload date:
- Size: 63.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a52420bf15aecb6ccc1e8d3fb9e1a843a9d236bc8cf32c10e4487dc9a630192
|
|
| MD5 |
9424df636dfefd0134b639f0da1eb1b7
|
|
| BLAKE2b-256 |
d08d2ffdeee9d29700ae350c8d14b466ea090ea977cb924babde3cdd43bd3be3
|
Provenance
The following attestation bundles were made for untaped_github-0.14.1-py3-none-any.whl:
Publisher:
release.yml on alexisbeaulieu97/untaped-github
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
untaped_github-0.14.1-py3-none-any.whl -
Subject digest:
7a52420bf15aecb6ccc1e8d3fb9e1a843a9d236bc8cf32c10e4487dc9a630192 - Sigstore transparency entry: 2105336414
- Sigstore integration time:
-
Permalink:
alexisbeaulieu97/untaped-github@a82a3af86c650f762048c54bb0ab6a198b3fa74b -
Branch / Tag:
refs/heads/main - Owner: https://github.com/alexisbeaulieu97
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a82a3af86c650f762048c54bb0ab6a198b3fa74b -
Trigger Event:
workflow_dispatch
-
Statement type: