ramonclaudio-coderabbit
libactionssource: ok · refreshed
CodeRabbit Server Actions
Next.js server actions for CodeRabbit API. Handles API calls server-side where CODERABBIT_API_KEY is securely available.
npx shadcn add "https://coderabbit-shadcn-registry.vercel.app/r/actions.json"free
Visual style
terminal-mono
Tags auto-generated by rules on 9/24/2026 — empty means no evidence, not lack of support.
Dependencies
Bundle weight · lightRegistry dependencies
https://coderabbit-shadcn-registry.vercel.app/r/types.jsonhttps://coderabbit-shadcn-registry.vercel.app/r/client.json
Files1 · source cached 10/8/2026, 5:34:53 AM
registry/default/lib/actions.ts
'use server'
/**
* CodeRabbit Server Actions for Next.js
* Handles API calls server-side where CODERABBIT_API_KEY is available
*/
import { createCodeRabbitClient } from '@/registry/default/lib/client'
import type {
ReportGenerateRequest,
ReportResult,
} from '@/registry/default/lib/types'
/**
* Check if CodeRabbit API is configured (server-side)
* Call this from client components to check configuration status
*/
export async function checkCodeRabbitConfig(): Promise<{ isConfigured: boolean }> {
const client = createCodeRabbitClient()
return { isConfigured: client.isConfigured() }
}
/**
* Generate a CodeRabbit report (server-side)
* This runs on the server where CODERABBIT_API_KEY is available
*
* @example
* ```tsx
* 'use client'
* import { generateReportAction } from '@/lib/actions'
*
* const { data, error } = await generateReportAction({
* from: '2024-01-01',
* to: '2024-01-31',
* promptTemplate: 'Sprint Report'
* })
* ```
*/
export async function generateReportAction(
request: ReportGenerateRequest
): Promise<{ data?: ReportResult[]; error?: string }> {
try {
const client = createCodeRabbitClient()
if (!client.isConfigured()) {
return {
error: 'CODERABBIT_API_KEY not configured. Set the environment variable in your .env.local file.',
}
}
const results = await client.generateReport(request)
return { data: results }
} catch (err) {
return {
error: err instanceof Error ? err.message : 'Failed to generate report',
}
}
}