Build Chrome Extensions in seconds using AI.
This project is a high-performance web application that leverages Cerebras for ultra-fast AI inference and the Raindrop Framework for a scalable, service-oriented backend. It generates full-featured, Manifest V3 compliant browser extensions from simple text prompts.
- Instant Generation: Powered by
gpt-oss-120bvia Cerebras, offering blazing fast code generation. - Structured Output: Robust JSON generation using Native JSON Mode to ensure valid, compilable code every time.
- Agentic Interface (MCP): Implements the Model Context Protocol, allowing AI agents (like Claude or IDE assistants) to interact with the builder programmatically (
generate_extension,check_status). - Streaming UI: Real-time progress updates ("Generating...", "Compressing...", "Done") for a responsive user experience.
- Secure & Scalable: Managed authentication via WorkOS and asynchronous job processing.
Built on Raindrop, a modern comprehensive framework for scalable apps.
The backend (/backend) is composed of three micro-services working in unison:
-
service "api":- Role: The public gateway (Hono.js). Handles Authentication (WorkOS), validates requests, and serves the REST API.
- Logic: Enqueues generation jobs to the
GENERATION_QUEUEand serves status/downloads.
-
service "job-processor":- Role: The background worker.
- Logic: Consumes jobs from the queue, calls the AI Service, creates the ZIP archive, and uploads to Object Storage.
- Scalability: Decoupled from the API to handle high load.
-
mcp_service "extension-builder":- Role: The Agent Interface.
- Logic: Exposes the application logic as Tools (Functions) that LLMs can call. This enables "Agentic" usage where an AI assistant drives the application.
- Database:
smart_sql_database "extension_db"(Production-grade SQL). - Storage:
bucket "extension_storage"(Object storage for generated ZIPs). - Queue:
queue "generation_queue"(Async processing).- Note: The architecture follows a "Ports & Adapters" pattern. While currently using the Raindrop Internal Queue, the system is designed to seamlessly plug in Vultr Kafka for massive scale.
- AI: Cerebras Inference API (
gpt-oss-120b).
- Frontend: React, Vite, TypeScript, TailwindCSS.
- Backend: TypeScript, Hono, Raindrop Framework.
- AI: Cerebras (
gpt-oss-120b). - Auth: WorkOS.
To ensure high reliability and Strict Manifest V3 compliance, this project uses a multi-layered approach:
- Global JSON Schema: Valid permissions are dynamically fetched from the Chrome Manifest Schema. This creates a strict whitelist, preventing the AI from hallucinating fake or legacy permissions.
- Golden Reference Injection: A perfect, "Golden" example of a Manifest V3 extension is injected into the system prompt. This uses One-Shot Prompting to visually anchor the model to the correct syntax.
- Framework Contract: The AI does NOT write the entire codebase. It fills in specific slots (feature logic, UI) within a pre-built, robust Service Worker router (
background_router). This guarantees that async message handling—the hardest part of V3—is always correct. - Rule Enforcement: Explicit deny-lists block deprecated patterns like
webRequestBlockingandbrowser_action.
- Node.js 18+
- Raindrop CLI (
npm i -g @liquidmetal-ai/raindrop@latest) - Cerebras API Key
- WorkOS Keys
-
Clone & Install:
git clone <repo> cd ai-extension-builder npm install --prefix frontend npm install --prefix backend
-
Environment Setup: Copy
.env.exampleto.envinbackendand fill in your keys. -
Run Locally (Full Stack): Start the Raindrop backend services:
cd backend npm run raindrop:build:startStart the Frontend:
cd frontend npm run dev -
Access: Open
http://localhost:5173.