This guide helps you set up the repository for local development after cloning.
- Node.js (v18 or higher)
- npm or yarn
- Git
- (Optional) Google Cloud SDK for GCP deployments
- (Optional) GitHub App credentials for GitHub integration
npm installThe repository uses sanitized placeholder values for security. To develop locally, you need to create local environment files with your actual credentials.
Copy the example file and add your credentials:
cp github.env github.env.localThen edit github.env.local with your actual GitHub App credentials:
# GitHub App Credentials
GITHUB_APP_ID="your-app-id"
GITHUB_APP_CLIENT_ID="your-client-id"
GITHUB_APP_CLIENT_SECRET="your-client-secret"
GITHUB_APP_WEBHOOK_SECRET="your-webhook-secret"
# Path to your downloaded private key .pem file
PRIVATE_KEY_PATH="/path/to/your/private-key.pem"
# Google Cloud Project ID
GCP_PROJECT_ID="your-gcp-project-id"Note: The .local files are gitignored and will NOT be committed to the repository.
# Start the main dev server
npm run dev
# Or start all services (OAuth + server + dev)
npm run dev:fullThe application will be available at:
- Main app: http://localhost:5173 (Vite dev server)
- API server: http://localhost:4000
- OAuth server: http://localhost:3002
Scripts will load environment variables in this order:
github.env.local(your local credentials, gitignored)github.env(sanitized placeholders, committed to repo)
npm run dev- Start Vite development servernpm run dev:full- Start OAuth, API server, and Vite concurrentlynpm run build- Build for productionnpm run preview- Preview production buildnpm run test- Run testsnpm run oauth- Start OAuth server onlynpm run server- Start API server only
If you want to use GitHub integration features:
- Create a GitHub App at https://github.com/settings/apps
- Configure OAuth callback URL:
http://localhost:3002/oauth/callback - Generate a private key and download the
.pemfile - Copy credentials to
github.env.localas shown above
For Google Cloud deployments:
- Install Google Cloud SDK
- Authenticate:
gcloud auth login - Set project:
gcloud config set project YOUR_PROJECT_ID - Run deployment script:
./deployment/gcp/deploy_prod.sh YOUR_PROJECT_ID
See deployment/gcp/README.md for detailed deployment instructions.
- Make sure you've created
github.env.localwith your actual credentials - Check that the file is in the root directory
- Verify the environment variables are set correctly
- Ensure OAuth server is running on port 3002
- Check that your GitHub App callback URL matches
http://localhost:3002/oauth/callback - Verify the client ID and secret are correct
- Kill existing processes:
npm run bridge:kill - Check for other services using ports 3002, 4000, or 5173
- NEVER commit files containing real credentials
- The
.gitignoreis configured to exclude all.localfiles - The
github.envfile in the repository contains only placeholders - Private keys (
.pemfiles) are automatically excluded from git
For more detailed documentation, see: