rcagent#222
Conversation
|
Important Review skippedAuto reviews are limited based on label configuration. 🏷️ Required labels (at least one) (1)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI (base), Organization UI (inherited) Review profile: ASSERTIVE Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Pull request overview
Adds a new RCAgent kit to AgentKit: a 3-stage Lamatic flow pipeline (planner/analyzer/synthesizer) plus a Next.js “incident room” demo UI for running the pipeline and rendering a markdown postmortem.
Changes:
- Introduces the
kits/rcagentkit with Lamatic flow exports, prompts, constitutions, and kit metadata. - Adds a Next.js app (
kits/rcagent/apps) that orchestrates the 3-step pipeline (mock + real Lamatic execution) and displays intermediate outputs + final report. - Adds supporting kit docs and environment templates (
README.md,agent.md,.env.example, etc.).
Reviewed changes
Copilot reviewed 34 out of 36 changed files in this pull request and generated 13 comments.
Show a summary per file
| File | Description |
|---|---|
| tatus | Added file containing ANSI-colored git diff output (appears unintended). |
| kits/rcagent/README.md | Kit setup and local run instructions. |
| kits/rcagent/prompts/rcagent-synthesizer_user.md | Synthesizer user prompt template. |
| kits/rcagent/prompts/rcagent-synthesizer_system.md | Synthesizer system prompt template. |
| kits/rcagent/prompts/rcagent-planner_user.md | Planner user prompt template. |
| kits/rcagent/prompts/rcagent-planner_system.md | Planner system prompt template. |
| kits/rcagent/prompts/rcagent-analyzer_user.md | Analyzer user prompt template. |
| kits/rcagent/prompts/rcagent-analyzer_system.md | Analyzer system prompt template. |
| kits/rcagent/model-configs/rcagent-synthesizer_config.ts | Synthesizer model-config file. |
| kits/rcagent/model-configs/rcagent-planner_config.ts | Planner model-config file. |
| kits/rcagent/model-configs/rcagent-analyzer_config.ts | Analyzer model-config file. |
| kits/rcagent/lamatic.config.ts | Kit metadata (name/tags/steps/env keys/links). |
| kits/rcagent/flows/rcagent-synthesizer.ts | Lamatic flow export for synthesizer stage. |
| kits/rcagent/flows/rcagent-planner.ts | Lamatic flow export for planner stage. |
| kits/rcagent/flows/rcagent-analyzer.ts | Lamatic flow export for analyzer stage. |
| kits/rcagent/constitutions/default.md | Kit constitution (safety/data handling/tone). |
| kits/rcagent/apps/tsconfig.json | TypeScript config for the Next.js app. |
| kits/rcagent/apps/postcss.config.mjs | PostCSS/Tailwind integration. |
| kits/rcagent/apps/package.json | App dependencies/scripts (Next/React/Tailwind/etc.). |
| kits/rcagent/apps/package-lock.json | Locked dependency tree for the app. |
| kits/rcagent/apps/orchestrate.js | Pipeline step definitions + env bindings. |
| kits/rcagent/apps/next.config.mjs | Next.js configuration. |
| kits/rcagent/apps/next-env.d.ts | Next.js TS env typings. |
| kits/rcagent/apps/lib/lamatic-client.ts | Lamatic client initialization + env validation. |
| kits/rcagent/apps/components/rca-report.tsx | Markdown report renderer + copy-to-clipboard. |
| kits/rcagent/apps/components/pipeline-view.tsx | Pipeline progress/step output UI. |
| kits/rcagent/apps/components/incident-form.tsx | Incident input form with demo defaults. |
| kits/rcagent/apps/components.json | shadcn/ui component configuration. |
| kits/rcagent/apps/app/page.tsx | Main incident-room page (runs pipeline steps). |
| kits/rcagent/apps/app/layout.tsx | Root layout and metadata for the app. |
| kits/rcagent/apps/app/globals.css | Tailwind v4 globals/theme variables. |
| kits/rcagent/apps/actions/orchestrate.ts | Server action that executes Lamatic flows (mock + real). |
| kits/rcagent/apps/.env.example | App env template for Lamatic + flow IDs. |
| kits/rcagent/agent.md | Kit overview and flow contract documentation. |
| kits/rcagent/.gitignore | Kit-level ignores for app builds/env files. |
| kits/rcagent/.env.example | Kit-level env template (duplicate of apps template). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| [1mdiff --git a/registry.json b/registry.json[m | ||
| [1mindex 044f58f..fcf2b64 100644[m | ||
| [1m--- a/registry.json[m | ||
| [1m+++ b/registry.json[m | ||
| [36m@@ -3,9 +3,9 @@[m |
| "node_modules/next": { | ||
| "version": "15.2.4", | ||
| "resolved": "https://registry.npmjs.org/next/-/next-15.2.4.tgz", | ||
| "integrity": "sha512-VwL+LAaPSxEkd3lU2xWbgEOtrM8oedmyhBqaVNmgKB+GvZlCy9rgaEc+y2on0wv+l0oSFqLtYD6dcC1eAedUaQ==", | ||
| "deprecated": "This version has a security vulnerability. Please upgrade to a patched version. See https://nextjs.org/blog/CVE-2025-66478 for more details.", | ||
| "license": "MIT", |
| "lamatic": "^0.3.2", | ||
| "lucide-react": "^0.454.0", | ||
| "next": "15.2.4", | ||
| "next-themes": "^0.4.6", | ||
| "react": "^18.3.1", |
| <h4 className={`text-base font-semibold ${isActive ? "text-slate-950 dark:text-white" : "text-slate-700 dark:text-slate-300"}`}> | ||
| {step.name} | ||
| </h4> | ||
| <p className="text-xs text-slate-500 dark:text-slate-450">{step.description}</p> |
| export default { | ||
| "memories": "@model-configs/rcagent-planner_config.ts", | ||
| "messages": "@model-configs/rcagent-planner_config.ts", | ||
| "attachments": "@model-configs/rcagent-planner_config.ts" | ||
| }; |
| export default { | ||
| "memories": "@model-configs/rcagent-synthesizer_config.ts", | ||
| "messages": "@model-configs/rcagent-synthesizer_config.ts", | ||
| "attachments": "@model-configs/rcagent-synthesizer_config.ts" | ||
| }; |
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
| [1mdiff --git a/registry.json b/registry.json[m | ||
| [1mindex 044f58f..fcf2b64 100644[m | ||
| [1m--- a/registry.json[m | ||
| [1m+++ b/registry.json[m | ||
| [36m@@ -3,9 +3,9 @@[m |
| p: ({ children }) => <p className="text-sm leading-relaxed mb-4 text-slate-600 dark:text-slate-355">{children}</p>, | ||
| ul: ({ children }) => <ul className="list-disc pl-5 mb-4 text-sm space-y-1.5 text-slate-600 dark:text-slate-355">{children}</ul>, | ||
| li: ({ children }) => <li>{children}</li>, | ||
| code: ({ children }) => <code className="bg-slate-50 dark:bg-slate-900 px-1.5 py-0.5 rounded text-xs font-mono text-slate-800 dark:text-slate-200">{children}</code>, | ||
| pre: ({ children }) => <pre className="bg-slate-50 dark:bg-slate-900 p-4 rounded-xl border border-slate-100 dark:border-slate-800 overflow-x-auto text-xs font-mono text-slate-750 dark:text-slate-300 mb-4">{children}</pre>, |
| <h4 className={`text-base font-semibold ${isActive ? "text-slate-950 dark:text-white" : "text-slate-700 dark:text-slate-300"}`}> | ||
| {step.name} | ||
| </h4> | ||
| <p className="text-xs text-slate-500 dark:text-slate-450">{step.description}</p> |
|
|
||
| {/* Intermediate Output details */} | ||
| {isSuccess && step.data && ( | ||
| <div className="bg-slate-50 dark:bg-slate-900/50 p-4 rounded-xl border border-slate-100 dark:border-slate-800 text-xs font-mono text-slate-600 dark:text-slate-350 max-h-48 overflow-y-auto whitespace-pre-wrap"> |
| "DEPLOYMENT ENVIRONMENT CONFIG:\n" + | ||
| "PORT=3000\n" + | ||
| "DB_URL=postgresql://localhost:5432/mydb\n" + | ||
| "JWT_SECRET=super-secret-auth-key-12345" |
| export default { | ||
| "memories": "@model-configs/rcagent-planner_config.ts", | ||
| "messages": "@model-configs/rcagent-planner_config.ts", | ||
| "attachments": "@model-configs/rcagent-planner_config.ts" | ||
| }; |
| export default { | ||
| "memories": "@model-configs/rcagent-analyzer_config.ts", | ||
| "messages": "@model-configs/rcagent-analyzer_config.ts", | ||
| "attachments": "@model-configs/rcagent-analyzer_config.ts" | ||
| }; |
| export default { | ||
| "memories": "@model-configs/rcagent-synthesizer_config.ts", | ||
| "messages": "@model-configs/rcagent-synthesizer_config.ts", | ||
| "attachments": "@model-configs/rcagent-synthesizer_config.ts" | ||
| }; |
| "lucide-react": "^0.454.0", | ||
| "next": "15.2.4", | ||
| "next-themes": "^0.4.6", |
| throw new Error( | ||
| "All Workflow IDs in environment variables are not set. Please add it to your .env.local file." | ||
| ); |
PR Checklist
1. Select Contribution Type
kits/<category>/<kit-name>/)bundles/<bundle-name>/)templates/<template-name>/)2. General Requirements
kebab-caseand matches the flow IDREADME.md(purpose, setup, usage)3. File Structure (Check what applies)
config.jsonpresent with valid metadata (name, description, tags, steps, author, env keys)flows/<flow-name>/(where applicable) include:config.json(Lamatic flow export)inputs.jsonmeta.jsonREADME.md.env.examplewith placeholder values only (kits only)config.jsonnode graphs (changes via Lamatic Studio export)4. Validation
npm install && npm run devworks locally (kits: UI runs; bundles/templates: flows are valid)[kit] Add <name> for <use case>)