Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
Astro app that unifies GitHub issues, PRs, discussions, and a roadmap page for any GitHub organization.

A modern dashboard built with VisActor charts, dark mode, and data visualization for seamless analytics.
GitHub Project Board is a server-side rendered Astro application that unifies GitHub issues, pull requests, and discussions for any GitHub organization into a single board with repository tabs, advanced filtering, and a dedicated roadmap page with README viewer.
GitHub Project Board is a server-side rendered Astro v6 application that gives a unified view of GitHub issues, pull requests, and discussions for any GitHub organization. It takes a GitHub organization name, an optional personal access token, and a repository list as input, and produces a multi-tab board page plus a dedicated roadmap page with a README viewer as output. It runs on Node.js using the @astrojs/node adapter and uses both the GitHub REST API and GraphQL API for data. Default configuration targets the withstudiocms organization.
GitHub Project Board is for maintainers of multi-repository organizations who want one surface for triage. It is also for project managers who need a visual roadmap from GitHub data without paying for a separate tracker, and for teams that want a self-hosted, server-side rendered board that works without JavaScript-dependent client rendering.
Set up is straightforward: install dependencies with pnpm, optionally add a GITHUB_TOKEN to .env, edit src/config.ts to set the organization, allowed repositories, and roadmap repository, then run pnpm dev. On each page request, Astro's server-side rendering fetches fresh data from GitHub REST and GraphQL endpoints, applies any user-selected filters, renders the full HTML, and sends it ready to the browser. In-memory caching with a 5-minute TTL minimizes repeated API calls.
Configuration lives in src/config.ts. You can restrict the board to specific repositories with the allowedRepositories array, set a default repository tab, choose a custom repository sorting function, and toggle discussion support via the enableDiscussions flag. Without a token, the GitHub REST API allows 60 requests per hour; with a token, that rises to 5,000. The build output runs on any Node.js host — Vercel, Netlify, Railway, or a plain VPS with node dist/server/entry.mjs — and supports modern browsers with native dialog elements (Chrome 37+, Firefox 98+, Safari 15.4+).
Yes, the source is published under the MIT license, so you can use, modify, and self-host it freely.
No token is needed for basic issue and PR data, but unaudited requests are limited to 60 per hour. A GitHub personal access token raises the limit to 5,000 per hour and is required to load GitHub Discussions via the GraphQL API.
Yes. Set the allowedRepositories array in src/config.ts to list the repository names you want to display. Leaving it empty shows every repository in the organization.
Node.js 22 or the latest LTS is required, and the package manager is pnpm. The app uses Astro's Node.js adapter for server-side rendering.
