Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions .dev.vars.example
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
# --- Integration tests ---
TEST_DATABASE_URL="postgresql://user:password@localhost:5432/codra"

# --- AI provider ---
GEMINI_API_KEY="REPLACE_WITH_YOUR_GEMINI_API_KEY"
# --- LLM provider config encryption ---
LLM_CONFIG_ENCRYPTION_KEY="REPLACE_WITH_A_LONG_RANDOM_ENCRYPTION_KEY"

# --- GitHub App and OAuth ---
GITHUB_APP_WEBHOOK_SECRET="REPLACE_WITH_YOUR_WEBHOOK_SECRET"
Expand All @@ -16,6 +16,8 @@ GITHUB_CLIENT_SECRET="REPLACE_WITH_YOUR_CLIENT_SECRET"
APP_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\nREPLACE_WITH_YOUR_GITHUB_APP_PRIVATE_KEY_CONTENT\n-----END RSA PRIVATE KEY-----"

# --- Cloudflare API ---
# Required permissions: Queues Edit for DLQ actions, Workers AI Read for
# Cloudflare model catalog discovery.
CF_ACCOUNT_ID="REPLACE_WITH_YOUR_CLOUDFLARE_ACCOUNT_ID"
CF_API_TOKEN="REPLACE_WITH_CLOUDFLARE_API_TOKEN"

Expand Down
1 change: 1 addition & 0 deletions .env.test.example
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ DASHBOARD_ALLOWED_USERS="devarshishimpi"

APP_URL="https://codra.test"
BOT_USERNAME="codra-test-app"
LLM_CONFIG_ENCRYPTION_KEY="fake-local-llm-config-encryption-key"

# Required. Must point at a disposable Postgres database because tests reset and
# write data while running.
Expand Down
3 changes: 2 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,8 @@ cp .dev.vars.example .dev.vars
You will need to set up:
- A GitHub App (for webhooks/checks).
- A GitHub OAuth App (for dashboard authentication).
- A Gemini API Key.
- `LLM_CONFIG_ENCRYPTION_KEY` for encrypting dashboard-managed provider API keys.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P3 Inconsistent list formatting

The newly added items for LLM configuration are missing the bullet point prefix ('- ') used in the preceding lines (lines 37-38). This breaks the Markdown list structure and results in inconsistent visual formatting in the rendered document.

Suggested change
- `LLM_CONFIG_ENCRYPTION_KEY` for encrypting dashboard-managed provider API keys.
- `LLM_CONFIG_ENCRYPTION_KEY` for encrypting dashboard-managed provider API keys.
- LLM providers and model credentials from the Settings dashboard.

Comment thread
devarshishimpi marked this conversation as resolved.
- LLM providers and model credentials from the Settings dashboard.
- A Hyperdrive local connection string for `wrangler dev`.
- A direct `DATABASE_URL` for migrations.

Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ Codra listens to GitHub pull request events, runs AI-powered review jobs, posts
- Dead letter queue inspection, replay, and purge workflows
- GitHub OAuth dashboard authentication
- External PostgreSQL storage through Cloudflare Hyperdrive
- Google Gemini and Cloudflare Workers AI model providers
- Dashboard-managed LLM providers for OpenAI, OpenRouter, Anthropic, Google, and Cloudflare models
- Repository settings for labels, skipped globs, custom rules, and model routing

## How It Works
Expand All @@ -65,7 +65,7 @@ Codra listens to GitHub pull request events, runs AI-powered review jobs, posts
- **Dashboard**: React, Vite, Tailwind CSS, Radix UI, Recharts
- **Data**: PostgreSQL, Cloudflare Hyperdrive, Cloudflare KV
- **Queues**: Cloudflare Queues with DLQ workflows
- **Models**: Google Gemini and Cloudflare Workers AI
- **Models**: OpenAI, OpenRouter, Anthropic, Google, and Cloudflare providers
- **GitHub**: GitHub App webhooks, checks, reviews, and OAuth
- **Quality**: TypeScript, Zod, Vitest, Playwright browser tests

Expand Down
Loading