The RFC platform for teams.
- Draft
- Discuss
- Decide
RFC123 is a collaborative platform for reviewing GitHub pull requests containing RFCs (Request for Comments). It provides a streamlined interface to view and discuss PR-based RFCs with powerful inline commenting capabilities on Markdown files.
- Next.js 16 - React framework with App Router and Server Components
- React 19.2 - With experimental React Compiler for automatic optimizations
- NextAuth 5 - GitHub OAuth authentication
- Octokit - GitHub API client
- Tailwind CSS 4 - Utility-first CSS framework
- Biome - Fast linter and formatter
- PostHog - Product analytics and error tracking
- Node.js 20+ and pnpm installed
- A GitHub account
- A GitHub OAuth App (instructions below)
- Go to GitHub Settings → Developer settings → OAuth Apps
- Click "New OAuth App"
- Fill in the details:
- Application name: RFC123 (or your preferred name)
- Homepage URL:
http://localhost:3000(for local development) - Authorization callback URL:
http://localhost:3000/api/auth/callback/github
- Click "Register application"
- Note your Client ID and generate a Client Secret
git clone <your-repo-url>
cd rfc-123
pnpm installCopy the example environment file:
cp .env.example .env.localEdit .env.local and fill in the required values:
# GitHub OAuth App credentials
GITHUB_CLIENT_ID=your_github_oauth_app_client_id
GITHUB_CLIENT_SECRET=your_github_oauth_app_client_secret
# NextAuth configuration
# Generate with: openssl rand -base64 32
AUTH_SECRET=your_random_secret_here
# NextAuth URL (optional for local development)
# AUTH_URL=https://your-domain.com
# PostHog configuration (optional)
NEXT_PUBLIC_POSTHOG_KEY=your_posthog_project_api_key
NEXT_PUBLIC_POSTHOG_HOST=https://us.posthog.comGenerate your AUTH_SECRET:
openssl rand -base64 32pnpm devOpen http://localhost:3000 in your browser.
Update the target repository in src/lib/github.ts:
const owner = "your-org"; // Change to your GitHub org/user
const repo = "your-repo"; // Change to your repository nameRFCs should be markdown files (.md) located in a requests-for-comments/ directory in your repository's pull requests.
pnpm dev- Start development server on http://localhost:3000pnpm build- Create production buildpnpm start- Run production serverpnpm lint- Run Biome linterpnpm format- Format code with Biome