Skip to content

Statusnone420/PR-Dashboard

Repository files navigation

PR Dashboard

Find GitHub issues worth contributing to, not just random noise.

License: MIT Vite Tailwind CSS Live on Vercel Local first Security notes

Live app | Security | License

PR Dashboard Find Contributions results

What It Does

PR Dashboard is a local-first GitHub issue finder for people who want to make better contribution decisions. It keeps the familiar search flow, then adds deterministic scoring, contribution guidance, and a lightweight Board so promising candidates do not get lost.

The app runs entirely in the browser. There is no backend sync in v1, no model API dependency, and no app-owned server receiving your GitHub token or Board data. Export/Import Local Data is the current phone/desktop bridge.

Product Tour

Find Contributions Board workflow
Find Contributions results showing scored public issue candidates Contribution Board with active workflow lanes and a completed proof card
Score and compare real public issues with transparent fit signals before saving one to the Board. Move candidates through local review lanes, track checklist progress, and keep completed work separate.
Activity proof and reminders API limits
Activity view with Proof Log and Review reminders Dashboard API limits popover showing REST core and Search buckets
Keep local completion history, review reminders, and learned feedback without a backend account or remote sync. See primary REST/core and Search rate-limit buckets from response headers or a manual check.

Highlights

  • Find Contributions and Lookup search GitHub issues with contribution-focused filters, exact issue URLs, and owner/repo#123 references.
  • Match/Fit Score and Contribution Brief combine transparent scoring rows, setup/platform evidence, pass reasons, and first-step guidance.
  • Board workflow saves candidates into local lanes, tracks checklist progress, and keeps Save/Remove/Passed actions reversible.
  • Activity owns Proof Log, Review reminders, and learned feedback/history from local workflow actions.
  • Local controls cover Hidden Results, Profile preferences, and Export/Import Local Data without exporting tokens.
  • API limits and optional token show REST/core and Search buckets; an optional token raises limits while staying browser-local unless you choose remember mode.

v1 Local-First Scope

v1 deliberately ships without backend sync, GitHub OAuth, GitHub App auth, encrypted sync, a database, or a model API dependency. The app has no app-owned server receiving your GitHub token or Board data. Profile/header avatars can render from safe GitHub avatar URLs returned by Settings connection checks; GitHub auth and encrypted sync remain future backend-sync work.

Quick Start

npm install
npm run dev

Then open the local URL printed by Vite.

Useful commands:

npm test
npm run build
npm run test:layout
npm run test:readme-screenshots

How It Handles Data

PR Dashboard talks directly to GitHub from your browser with read-only REST and Search API calls.

  • Public searches work without a token.
  • Tokens are optional and only used for GitHub API requests.
  • Find Contributions uses GitHub Search API limits. Exact Lookup and saved-card refresh use normal REST/core issue endpoints; see GitHub REST API rate limits and GitHub Search API limits.
  • API limits are tracked from response headers when possible. The manual Check limits action calls GitHub's rate-limit endpoint and shows the primary core and search buckets.
  • Remembering a token is opt-in, uses browser localStorage, and is never exported.
  • Saved board cards, Proof Log entries, Activity history, learned feedback, profile metadata, contribution preferences, Hidden Results keys, and board-derived reminder data stay local to your browser.
  • GitHub avatar images load directly from safe GitHub avatar URLs. Tokens are never placed in avatar URLs or sent with image requests.
  • Export/Import Local Data moves board, hidden, profile, preferences, learned feedback, and Proof Log data between browsers.
  • Exports exclude GitHub tokens, remember-token settings, repo metadata cache, score/setup enrichment cache, raw setup bodies, Authorization headers, API errors, secret-bearing URLs, and private data.
  • Setup evidence caches normalized summaries only, not raw setup text or raw config bodies.
  • Hidden results are compact issue/repo keys and timestamps only, not issue titles, bodies, labels, repo metadata, or tokens.
  • Proof Log is local marked-complete history. It does not verify remote merges.

Read the full security notes in docs/SECURITY.md.

Project Structure

src/
  api/                 GitHub API, enrichment, setup, and repo metadata helpers
  state/               Local app store
  appMetrics.js        Local app metric summaries
  boardConstants.js    Board lane and refresh constants
  boardMode.js         Board display mode helpers
  boardModel.js        Board storage, migration, and movement helpers
  boardRefresh.js      Saved-card refresh orchestration
  contributionBrief.js Rules-based contribution guidance
  dashboardHero.js     Dashboard next-action recommendation logic
  dashboardMetrics.js  Local dashboard metric summaries
  dashboardReviewFlow.js Local review-flow summaries
  githubActivity.js    Saved-card activity comparison helpers
  hiddenItems.js       Local hidden issue/repo storage
  inspectorResize.js   Inspector width persistence and keyboard resize helpers
  issueKeys.js         Canonical issue and pull request keys
  proofLog.js          Local completed-contribution history
  profile.js           Local non-secret profile metadata
  contributionPreferences.js Local contribution preference storage
  matchFeedback.js     Local learned feedback signals
  platformFilters.js   Target platform filter and evidence helpers
  platformSetupScan.js Bounded background setup scan helpers
  localData.js         Local export/import helpers
  localAlerts.js       Local workflow alert summaries
  lookup.js            Exact Lookup parsing
  main.js              SPA rendering and UI bindings
  matchScore.js        Match/Fit Score logic
  routing.js           Hash route parsing
  searchInteractions.js Filter and preset interactions
  security.js          Escaping and GitHub URL validation
  styles.css           Tailwind component layer and app CSS
test/                  Node test suite
docs/SECURITY.md       Security and token handling notes

Public Proof Example

One public example: PR Dashboard was used to find TEAMMATES/teammates#13997 and track the resulting merged pull request, TEAMMATES/teammates#13998. This is a factual workflow example only.

This is not an endorsement, partnership, sponsorship, or affiliation with TEAMMATES.

License

PR Dashboard is open source under the MIT License.

MIT allows use, copying, modification, distribution, and commercial use, but the copyright and license notice must stay with copies or substantial portions of the software.

This project is not affiliated with GitHub.

About

Find GitHub issues; contribute to the community.

Resources

License

Security policy

Stars

Watchers

Forks

Contributors