Skip to content

Navigation Menu

Sign in
Sign up

Repository files navigation

GitPulse Logo

GitPulse

Build Status Laravel Version Pest Version Livewire Version License

Personal GitHub observability dashboard: stale issues, stale pull requests, and security alerts (Dependabot + Code Scanning) across all your GitHub repositories — public and private.

Built with Laravel 13, Livewire 3, Tailwind CSS 4, Pest. DDD-style layering (DomainApplicationInfrastructureLivewire).

Screenshots

Dashboard Repository Detail

Features (MVP)

  • Repo discovery from your GitHub account (public + private), archived-repo tracking
  • Issues & PR sync with configurable staleness thresholds (global default + per-repo override)
  • Security alerts: Dependabot (REST) + Code Scanning (GraphQL), with GitHub-backed dismiss
  • Hourly scheduled scan + manual "Scan now" button, database queue, atomic progress tracking
  • Rate-limit-aware API clients; no test ever touches the network

Requirements

Setup

composer install
cp .env.example .env # then set GITHUB_TOKEN=ghp_xxx in .env
php artisan key:generate
mkdir -p database && touch database/database.sqlite
php artisan migrate
npm install && npm run build # needs Node.js on PATH

Running

php artisan serve # dashboard at http://127.0.0.1:8000
php artisan queue:work # process scan jobs
php artisan schedule:work # hourly scans (or system cron)
php artisan scan:dispatch --sync # manual full scan (sync)

First scan: run php artisan scan:dispatch --sync once so repositories are discovered before the UI has anything to show.

Configuration (.env)

Key Purpose
GITHUB_TOKEN Personal access token (needs repo + security_events) — required
GITHUB_PER_PAGE API page size (default 100 internally)
GITHUB_RATE_LIMIT_PAUSE Seconds to sleep when rate limit runs low
GITHUB_RATE_LIMIT_RETRY_CAP Max seconds to honor Retry-After
GITPULSE_SCAN_SCHEDULE Scheduler interval (hourly default)

Global staleness default lives in the settings table (stale_threshold_days, seeded to 30). Per-repo overrides via repositories.stale_threshold_days.

Troubleshooting

  • GITHUB_TOKEN not configuredcp .env.example .env then set GITHUB_TOKEN=ghp_xxx
  • Vite manifest not foundnpm install && npm run build (or npm run dev for HMR)
  • No scans yet on dashboard → php artisan scan:dispatch --sync to seed repositories before UI has data
  • SQLSTATE[HY000] unable to open databasemkdir -p database && touch database/database.sqlite && php artisan migrate

Testing

php artisan test

126 tests across Domain units, Application handlers/queries, Infrastructure persistence + fixture-replayed GitHub clients, and Livewire feature tests. No network access in tests.

About

Personal GitHub observability dashboard built with Laravel and Livewire for monitoring stale issues, pull requests, and security alerts.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /