Back to templates

Template details

GitHub Project Board

Astro app that unifies GitHub issues, PRs, discussions, and a roadmap page for any GitHub organization.

About this template

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.

What is GitHub Project Board?

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.

Key Features

  • Repository Tabs — Browse issues and PRs across repositories, sorted alphabetically by default with a custom sort function available.
  • Advanced Filtering — Filter items by state (open/closed/all), type (issue/PR/discussion/all), and repository from the FilterBar component.
  • Roadmap Page — Shows discussions, issues, and pull requests in a three-column layout for a single repository configured as the roadmap repository.
  • README Viewer — Opens repository README files in a modal with full markdown rendering via markdown-it, including headings, code blocks, tables, and anchor links.
  • Theme Support — Light, dark, and auto theme modes toggled by ThemeSelector, with preferences persisted to localStorage.
  • Smart Caching — All GitHub API responses are cached in memory with a 5-minute TTL to cut repeated requests and speed up page loads.
  • Responsive Design — Interface built with CSS variables and modern CSS Grid, usable on mobile and desktop.

Who is it for?

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.

What can you do with GitHub Project Board?

  • Open-source maintainers: watch open issues and PRs across every repository in an org, then click through to GitHub for details.
  • Roadmap planners: set the roadmap repository in config and get a three-column view of discussions, issues, and PRs for sprint reviews.
  • Documentation readers: use the README viewer modal to scan repository docs, navigate via the table of contents, and follow anchor links without leaving the page.

How does GitHub Project Board work?

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 and deployment

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+).

FAQ

Is GitHub Project Board free?

Yes, the source is published under the MIT license, so you can use, modify, and self-host it freely.

Does GitHub Project Board require a GitHub token?

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.

Can I show only specific repositories?

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.

Which Node.js version is required?

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.

screenshot of GitHub Project Board on template0.com