El catálogo/GitHub

GitHub

app.github

Manage repos, issues, PRs, and actions on GitHub

Migrada y en marchaGitHub AppdevelopmentLeer el código
Versión2.0.0
Categoríadevelopment
AutenticaciónGitHub App
Herramientas70
Transportestdio
LicenciaMIT
01

Qué hace

La aplicación, en sus propias palabras.

GitHub repository management + local git development environment - repos, issues, pull requests, actions, commits, branches, releases, plus local git operations on cloned repos

githubgitrepositoriesissuespull-requestsci-cdactions
02

Herramientas

70 herramientas que el agente puede llamar.

Todas se declaran con parámetros tipados y devuelven resultados estructurados, así que el anfitrión puede renderizarlas en vez de narrarlas.

  • add-issue-commentAdd a comment to an issue
  • add-labels-to-issueAdd labels to an issue or pull request. Returns the full label set after addition.
  • cancel-workflow-runCancel a workflow run that is in progress.
  • clone-repoClone a GitHub repository to the local filesystem. Returns {path, branch, sha, recentCommits[]}.
  • compare-commitsCompare two commits or branches. `basehead` format `BASE...HEAD`.
  • create-branchCreate a new branch from a reference
  • create-check-runCreate a check run on a commit (GitHub App exclusive).
  • create-issueCreate a new issue in a repository
  • create-or-update-fileCreate or update a file in a repo. Pass `sha` of the existing file when updating.
  • create-pr-reviewCreate a pull request review. `event` controls the verdict: APPROVE / REQUEST_CHANGES / COMMENT.
  • create-pullCreate a new pull request
  • create-releaseCreate a GitHub release tagged at `tag_name`.
  • create-repoCreate a new repository
  • dispatch-eventSend a `repository_dispatch` event to trigger workflows.
  • get-branchGet information about a specific branch
  • get-commitGet details of a specific commit
  • get-file-contentGet the content of a file in a repository
  • get-installation-contextList the GitHub App installations reachable by the current user, with accessible repos, granted permissions, and manage/install URLs.
  • get-issueGet details of a specific issue
  • get-pullGet details of a specific pull request
  • get-rate-limitRead the current GitHub API rate-limit budget.
  • get-repoGet detailed information about a specific repository
  • get-userDeprecated alias for get-installation-context.
  • get-workflow-runGet a workflow run.
  • git-addStage local changes. Pass an array of paths to stage selectively, or omit `paths` (default `.`) to stage everything.
  • git-batch-commitApply multiple file changes (create/update/delete/rename) and create ONE atomic commit. Use this for refactors and any multi-file change where the intermediate states should not be visible in git history.
  • git-bisectBinary search for the commit that introduced a bug. Workflow: start → mark each step good/bad → done. Use `reset` to abort.
  • git-blamePer-line attribution for a file. Returns `[{ sha, author, date, lineNumber, content }]`. Restrict with `range: "10,50"` or `ref`.
  • git-checkoutSwitch branches, create a new branch, or restore specific paths. Returns the new HEAD ref. Set `force: true` to discard local changes (destructive).
  • git-cherry-pickCherry-pick commits onto the current branch. Pass `commits: ["sha", ...]` or drive an in-progress pick with `mode: continue/skip/abort`.
  • git-commitCreate a commit with the staged changes. Returns `{ sha, branch, message }`. Use `amend: true` to amend the previous commit instead.
  • git-configRead or write git config (whitelisted keys only). Default scope is `local` (the repo). For identity, prefer `user.name` and `user.email`.
  • git-diffShow differences as unified diff + numstat. Defaults to working tree vs HEAD. `from: staged` for index vs HEAD; pass `from`+`to` commit SHAs for arbitrary diffs.
  • git-fetchFetch refs from the remote without merging. Use `refspec` to fetch arbitrary refs (e.g. `pull/<n>/head:pr-<n>` for a PR head, `refs/tags/v1.0.0:refs/tags/v1.0.0` for a tag).
  • git-list-filesList files in the repo, respecting `.gitignore`. Returns `{ tracked, untracked, ignored }` arrays. Optionally filter by `pattern` (glob, relative to repo root).
  • git-logLocal commit history with structured entries. Defaults to last 20 commits on the current branch. Filter by `ref`, `path`, `author`, `since`/`until`.
  • git-mergeMerge a branch/tag/commit into the current branch. On conflict, throws `GIT_CONFLICT` and the agent should resolve via `git-status` + edit + `git-add`.
  • git-mvMove or rename a tracked file/directory while preserving git history. Both `from` and `to` are relative to repo root.
  • git-pullPull commits from the remote into the current branch. `rebase: true` for a linear history (no merge commit).
  • git-pushPush commits to the remote. `force: true` uses `--force-with-lease`; `forceUnsafe: true` uses raw `--force` (destructive).
  • git-read-fileRead a file from the working tree or from a specific git revision. Pass `ref` (commit/branch/tag) to read the version at that point.
  • git-rebaseRebase the current branch onto another ref (linear history). Or drive an in-progress rebase with `mode: continue/skip/abort`.
  • git-remoteList, add, remove, or update git remotes. `list` returns name + fetch/push URLs.
  • git-resetReset HEAD to `target`. `mode: soft` keeps staging; `mode: mixed` (default) keeps working tree; `mode: hard` discards everything (destructive).
  • git-rmRemove tracked files from the working tree and stage the deletion. Pass `cached: true` to only unstage (without deleting from disk).
  • git-stashManage the stash. Default action `push` saves uncommitted changes. Other actions: pop, apply, drop, list, clear.
  • git-statusLocal git status: branch, ahead/behind vs upstream, and lists of staged, modified, untracked, and conflicted files.
  • git-tagList, create, or delete local git tags. Pass `message` on create for an annotated tag (otherwise lightweight).
  • git-write-fileWrite file content into the working tree (creates parent dirs) and stage it. Use `stage: false` to skip staging.
  • list-branchesList branches in a repository
  • list-commitsList commits in a repository
  • list-issuesList issues for a repository with optional filters
  • list-pr-commitsList commits on a pull request.
  • list-pr-filesList files changed in a pull request.
  • list-pr-review-commentsList review comments (inline comments on diff) of a pull request.
  • list-pullsList pull requests for a repository
  • list-releasesList releases of a repository, newest first.
  • list-reposList repositories accessible to the current user via the GitHub App (across every installation reachable). Pass `owner` to filter.
  • list-workflow-run-jobsList jobs of a workflow run.
  • list-workflow-runsList workflow runs for a repository
  • list-workflowsList workflows in a repository
  • merge-pullMerge a pull request
  • request-reviewersRequest reviewers on a pull request.
  • rerun-workflow-runRe-run a workflow run. Default re-runs only failed jobs.
  • search-codeSearch for code across GitHub repositories
  • search-issuesSearch issues and pull requests across GitHub. Use GitHub search syntax in `q`.
  • search-reposSearch for repositories on GitHub
  • trigger-workflowTrigger a workflow dispatch event
  • update-check-runUpdate an existing check run.
  • update-issueUpdate an existing issue. Setting `state: "closed"` closes it. `labels` REPLACES the entire label set — use add-labels-to-issue to append.
03

Autenticación y permisos

Qué pide.

Declarado en el manifiesto y por adelantado. La aplicación no puede alcanzar nada que no haya pedido aquí.

Secretos de sistema

GITHUB_APP_IDGITHUB_APP_CLIENT_IDGITHUB_APP_CLIENT_SECRETGITHUB_APP_PRIVATE_KEYGITHUB_APP_WEBHOOK_SECRETGITHUB_APP_SLUG

Secretos de usuario

INSTALLATION_IDUSER_ACCESS_TOKENUSER_REFRESH_TOKENUSER_TOKEN_EXPIRES_ATUSER_LOGIN

Seguir leyendo

El manifiesto y el código de GitHub están en el monorepo, junto al resto de aplicaciones.

Leer el códigoVolver al catálogo

GitHub · Agent Apps