118 lines
4.2 KiB
JSON
118 lines
4.2 KiB
JSON
{
|
|
"schema": 1,
|
|
"id": "ai-agent",
|
|
"title": "AI Agent App",
|
|
"description": "A chat app around an LLM agent with tool calling, retrieval over your documents and streaming answers.",
|
|
"tags": [
|
|
"ai",
|
|
"llm",
|
|
"rag"
|
|
],
|
|
"thumbnail": ".w4c/preview.svg",
|
|
"agentId": "w4c-startup",
|
|
"defaultName": "ai-agent",
|
|
"skills": [
|
|
"project-bootstrap"
|
|
],
|
|
"fields": [
|
|
{
|
|
"key": "agentName",
|
|
"label": "Agent name",
|
|
"type": "text",
|
|
"required": true,
|
|
"placeholder": "Support Copilot"
|
|
},
|
|
{
|
|
"key": "stack",
|
|
"label": "Tech stack",
|
|
"type": "select",
|
|
"options": [
|
|
"Vue 3 + Quasar",
|
|
"Nuxt 3",
|
|
"Next.js",
|
|
"React + Vite",
|
|
"Angular",
|
|
"SvelteKit",
|
|
"SolidStart",
|
|
"Remix",
|
|
"Astro",
|
|
"Laravel + Vue",
|
|
"Django + HTMX",
|
|
"Rails + Hotwire",
|
|
"Phoenix (Elixir)",
|
|
"Spring Boot + React",
|
|
"ASP.NET Core + Blazor",
|
|
"Go + Templ",
|
|
"Rust + Axum",
|
|
"Flutter",
|
|
"React Native (Expo)",
|
|
"SwiftUI",
|
|
"Jetpack Compose (Kotlin)"
|
|
],
|
|
"default": "Next.js",
|
|
"required": true
|
|
},
|
|
{
|
|
"key": "model",
|
|
"label": "Default model",
|
|
"type": "select",
|
|
"options": [
|
|
"deepseek-v4-flash-vision-exp",
|
|
"deepseek-v4-flash",
|
|
"OpenAI",
|
|
"Anthropic",
|
|
"BYOK"
|
|
],
|
|
"default": "deepseek-v4-flash-vision-exp",
|
|
"required": true
|
|
},
|
|
{
|
|
"key": "retrieval",
|
|
"label": "Retrieval",
|
|
"type": "select",
|
|
"options": [
|
|
"pgvector",
|
|
"Qdrant",
|
|
"OpenSearch",
|
|
"None (chat only)"
|
|
],
|
|
"default": "pgvector"
|
|
},
|
|
{
|
|
"key": "tools",
|
|
"label": "Agent tools",
|
|
"type": "textarea",
|
|
"default": "search_documents, http_fetch, run_sql"
|
|
},
|
|
{
|
|
"key": "features",
|
|
"label": "Must-have features",
|
|
"type": "textarea",
|
|
"default": "streaming chat, document upload + RAG, tool calls, conversation history"
|
|
},
|
|
{
|
|
"key": "notes",
|
|
"label": "Additional notes",
|
|
"type": "textarea"
|
|
}
|
|
],
|
|
"promptTemplate": "You are starting a new project from the '{{title}}' template.\n\nRepository: {{repoFullName}}\nAgent: {{agentName}}\nTech stack: {{stack}}\nModel: {{model}}\nRetrieval: {{retrieval}}\nTools: {{tools}}\nMust-have features: {{features}}\nAdditional notes: {{notes}}\n\nBefore writing any code, read README.md, SPEC.md and the .w4c/ folder: they define the scope, routes/screens, data model, flows and acceptance criteria. Then apply the project-bootstrap best practices and work top-down in layers: scaffold → streaming chat → conversation persistence → document ingestion/retrieval → tool calling → usage/limits → quality. Keep model keys server-side and stream tokens end-to-end. Keep docs/PLAN.md, the board and .w4c/project.json in sync as the project evolves. Bundled assets: {{elements}}\n\nFIRST TURN — lay the project out on its board before writing any code. Read `.w4c/boards/roadmap.json` and create one board card per layer in THIS repository (projectId = the repository full name above), prefixing every title with its unicode icon: 🧭 plan & scope, 🎨 design (mockups), 🗺️ architecture diagram, 🗄️ database & forms, ⚙️ backend & API, 💻 frontend (code), 🛡️ admin panel, 📊 control panel, 🔀 workflows, 🚀 deploy, ✅ quality & delivery. Each card body carries the goal, the deliverables, the acceptance criteria (a command or a runtime check) and the references; set the priority labels. Do not create or configure new agents — that is a follow-up, not part of bootstrap. Then report the card list and invite the user to continue on My Boards (/boards); do not start a layer before the user has reviewed the plan.",
|
|
"elements": [
|
|
{
|
|
"kind": "diagram",
|
|
"name": "Architecture",
|
|
"path": ".w4c/diagrams/architecture.excalidraw.json"
|
|
},
|
|
{
|
|
"kind": "board",
|
|
"name": "Project roadmap",
|
|
"path": ".w4c/boards/roadmap.json"
|
|
},
|
|
{
|
|
"kind": "workflow",
|
|
"name": "CI Build",
|
|
"path": ".w4c/workflows/ci-build.yaml"
|
|
}
|
|
]
|
|
}
|