Skip to main content

Github Project Activity

@evrardjp/github-project-activityv2026.07.05.1· 1d agoMODELSREPORTS
01README

Swamp-backed GitHub project activity database and maintainer briefing reports: repository/issue/PR/CI snapshots, chronological public/private activity events, artifacts, PR dossiers, and private/manual/agent maintainer notes.

02Release Notes

2026.07.05.1

Changed: PR detail sync now always fetches PR files. The includeFiles input has been removed so PR snapshots and PR-file snapshots cannot drift apart when a PR is later merged.

Changed: PR-file snapshots now explicitly record whether the file was part of a merged PR with merged: true / merged: false, separately from the PR lifecycle state stored as prState: "open" / prState: "closed".

Changed: Codebase heatmap now trusts only explicit merged PR-file snapshots. Older markerless PR-file rows are ignored instead of guessed.

Upgrade note: This is a breaking data-interpretation change for existing heatmap ingestions. Re-run sync_github_prs or sync_github_backfill for the history window you want represented.

03Models1
@evrardjp/github-project-activityv2026.07.03.5github_project_activity.ts

Global Arguments

ArgumentTypeDescription
githubToken?stringGitHub token with read access to the repository; required by sync_github_* methods
owner?stringRepository owner, e.g. external-secrets; required by sync_github_* methods
repo?stringRepository name, e.g. external-secrets; required by sync_github_* methods
projectName?stringHuman-readable project name
knownForksarrayKnown forks as owner/repo; indexed as metadata only
includePrivateEventsbooleanWhether reports include private/manual/agent events by default
defaultBackfillWindowDaysnumber
staleInactivityDaysnumberNumber of days without conversation or code changes before an open PR/issue becomes a stale candidate
personalGithubHandlesarrayGitHub 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
fn sync_github_repo(includeForkIndex: boolean)
Fetch repository metadata and optionally refresh fork index (for tracking fork repositories that may appear as PR heads without ingesting full fork activity)
ArgumentTypeDescription
includeForkIndexboolean
fn sync_github_file_inventory()
Fetch current default-branch file inventory for codebase heatmap reports
fn sync_github_fork_index(limit?: number, includeConfiguredKnownForks: boolean)
Fetch known/discovered forks as metadata only
ArgumentTypeDescription
limit?number
includeConfiguredKnownForksboolean
fn sync_github_issues(since?: string, limit?: number, includeComments: boolean, includeTimeline: boolean)
Fetch issue snapshots and issue-related activity
ArgumentTypeDescription
since?string
limit?number
includeCommentsboolean
includeTimelineboolean
fn sync_github_prs(includePatchArtifacts: boolean, includeReviews: boolean, includeReviewComments: boolean, includeIssueComments: boolean, includeChecks: boolean, includeTimeline: boolean)
Fetch PR snapshots, files, reviews, comments, timeline, and CI status
ArgumentTypeDescription
includePatchArtifactsboolean
includeReviewsboolean
includeReviewCommentsboolean
includeIssueCommentsboolean
includeChecksboolean
includeTimelineboolean
fn sync_github_pr_by_number(includePatchArtifacts: boolean, includeReviews: boolean, includeReviewComments: boolean, includeIssueComments: boolean, includeChecks: boolean, includeTimeline: boolean)
Fetch exactly one PR by number, regardless of state, including files, reviews, comments, timeline, and CI status
ArgumentTypeDescription
includePatchArtifactsboolean
includeReviewsboolean
includeReviewCommentsboolean
includeIssueCommentsboolean
includeChecksboolean
includeTimelineboolean
fn sync_github_recent_activity(lookbackMinutes: number, includeOpenPrs: boolean, includeRecentlyUpdatedIssues: boolean)
Fast frequent sync for recently changed open PRs/issues
ArgumentTypeDescription
lookbackMinutesnumber
includeOpenPrsboolean
includeRecentlyUpdatedIssuesboolean
fn sync_github_backfill(since?: string, until?: string, includeClosed: boolean, limit?: number, includeForkIndex: boolean)
Slower historical sync/repair over a bounded window
ArgumentTypeDescription
since?string
until?string
includeClosedboolean
limit?number
includeForkIndexboolean
fn classify_stale_candidates(includePrs: boolean, includeIssues: boolean, staleLabel: string, maxCandidates?: number, dryRun: boolean)
Classify open PRs/issues with no recent activity as stale candidates from stored snapshots
ArgumentTypeDescription
includePrsboolean
includeIssuesboolean
staleLabelstring
maxCandidates?number
dryRunboolean
fn clear_stale_candidates(includePrs: boolean, includeIssues: boolean, staleLabel: string, maxCandidates?: number, dryRun: boolean)
Clear Swamp stale-candidate classifications for PRs/issues that became active again
ArgumentTypeDescription
includePrsboolean
includeIssuesboolean
staleLabelstring
maxCandidates?number
dryRunboolean
fn record_activity(id?: string)
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
ArgumentTypeDescription
id?string
fn record_artifact(name: string, contentType: string, content: string, repo?: string, subjectType?: string, subjectNumber?: number, description?: string)
Store one caller-provided large artifact
ArgumentTypeDescription
namestring
contentTypestring
contentstring
repo?string
subjectType?string
subjectNumber?number
description?string
fn render_pr_report(prNumber: number, includePrivate?: boolean, since?: string, until?: string)
Render a timeline-first PR dossier from stored Swamp data only
ArgumentTypeDescription
prNumbernumber
includePrivate?boolean
since?string
until?string

