GITHUB EXTENSIONS
Every Swamp extension that covers GitHub, as published in the registry. Install
any of them with swamp extension pull.
Extensions
| Extension | Version | License | Contents |
|---|---|---|---|
| @hivemq/github | 2026.08.27.1787839782 | - | 5 behavior types, 1 reports |
| @hivemq/github/merge | 2026.10.07.1791403989 | - | 1 behavior types |
| @webframp/github | 2026.10.14.1 | Apache-2.0 | 1 behavior types |
| @hivemq/github-merge | 2026.04.13.26 | - | 1 behavior types |
| @goodcraft/github | 2026.06.14.1 | - | 1 behavior types |
| @keeb/github | 2026.07.18.1 | - | 1 behavior types |
| @bixu/github | 2026.05.05.1 | - | 5 behavior types |
| @mgreten/github-file-track | 2026.10.14.1 | MIT | 1 behavior types |
| @evrardjp/github-local-mirror | 2026.07.29.1 | - | 1 behavior types, 3 reports |
| @hivemq/github-release | 2026.04.14.27 | - | 1 behavior types |
| @mgreten/stack-status | 2026.10.14.1 | MIT | 1 behavior types |
| @dataverket/github | 2026.10.05.1 | - | 1 behavior types |
| @hivemq/github/release | 2026.06.01.70 | - | 1 behavior types |
| @aaronge/github-trending | 2026.08.28.1 | - | 1 behavior types |
| @emberdotlink/github-agent | 2026.09.03.1 | - | - |
| @taylor/github | 2026.10.14.1 | AGPL-3.0-only | 1 behavior types |
| @maphew/pr-sweep | 2026.10.15.1 | AGPL-3.0-only | 1 behavior types |
| @evrardjp/github-project-activity | 2026.07.06.1 | - | 2 behavior types, 3 reports |
@hivemq/github
swamp extension pull @hivemq/githubBehavior type @hivemq/github/code-scanning/alerts
Global arguments, set with --global-arg on swamp behavior create:
| Name | Type | Required | Description |
|---|---|---|---|
org |
string | yes | GitHub organization or user that owns the repos |
token |
string | yes | GitHub token with read access to the scanner's alerts |
baseUrl |
string | no | GitHub API base URL for GitHub Enterprise Server (default: https://api.github.com) |
Methods, run with swamp behavior run:
| Method | Description | Arguments |
|---|---|---|
list |
List open code scanning alerts for each given repo and write one alerts resource per repo. Repos without code scanning set up are recorded as unavailable, not errors. | repos |
Data written:
| Resource | Description |
|---|---|
alerts |
Open code scanning alerts for one repository |
run |
Aggregate of one list invocation: every requested repo's document |
Behavior type @hivemq/github/dependabot/alerts
Global arguments, set with --global-arg on swamp behavior create:
| Name | Type | Required | Description |
|---|---|---|---|
org |
string | yes | GitHub organization or user that owns the repos |
token |
string | yes | GitHub token with read access to the scanner's alerts |
baseUrl |
string | no | GitHub API base URL for GitHub Enterprise Server (default: https://api.github.com) |
Methods, run with swamp behavior run:
| Method | Description | Arguments |
|---|---|---|
list |
List open Dependabot alerts for each given repo and write one alerts resource per repo. Repos where Dependabot alerts are disabled are recorded as unavailable, not errors. | repos |
Data written:
| Resource | Description |
|---|---|
alerts |
Open Dependabot alerts for one repository |
run |
Aggregate of one list invocation: every requested repo's document |
Behavior type @hivemq/github/secret-scanning/alerts
Global arguments, set with --global-arg on swamp behavior create:
| Name | Type | Required | Description |
|---|---|---|---|
org |
string | yes | GitHub organization or user that owns the repos |
token |
string | yes | GitHub token with read access to the scanner's alerts |
baseUrl |
string | no | GitHub API base URL for GitHub Enterprise Server (default: https://api.github.com) |
Methods, run with swamp behavior run:
| Method | Description | Arguments |
|---|---|---|
list |
List open secret scanning alerts for each given repo, including non-provider and AI-detected generic patterns (which the API excludes from the default listing), and write one alerts resource per repo. Repos where secret scanning is disabled are recorded as unavailable, not errors. | repos |
Data written:
| Resource | Description |
|---|---|
alerts |
Open secret scanning alerts for one repository |
run |
Aggregate of one list invocation: every requested repo's document |
Behavior type @hivemq/github/security-alerts
Global arguments, set with --global-arg on swamp behavior create:
| Name | Type | Required | Description |
|---|---|---|---|
org |
string | yes | GitHub organization the scanner runs must belong to |
Methods, run with swamp behavior run:
| Method | Description | Arguments |
|---|---|---|
build |
Verify the three scanner runs cover every requested repo in the configured org, then write one Slack payload per repo with open alerts. Fails loud on any coverage gap. | repos, dependabot, codeScanning, secretScanning |
Data written:
| Resource | Description |
|---|---|
payloads |
Gated per-repo Slack payloads built from one run of the three alert models |
Behavior type @hivemq/github/token
Global arguments, set with --global-arg on swamp behavior create:
| Name | Type | Required | Description |
|---|---|---|---|
token |
string | no | GitHub token to audit (classic PAT, fine-grained PAT, OAuth, or GitHub App token). Provide this or 'tokenFile'. |
tokenFile |
string | no | Path to a file containing the GitHub token (read and trimmed at audit time). Alternative to 'token'. |
baseUrl |
string | no | GitHub API base URL for GitHub Enterprise Server (default: https://api.github.com) |
Methods, run with swamp behavior run:
| Method | Description | Arguments |
|---|---|---|
audit |
Audit the configured GitHub token: report validity, token type, issuing app (client ID), and the acting identity (login/account) | - |
Data written:
| Resource | Description |
|---|---|
tokenAudit |
Audit result for a GitHub token: validity, type, issuing app, and acting identity |
Reports in @hivemq/github
| Report | Description |
|---|---|
@hivemq/github-security-alerts |
Merge the security-audit workflow's per-repo open-alert resources (Dependabot, code scanning, secret scanning) into one Slack Block Kit payload per repo with open alerts. |
@hivemq/github/merge
swamp extension pull @hivemq/github/mergeBehavior type @hivemq/github/merge
Global arguments, set with --global-arg on swamp behavior create:
| Name | Type | Required | Description |
|---|---|---|---|
token |
string | no | GitHub personal access token or fine-grained token. Required for Octokit-backed methods (createPullRequest, mergePullRequest, mergeBranch, createPullRequestsAcrossRepos). Not used by commitFile / openPullRequest, which shell out to the local gh CLI. |
defaultOwner |
string | no | Default repository owner (user or org) when not specified per-method |
Methods, run with swamp behavior run:
| Method | Description | Arguments |
|---|---|---|
createPullRequest |
Create a pull request in a GitHub repository | owner (optional), repo, title, head, base, body (optional), draft (optional) |
mergePullRequest |
Merge an existing pull request by number | owner (optional), repo, pullNumber, mergeMethod (optional), commitMessage (optional) |
mergeBranch |
Merge a branch directly into another via GitHub's Merges API (no PR required) | owner (optional), repo, base, head, commitMessage (optional) |
commitFile |
Create a feature branch from base and commit a single file change. Uses local gh CLI — no token required. Pass dryRun=true to resolve the base branch but skip the branch + file writes. Pair with openPullRequest to open a PR from the resulting branch. | owner (optional), repo, baseBranch (optional), newBranch, path, content, commitMessage, dryRun (optional) |
openPullRequest |
Open a pull request from an existing head branch into a base branch. Uses local gh CLI — no token required. Pass dryRun=true to skip the PR creation. Typically chained after commitFile (head = commitFile newBranch, base = commitFile baseBranch). | owner (optional), repo, head, base, title, body (optional), draft (optional), dryRun (optional) |
readFile |
Read a file's contents at a ref. Uses local gh CLI — no token required. Lets a caller decide from what the repository actually declares instead of from a value it assumed. Files over 1MB are refused; the contents API omits their body. | owner (optional), repo, path, ref (optional) |
replaceInFile |
Branch from base and commit a regular-expression substitution to one file. Uses local gh CLI — no token required. The pattern must match exactly once: zero matches or several mean the pattern does not say what the caller thinks, so both refuse rather than committing a surprise. Reports what the file said before the edit, so a caller can describe the change without assuming the old value. A substitution that changes nothing commits nothing and reports changed=false. Pass dryRun=true to resolve and match without writing. | owner (optional), repo, baseBranch (optional), newBranch, path, pattern, replacement, commitMessage, dryRun (optional) |
findPullRequest |
Look up a pull request by its head branch. Uses local gh CLI — no token required. Answers found=false rather than failing when none exists, so a workflow can skip work it has already proposed instead of colliding with its own branch. | owner (optional), repo, head, state (optional) |
createPullRequestsAcrossRepos |
Fan-out: create pull requests across multiple repositories in a single operation | repos, head, base, title, body (optional), draft (optional) |
Data written:
| Resource | Description |
|---|---|
pullRequest |
A GitHub pull request created or managed by this model |
fileCommit |
Branch + single-file commit produced by commitFile. Downstream openPullRequest reads newBranch/baseBranch from here via CEL. |
merge |
A completed branch merge or PR merge operation |
fileContent |
A file's contents at a ref, as read by readFile. Lets a caller decide from what the repository actually declares rather than from a value it assumed. |
fileReplacement |
The outcome of replaceInFile: what the pattern matched, what it became, and whether anything was committed. |
pullRequestLookup |
Whether a pull request already exists from a head branch, as answered by findPullRequest. |
@webframp/github
swamp extension pull @webframp/githubBehavior type @webframp/github
Global arguments, set with --global-arg on swamp behavior create:
None.
Methods, run with swamp behavior run:
| Method | Description | Arguments |
|---|---|---|
list_repos |
List repositories for the authenticated user with basic metadata | - |
get_repo_info |
Get detailed information about a specific repository including stats and metadata | repo |
list_prs |
List pull requests for a repository with optional state filter | repo, state (optional) |
list_issues |
List issues for a repository with optional state filter | repo, state (optional) |
list_releases |
List releases for a repository | repo |
list_workflows |
List recent workflow runs for a repository | repo |
get_issue_context |
Retrieve one issue with bounded recent comments. | repo, number, maxComments (optional) |
get_pull_request_context |
Retrieve one PR with immutable head/base SHA and checks. | repo, number, maxComments (optional) |
create_issue |
Create an approved issue with a durable idempotency marker. | repo, title, body, idempotencyKey |
add_issue_comment |
Post an approved issue comment with an idempotency marker. | repo, number, body, idempotencyKey |
close_issue |
Close one explicitly approved issue. | repo, number, idempotencyKey |
get_workflow_run |
Read one exact GitHub Actions run and its head SHA. | repo, runId |
retry_workflow_run |
Retry one approved failed workflow run exactly once. | repo, runId, failedOnly (optional), idempotencyKey |
watch_pr_checks |
Poll a PR's status checks to completion; bounded by timeoutSeconds. | repo, number, timeoutSeconds (optional), pollIntervalSeconds (optional) |
merge_pull_request |
Post an approved merge-request comment and poll until the PR merges. | repo, number, approvalComment (optional), timeoutSeconds (optional), pollIntervalSeconds (optional), idempotencyKey |
Data written:
| Resource | Description |
|---|---|
repos |
List of repositories for the authenticated user |
repo_info |
Detailed information about a specific repository |
pull_requests |
List of pull requests for a repository |
issues |
List of issues for a repository |
releases |
List of releases for a repository |
workflow_runs |
List of recent workflow runs for a repository |
triageIssue |
Exact GitHub issue context for triage |
triagePullRequest |
Exact GitHub PR context for triage |
triageAction |
GitHub triage action evidence |
@hivemq/github-merge
swamp extension pull @hivemq/github-mergeBehavior type @hivemq/github-merge
Global arguments, set with --global-arg on swamp behavior create:
| Name | Type | Required | Description |
|---|---|---|---|
token |
string | yes | GitHub personal access token or fine-grained token |
defaultOwner |
string | no | Default repository owner (user or org) when not specified per-method |
Methods, run with swamp behavior run:
| Method | Description | Arguments |
|---|---|---|
createPullRequest |
Create a pull request in a GitHub repository | owner (optional), repo, title, head, base, body (optional), draft (optional) |
mergePullRequest |
Merge an existing pull request by number | owner (optional), repo, pullNumber, mergeMethod (optional), commitMessage (optional) |
mergeBranch |
Merge a branch directly into another via GitHub's Merges API (no PR required) | owner (optional), repo, base, head, commitMessage (optional) |
createPullRequestsAcrossRepos |
Fan-out: create pull requests across multiple repositories in a single operation | repos, head, base, title, body (optional), draft (optional) |
Data written:
| Resource | Description |
|---|---|
pullRequest |
A GitHub pull request created or managed by this model |
merge |
A completed branch merge or PR merge operation |
@goodcraft/github
swamp extension pull @goodcraft/githubBehavior type @goodcraft/github
Global arguments, set with --global-arg on swamp behavior create:
| Name | Type | Required | Description |
|---|---|---|---|
token |
string | yes | - |
owner |
string | yes | - |
isOrg |
boolean | no | - |
baseUrl |
string | no | - |
Methods, run with swamp behavior run:
| Method | Description | Arguments |
|---|---|---|
sync |
List the repositories owned by owner (read-only; proves the token) |
- |
ensureRepo |
Idempotently ensure a repository exists (create it if missing). dryRun=true (default) plans without creating. | name, description (optional), private (optional), autoInit (optional), licenseTemplate (optional), gitignoreTemplate (optional), homepage (optional), topics (optional), dryRun (optional) |
ensureRelease |
Idempotently ensure a release+tag exists (skip if a release with the tag is already present). dryRun=true (default) plans without creating. | repo, tagName, targetCommitish (optional), name (optional), body (optional), draft (optional), prerelease (optional), dryRun (optional) |
openPr |
Idempotently open a pull request (skip if an open PR for the same head→base already exists). dryRun=true (default) plans without creating. | repo, head, base (optional), title, body (optional), draft (optional), dryRun (optional) |
Data written:
| Resource | Description |
|---|---|
repos |
Snapshot of the repositories owned by owner |
repoEnsure |
Result of the last ensureRepo call |
release |
Result of the last ensureRelease call |
pull |
Result of the last openPr call |
@keeb/github
swamp extension pull @keeb/githubBehavior type @keeb/github/gh-pr-list
Global arguments, set with --global-arg on swamp behavior create:
| Name | Type | Required | Description |
|---|---|---|---|
owner |
string | yes | GitHub repository owner |
repo |
string | yes | GitHub repository name |
state |
"open" | "closed" | "merged" | "all" | no | PR state filter |
limit |
integer | no | Maximum number of PRs to fetch |
Methods, run with swamp behavior run:
| Method | Description | Arguments |
|---|---|---|
list |
List PRs from GitHub using the gh CLI | since (optional), sinceDays (optional) |
Data written:
| Resource | Description |
|---|---|
result |
Fetched pull requests |
@bixu/github
swamp extension pull @bixu/githubBehavior type ``
Global arguments, set with --global-arg on swamp behavior create:
| Name | Type | Required | Description |
|---|---|---|---|
token |
string | no | GitHub token (auto-detected from GH_TOKEN, GITHUB_TOKEN, or gh CLI config) |
owner |
string | yes | Repository owner |
repo |
string | yes | Repository name |
Methods, run with swamp behavior run:
| Method | Description | Arguments |
|---|---|---|
pr |
Get the latest Actions runs for a pull request | pr, json |
watch |
Poll a PR | pr, interval |
Behavior type ``
Global arguments, set with --global-arg on swamp behavior create:
| Name | Type | Required | Description |
|---|---|---|---|
token |
string | yes | GitHub personal access token |
org |
string | no | Default GitHub organization (can be overridden per method) |
owner |
string | no | Default repository owner for repo-scoped methods |
Methods, run with swamp behavior run:
| Method | Description | Arguments |
|---|---|---|
search |
Search issues across repositories using GitHub search syntax | query, owner (optional), repo (optional), state, limit, json |
list |
List issues for a repository | repo, owner (optional), state, labels (optional), json |
Behavior type ``
Global arguments, set with --global-arg on swamp behavior create:
| Name | Type | Required | Description |
|---|---|---|---|
token |
string | yes | GitHub personal access token |
org |
string | no | Default GitHub organization (can be overridden per method) |
Methods, run with swamp behavior run:
| Method | Description | Arguments |
|---|---|---|
list |
List members of an organization | org (optional), role, json |
Behavior type ``
Global arguments, set with --global-arg on swamp behavior create:
| Name | Type | Required | Description |
|---|---|---|---|
token |
string | yes | GitHub personal access token |
org |
string | no | Default GitHub organization (can be overridden per method) |
owner |
string | no | Default repository owner for repo-scoped methods |
Methods, run with swamp behavior run:
| Method | Description | Arguments |
|---|---|---|
list |
List pull requests for a repository | repo, owner (optional), state, json |
Behavior type ``
Global arguments, set with --global-arg on swamp behavior create:
| Name | Type | Required | Description |
|---|---|---|---|
token |
string | yes | GitHub personal access token |
org |
string | no | Default GitHub organization (can be overridden per method) |
owner |
string | no | Default repository owner for repo-scoped methods |
Methods, run with swamp behavior run:
| Method | Description | Arguments |
|---|---|---|
list |
List repositories for an organization | org (optional), type, sort, json |
listForUser |
List repositories for the authenticated user or a specified user | username (optional), type, sort, json |
get |
Get details for a single repository | repo, owner (optional) |
searchCode |
Search code across repositories using GitHub code search syntax | query, org (optional), repo (optional), owner (optional), language (optional), path (optional), limit, json |
Data written:
| Resource | Description |
|---|---|
repo |
GitHub repository |
@mgreten/github-file-track
swamp extension pull @mgreten/github-file-trackBehavior type @mgreten/github-file-track
Global arguments, set with --global-arg on swamp behavior create:
| Name | Type | Required | Description |
|---|---|---|---|
targets |
array | no | - |
Methods, run with swamp behavior run:
| Method | Description | Arguments |
|---|---|---|
sync |
Fetch each tracked file from GitHub and write it locally when the | targets (optional) |
Data written:
| Resource | Description |
|---|---|
syncRecord |
Per-destination record of the last sync: upstream blob SHA, whether |
syncSummary |
Aggregate counts across all targets in one sync run. |
@evrardjp/github-local-mirror
swamp extension pull @evrardjp/github-local-mirrorBehavior type @evrardjp/github-local-mirror
Global arguments, set with --global-arg on swamp behavior create:
| Name | Type | Required | Description |
|---|---|---|---|
owner |
string | yes | - |
repo |
string | yes | - |
githubToken |
string | no | - |
gitObjectPath |
string | yes | Path to the managed bare git object repository used by the mirror |
workspaceRoot |
string | yes | Directory where prepare_worktree creates editable worktrees |
artifactRoot |
string | yes | Directory where sync stores durable mirror artifacts and cursors |
gitRemote |
string | yes | - |
gitRemoteUrl |
string | no | - |
sshRemoteBase |
string | yes | - |
syncOverlapMinutes |
number | yes | - |
firstSyncSince |
string | no | - |
knownRemotes |
record | yes | - |
timelineCodeGranularity |
enum | yes | - |
needsClarificationLabels |
array | yes | - |
reviewerHandles |
array | yes | - |
reviewFocusStaleDays |
number | yes | - |
maxApiPages |
number | yes | - |
Methods, run with swamp behavior run:
| Method | Description | Arguments |
|---|---|---|
sync |
Fetch GitHub refs plus full PR/issue metadata into the local mirror and Swamp index | budgetSeconds (optional), requireComplete (optional) |
prepare_worktree |
Create an editable local worktree for the latest mirrored PR head without calling GitHub | prNumber, identity (optional) |
create_worktree |
Create a review worktree from a mirrored PR or a development worktree from a local ref | prNumber (optional), branch (optional), baseRef (optional), identity (optional) |
attach_worktree |
Associate an active registered worktree with a locally mirrored pull request | worktreeId, prNumber |
detach_worktree |
Remove only the pull request association from a worktree | worktreeId |
remove_worktree |
Remove a registered worktree after checking local changes and commits | worktreeId, force, deleteBranch |
prepare_review_context |
Validate a mirrored review subject and refresh local worktree evidence | subjectType, number |
record_pr_analysis |
Record generated review evidence for the current PR head | prNumber, headSha, generator, codePathWalkthrough, reviewAttentionMap, evidenceRefs |
analyze_worktrees |
Analyze registered worktrees for stale PR heads, dirty state, missing paths, and local commits | - |
close_merged_worktrees |
Remove non-dirty worktrees for merged pull requests while retaining their review branches | - |
refresh_pr_worktrees |
Reconcile tracked PR worktree lineages against current local mirror state | identity (optional), autoAttach, materialize, dryRun |
status |
Write and return the current local mirror status summary | - |
Data written:
| Resource | Description |
|---|---|
mirrorState |
Durable mirror cursors and sync state |
repoSnapshot |
GitHub repository metadata snapshot |
prSnapshot |
Pull request snapshot with branch, state, and remote metadata |
prRevision |
Observed PR head revision and local patch artifact references |
prHeadState |
Current PR head read from the fetched local Git ref |
prFileSnapshot |
Changed file metadata for one PR revision |
issueSnapshot |
Issue snapshot |
activityEvent |
Issue/PR comments, reviews, review comments, and timeline events |
subjectReference |
References between mirrored GitHub subjects |
prCommit |
Commit belonging to a pull request |
collectionStatus |
Completeness status for a GitHub API subcollection |
prAnalysisEvidence |
Generated review context tied to an exact PR head |
reviewSelection |
PR or issue selected for the current context report |
checkRunSnapshot |
GitHub check run status for PR heads |
worktreeSnapshot |
Registered local development or review worktree |
worktreeAnalysis |
Automated analysis of local worktree freshness and state |
worktreeCleanupRun |
Results from one merged pull request worktree cleanup run |
worktreeRefreshRun |
Actions performed by one PR worktree reconciliation run |
syncRunSummary |
One sync run summary |
mirrorStatus |
Current mirror status summary |
Reports in @evrardjp/github-local-mirror
| Report | Description |
|---|---|
@evrardjp/github-local-mirror-status |
Summarize sync freshness, local mirror paths, and registered worktree state for a GitHub local mirror model. |
@evrardjp/github-pr-context |
Render a complete local-mirror PR or issue context cluster, readiness, timeline, worktree state, and analysis evidence. |
@evrardjp/github-repo-review-focus |
Build a deterministic repository-wide reviewer action queue from stored local-mirror data. |
@hivemq/github-release
swamp extension pull @hivemq/github-releaseBehavior type @hivemq/github-release
Global arguments, set with --global-arg on swamp behavior create:
None.
Methods, run with swamp behavior run:
| Method | Description | Arguments |
|---|---|---|
createRelease |
Create a tagged release in a GitHub repository | repo, tagName |
createReleasesAcrossRepos |
Fan-out: create the same tagged release across multiple repositories in a single operation | repo, tagName |
Data written:
| Resource | Description |
|---|---|
release |
A GitHub release created by this model |
@mgreten/stack-status
swamp extension pull @mgreten/stack-statusBehavior type @mgreten/stack-status
Global arguments, set with --global-arg on swamp behavior create:
| Name | Type | Required | Description |
|---|---|---|---|
repo |
string | no | - |
Methods, run with swamp behavior run:
| Method | Description | Arguments |
|---|---|---|
fetch |
Resolve PR numbers from a pasted gt stack block, a Graphite/GitHub PR | stack, repo (optional), nowIso (optional) |
renderHtml |
Render a stackStatus bundle as a self-contained HTML flowchart (inline | stack (optional), outFile (optional) |
Data written:
| Resource | Description |
|---|---|
prStatus |
Single-PR status snapshot: identity, approval status (reviewDecision + |
stackStatus |
Ordered bundle of prStatus for a whole stack, base (bottom) to tip (top). |
stackHtml |
Self-contained HTML flowchart rendering of a stackStatus bundle — inline |
@dataverket/github
swamp extension pull @dataverket/githubBehavior type @dataverket/github
Global arguments, set with --global-arg on swamp behavior create:
| Name | Type | Required | Description |
|---|---|---|---|
token |
string | yes | - |
owner |
string | yes | - |
isOrg |
boolean | no | - |
baseUrl |
string | no | - |
Methods, run with swamp behavior run:
| Method | Description | Arguments |
|---|---|---|
sync |
List the repositories owned by owner (read-only; proves the token) |
- |
ensureRepo |
Idempotently ensure a repository exists (create it if missing). dryRun=true (default) plans without creating. | name, description (optional), private (optional), autoInit (optional), licenseTemplate (optional), gitignoreTemplate (optional), homepage (optional), topics (optional), dryRun (optional) |
ensureRelease |
Idempotently ensure a release+tag exists (skip if a release with the tag is already present). dryRun=true (default) plans without creating. | repo, tagName, targetCommitish (optional), name (optional), body (optional), draft (optional), prerelease (optional), dryRun (optional) |
openPr |
Idempotently open a pull request (skip if an open PR for the same head→base already exists). dryRun=true (default) plans without creating. | repo, head, base (optional), title, body (optional), draft (optional), dryRun (optional) |
Data written:
| Resource | Description |
|---|---|
repos |
Snapshot of the repositories owned by owner |
repoEnsure |
Result of the last ensureRepo call |
release |
Result of the last ensureRelease call |
pull |
Result of the last openPr call |
@hivemq/github/release
swamp extension pull @hivemq/github/releaseBehavior type @hivemq/github/release
Global arguments, set with --global-arg on swamp behavior create:
None.
Methods, run with swamp behavior run:
| Method | Description | Arguments |
|---|---|---|
createRelease |
Create a tagged release in a GitHub repository | repo, tagName |
createReleasesAcrossRepos |
Fan-out: create the same tagged release across multiple repositories in a single operation | repo, tagName |
Data written:
| Resource | Description |
|---|---|
release |
A GitHub release created by this model |
@aaronge/github-trending
swamp extension pull @aaronge/github-trendingBehavior type @aaronge/github-trending
Global arguments, set with --global-arg on swamp behavior create:
| Name | Type | Required | Description |
|---|---|---|---|
windowDays |
number | yes | How many days back to look for 'recently created' repos. |
count |
number | yes | How many repos to report, max 100 (a single GitHub search page). |
language |
string | no | Optional language filter, e.g. 'typescript'. Omit for all languages. |
githubToken |
string | no | Optional GitHub personal access token (no scopes needed) to raise the |
Methods, run with swamp behavior run:
| Method | Description | Arguments |
|---|---|---|
snapshot |
Fetch a fresh trending snapshot from GitHub's official search API. | - |
Data written:
| Resource | Description |
|---|---|
trending |
Snapshot of recently-created, most-starred GitHub repos — an honest proxy for 'trending.' |
@emberdotlink/github-agent
swamp extension pull @emberdotlink/github-agent@taylor/github
swamp extension pull @taylor/githubBehavior type @taylor/github/repo
Global arguments, set with --global-arg on swamp behavior create:
| Name | Type | Required | Description |
|---|---|---|---|
owner |
string | yes | User or organization that owns the repository |
name |
string | yes | Repository name |
ghPath |
string | no | GitHub CLI binary |
Methods, run with swamp behavior run:
| Method | Description | Arguments |
|---|---|---|
ensure |
Create the repository if it doesn't exist; otherwise report it unchanged | description (optional), visibility (optional) |
Data written:
| Resource | Description |
|---|---|
repo |
The repository as GitHub reports it (instance repo) |
@maphew/pr-sweep
swamp extension pull @maphew/pr-sweepBehavior type @maphew/pr-sweep
Global arguments, set with --global-arg on swamp behavior create:
None.
Methods, run with swamp behavior run:
| Method | Description | Arguments |
|---|---|---|
sweep |
Sweep open PRs from a fork in an upstream repo | upstreamRepo, forkRepo, workdir, agent (optional), mainBranch (optional), swampRepoDir (optional), sweeperPrompt (optional), resyncBehind (optional), updateStrategy (optional) |
Data written:
| Resource | Description |
|---|---|
sweep |
PR sweep run summary |
pr |
Per-PR sweep result |
@evrardjp/github-project-activity
swamp extension pull @evrardjp/github-project-activityDeprecated in favour of @evrardjp/github-local-mirror.
Behavior type @evrardjp/github-project-activity
Global arguments, set with --global-arg on swamp behavior create:
| Name | Type | Required | Description |
|---|---|---|---|
githubToken |
string | no | GitHub token with read access to the repository; required by sync_github_* methods |
owner |
string | no | Repository owner, e.g. external-secrets; required by sync_github_* methods |
repo |
string | no | Repository name, e.g. external-secrets; required by sync_github_* methods |
projectName |
string | no | Human-readable project name |
knownForks |
array | yes | Known forks as owner/repo; indexed as metadata only |
includePrivateEvents |
boolean | yes | Whether reports include private/manual/agent events by default |
defaultBackfillWindowDays |
number | yes | - |
staleInactivityDays |
number | yes | Number of days without conversation or code changes before an open PR/issue becomes a stale candidate |
personalGithubHandles |
array | yes | GitHub handles that represent the maintainer/operator using this ledger; reports and agent workflows can use them to distinguish your own comments, reviews, and follow-up obligations from external contributor activity |
Methods, run with swamp behavior run:
| Method | Description | Arguments |
|---|---|---|
fetch_from_github |
Fetch GitHub API data once and store raw/minimally processed responses as Swamp fixtures for later replay | scenario, sourceMethod, methodArgs |
ingest_fetched_data |
Replay stored GitHub API fixtures and ingest them into the derived project activity resources without calling GitHub | scenario, methodArgs |
sync_github_repo |
Fetch repository metadata and optionally refresh fork index (for tracking fork repositories that may appear as PR heads without ingesting full fork activity) | includeForkIndex |
sync_github_file_inventory |
Fetch current default-branch file inventory for codebase heatmap reports | - |
sync_github_fork_index |
Fetch known/discovered forks as metadata only | limit (optional), includeConfiguredKnownForks |
sync_github_issues |
Fetch issue snapshots and issue-related activity | since (optional), limit (optional), includeComments, includeTimeline |
sync_github_prs |
Fetch PR snapshots, files, reviews, comments, timeline, and CI status | includePatchArtifacts, includeReviews, includeReviewComments, includeIssueComments, includeChecks, includeTimeline |
sync_github_pr_by_number |
Fetch exactly one PR by number, regardless of state, including files, reviews, comments, timeline, and CI status | includePatchArtifacts, includeReviews, includeReviewComments, includeIssueComments, includeChecks, includeTimeline |
sync_github_recent_activity |
Fast frequent sync for recently changed open PRs/issues | lookbackMinutes, includeOpenPrs, includeRecentlyUpdatedIssues |
sync_github_backfill |
Slower historical sync/repair over a bounded window | since (optional), until (optional), includeClosed, limit (optional), includeForkIndex |
classify_stale_candidates |
Classify open PRs/issues with no recent activity as stale candidates from stored snapshots | includePrs, includeIssues, staleLabel, maxCandidates (optional), dryRun |
clear_stale_candidates |
Clear Swamp stale-candidate classifications for PRs/issues that became active again | includePrs, includeIssues, staleLabel, maxCandidates (optional), dryRun |
record_activity |
Append one caller-provided public/private activity event for manual notes, agent session outcomes, maintainer decisions, follow-up reminders, and other project context that GitHub APIs do not expose directly | id (optional) |
record_artifact |
Store one caller-provided large artifact | name, contentType, content, repo (optional), subjectType (optional), subjectNumber (optional), description (optional) |
render_pr_report |
Render a parameterized, durable PR dossier for one pull request. This is a model method rather than only a Swamp report because it needs runtime inputs (prNumber, includePrivate, since/until), writes a durable prReport data object named for that PR, and is an explicit render-this-PR action rather than a passive post-run execution summary. | prNumber, includePrivate (optional), since (optional), until (optional) |
Data written:
| Resource | Description |
|---|---|
repoSnapshot |
Current repository metadata |
forkSnapshot |
Fork metadata index only; not fork activity ingestion |
issueSnapshot |
Current issue state |
prSnapshot |
Current pull request state |
prFileSnapshot |
Current changed-file overview for a PR |
repoFileSnapshot |
Current repository file inventory for codebase heatmap reports |
ciStatusSnapshot |
Current CI/check status for a PR |
activityEvent |
Chronological public/private timeline entry |
artifactIndex |
Metadata for large file artifacts |
rawGithubApiResponse |
Raw/minimally processed GitHub API response captured for fixture replay and ingestion benchmarks |
prReport |
Rendered PR dossier markdown and machine-readable source |
Behavior type @evrardjp/github-project-activity-benchmark
Global arguments, set with --global-arg on swamp behavior create:
None.
Methods, run with swamp behavior run:
| Method | Description | Arguments |
|---|---|---|
record_benchmark_run |
Append one benchmark result produced by an external benchmark harness | finishedAt (optional) |
Data written:
| Resource | Description |
|---|---|
benchmarkRun |
One benchmark observation for a github-project-activity ingestion mode |
Reports in @evrardjp/github-project-activity
| Report | Description |
|---|---|
@evrardjp/github-codebase-heatmap |
Heatmap of current repository files by recent GitHub PR-file activity |
@evrardjp/pr-review |
Structured PR review report from github-project-activity PR dossier data |
@evrardjp/github-project-briefing |
Daily maintainer briefing from Swamp project activity snapshots and events |