Metadata-Version: 2.4
Name: untaped-github
Version: 10.1.0
Summary: GitHub capability for untaped.
Author: Alexis Beaulieu
Author-email: Alexis Beaulieu <alexisbeaulieu97@gmail.com>
License-Expression: MIT
License-File: LICENSE
Requires-Dist: untaped==10.1.0
Requires-Python: >=3.14.1
Description-Content-Type: text/markdown

# untaped-github

Install it as part of `untaped`: `uv tool install 'untaped[github]'` or `pip install 'untaped[github]'`.
To add it to an existing install, see [Getting started](https://github.com/alexisbeaulieu97/untaped/blob/v10.1.0/docs/getting-started.md#install).

`untaped github` lists repository inventory, searches GitHub, and sweeps
many repositories for content with local `git grep`. Sweeps run over a local
Git corpus, so repeated questions over hundreds of repos avoid GitHub's search
limits.

## Set up

```bash
untaped auth set github
untaped config set github.default_org acme
untaped github whoami
```

For GitHub Enterprise Server, also point the profile at its API:

```bash
untaped config set github.base_url https://github.example.com/api/v3
```

With a default org,
commands given no `--org`, `--team` or `--repo` use it. The token can also
come from the GitHub CLI or `GH_TOKEN`; see
[Tokens](https://github.com/alexisbeaulieu97/untaped/blob/v10.1.0/docs/configuration.md#tokens).
`sweep` and `cache` need `git` on your `PATH`. Every setting is in the
[configuration reference](https://github.com/alexisbeaulieu97/untaped/blob/v10.1.0/docs/reference/config.md#github).

## List an org's or team's repos

```bash
untaped github repos list --team acme/platform --no-fork
untaped github repos list 'svc-*' --org acme
untaped github repos list --team acme/platform --format pipe \
  | untaped workspace create platform --stdin
```

The complete inventory of the scopes you name, filtered by a name glob (or a
regex with `--regex`). Pipe it into a workspace to check the repos out.

## Search GitHub

```bash
untaped github search repos --org acme --language python
untaped github search code "BaseModel" --org acme --extension py
untaped github search issues --org acme --state open --label bug --kind pr
untaped github search users --kind org --location Montreal
```

Calls GitHub's search API: ranked, quick, and limited to 1000 results. Code
search cannot sort, use regexes, or look past the default branch; use `sweep`
for that.

## Sweep repositories for content

```bash
untaped github sweep --org acme --grep 'requests\.get\(' --path 'src/**'
untaped github sweep --org acme --grep old_api --not-grep new_api
untaped github sweep --org acme --has-file Jenkinsfile --lacks-file renovate.json
untaped github sweep --org acme --grep 'BEGIN RSA PRIVATE KEY' --fail-on-match
```

Answers "which repos still call the old API?" across every repo in a scope:
each repo is fetched into the local corpus, then grepped on the refs you
choose. Repeated sweeps reuse the corpus, `--fail-on-match` gates CI, and a
`--format pipe` sweep feeds the next one's `--stdin`.

## Manage the corpus

```bash
untaped github cache sync --team acme/platform --refs all
untaped github cache worktree acme/api --ref main
untaped github cache prune --org acme --dry-run
```

Warm the corpus before a batch of sweeps, check out one cached ref to read
it, and drop repos that left the org. Deletes preview and ask first; see the
skill. For clones you work in, use
[workspaces](https://github.com/alexisbeaulieu97/untaped/blob/v10.1.0/packages/untaped-workspace/README.md).

## Reference

The [packaged skill](https://github.com/alexisbeaulieu97/untaped/blob/v10.1.0/packages/untaped-github/src/untaped_github/skills/untaped-github/SKILL.md) is the full reference: every workflow, safety rule and pitfall. Install it for your agent with `untaped skills install github --target claude` (or another [agent](https://github.com/alexisbeaulieu97/untaped/blob/v10.1.0/docs/skills.md#install-skills)); `untaped github COMMAND --help` lists each command's options.

- [Output records](https://github.com/alexisbeaulieu97/untaped/blob/v10.1.0/docs/reference/records.md#github) and [exit codes](https://github.com/alexisbeaulieu97/untaped/blob/v10.1.0/docs/reference/exit-codes.md)
- [Settings](https://github.com/alexisbeaulieu97/untaped/blob/v10.1.0/docs/reference/config.md#github)