Resources

repoSnapshot(infinite)— Current repository metadata
forkSnapshot(infinite)— Fork metadata index only; not fork activity ingestion
issueSnapshot(infinite)— Current issue state
prSnapshot(infinite)— Current pull request state
prFileSnapshot(infinite)— Current changed-file overview for a PR
repoFileSnapshot(infinite)— Current repository file inventory for codebase heatmap reports
ciStatusSnapshot(180d)— Current CI/check status for a PR
activityEvent(infinite)— Chronological public/private timeline entry
artifactIndex(infinite)— Metadata for large file artifacts
prReport(90d)— Rendered PR dossier markdown and machine-readable source

Files

artifact(text/plain)— Large timeline/report artifact content
04Reports2
@evrardjp/github-codebase-heatmapmodel
github_codebase_heatmap.ts

Heatmap of current repository files by recent GitHub PR-file activity

maintainergithubactivitycodebaseheatmap
@evrardjp/github-project-briefingmodel
github_project_briefing.ts

Daily maintainer briefing from Swamp project activity snapshots and events

maintainerbriefinggithubactivityproject
05Previous Versions3
2026.07.03.5Jul 5, 2026

2026.07.03.5

Fixed: Codebase heatmap now filters PR-file touches, landed PR-file summary counts, and PR-file snapshot totals using the scoped repository plus PR number, avoiding cross-repository PR number collisions and mismatched totals.

Fixed: Codebase heatmap preserves legacy PR-file history with or without a retained merged PR snapshot. When only the PR-file row remains, it keeps the touch count but leaves the touch date unknown instead of treating the snapshot sync time as the last code touch time.

Fixed: Codebase heatmap ignores stale retained PR-file rows that are explicitly marked as not landed, avoiding false landed touches for files removed from a PR before merge or after PR snapshot retention cleanup.

Fixed: Codebase heatmap JSON keeps the existing counts.currentFilesWithTouches key as an alias of the new landed-touch count for dashboard compatibility.

Changed: PR-file snapshots now record landedAt when syncing merged PRs so future reports can classify retained file history without needing the PR snapshot. Open PR file snapshots leave landedAt unset, closed-unmerged snapshots use null, and merged PR syncs mark previously retained files that are no longer in the final PR file list as not landed.

Modified 1 models. Added 1 reports. updated labels

2026.07.03.2Jul 3, 2026
2026.07.03.1Jul 3, 2026
06Stats
A
100 / 100
Downloads
0
Archive size
49.3 KB
  • Has README or module doc2/2earned
  • README has a code example1/1earned
  • README is substantive1/1earned
  • Most symbols documented1/1earned
  • No slow types (deprecated)1/1earned
  • Dependencies pass trust audit2/2earned
  • Has description1/1earned
  • Platform support declared (or universal)2/2earned
  • License declared1/1earned
  • Verified public repository2/2earned
07Platforms
08Labels