Development Setup
To contribute to Octogriffin, you need to set up the project locally. Follow this guide to get up and running in minutes.
Prerequisites
Node.js 22+
Docker (for PostgreSQL)
Expose Localhost
GitHub Webhooks require a public URL to reach your machine. Since localhost is not accessible from the internet, we use a tunnel.
Required to receive webhook events locally.
Alternatives
Create GitHub App
Go to Developer Settings > New GitHub App and fill in the details below.
1. General
2. Permissions
Set the following Repository permissions to Read-only.
| Category | Access |
|---|---|
| Actions | Read-only |
| Contents | Read-only |
| Discussions | Read-only |
| Issues | Read-only |
| Metadata (Mandatory) | Read-only |
| Packages | Read-only |
| Pull Requests | Read-only |
3. Subscribe to events
Next, scroll down to the Subscribe to events section and check the following boxes:
Important
Fork & Clone
If you plan to contribute, fork the repository first.
git clone https://github.com/YOUR_USERNAME/octogriffin.git
cd octogriffinInstall Dependencies
Install the project dependencies.
yarn installConfigure Environment
Copy Configuration Files
cp .env.example .env
cp apps/web/.env.local.example apps/web/.env.local.env is only used by Docker for the database.Fill apps/web/.env.local
Use the generator below to create secure keys. Copy the block into your local env file, then fill in the GitHub credentials from Step 2.
# Generated Security Keys
GITHUB_WEBHOOK_SECRET=""
NEXTAUTH_SECRET=""
ENCRYPTION_KEY=""
HEALTH_CHECK_SECRET=""
# Paste your GitHub App Credentials here
GITHUB_CLIENT_ID=""
GITHUB_CLIENT_SECRET=""
# Paste your GitHub App URL here
NEXT_PUBLIC_GITHUB_APP_URL="https://github.com/apps/my-github-app"Start Database
Start the PostgreSQL container from the project root.
docker compose up -dDB_URL in apps/web/.env.local.Initialize Database
Run the following commands to generate the client, apply migrations, and seed demo data.
# Switch to the web app directory
cd apps/web
# Generate Prisma Client
prisma generate
# Push schema to DB
prisma migrate deploy
# Run Seeder
prisma db seedLaunch Server
Everything is ready! Start the development server:
yarn devOpen http://localhost:3000 to see your app.