Everything you need to build and deploy AI apps with KiroCore
KiroCore is a universal AI agent platform that transforms a single codebase into multiple specialized applications through simple configuration files.
Build once, deploy unlimited AI applications
New apps in 5 minutes with simple config files
Powered by Google Gemini 2.5 Flash
Get KiroCore running in 3 minutes with these simple steps.
npm installGet your free API key from Google AI Studio
Add to server/.env:
GEMINI_API_KEY=your_api_key_here✅ That's it! You're ready to go.
Try StudyBuddy at /study-buddy or IdeaForge at /idea-forge
Copy example files:
cp .env.example .env.localcp server/.env.example server/.envnpm run devRun both frontend and backend
npm run dev:frontendFrontend only (port 3000)
npm run dev:backendBackend only (port 3001)
AI tutor for education and learning
/study-buddyCreative brainstorming partner
/idea-forgeProgramming tutor
/code-mentorCreative writing companion
/story-weaverAdd a new AI app in under 5 minutes with just a config file.
mkdir apps/my-appCreate apps/my-app/agent.config.ts:
const config = {
name: "MyApp",
description: "My AI assistant",
icon: "FiStar",
systemPrompt: `You are a helpful AI assistant...`,
welcomeMessage: "Hello! How can I help?",
features: [
"Feature 1",
"Feature 2",
"Feature 3"
],
theme: {
primary: "#8b5cf6",
secondary: "#a78bfa",
accent: "#7c3aed"
}
};
export default config;Navigate to:
http://localhost:3000/my-appThe platform automatically discovers new apps. No need to restart the server or modify core code!
Familiar, intuitive chat UI with conversation history and sidebar
Rich text with syntax highlighting and code block copy
Power user features with Ctrl+N, Ctrl+B, Ctrl+E shortcuts
Save conversations as PDF for offline reference
Each app has distinct AI behavior and tone
Conversations saved in localStorage, survive page refresh
/api/chatSend a message to the AI agent
{
"message": "Explain React hooks",
"appType": "study-buddy",
"conversationHistory": [
{
"role": "user",
"content": "Previous message",
"timestamp": "2024-01-01T00:00:00Z"
}
]
}{
"success": true,
"response": "React hooks are functions...",
"appType": "study-buddy",
"timestamp": "2024-01-01T00:00:00Z",
"source": "gemini-ai"
}/api/appsGet all available apps
{
"apps": [
{
"id": "study-buddy",
"name": "StudyBuddy",
"description": "Your AI study companion",
"icon": "FiBookOpen",
"theme": {
"primary": "#3b82f6",
"secondary": "#60a5fa",
"accent": "#93c5fd"
},
"features": ["Concept Explanations", "Problem Solving"]
}
]
}/api/apps/:appTypeGet specific app configuration
{
"config": {
"id": "study-buddy",
"name": "StudyBuddy",
"systemPrompt": "You are an expert tutor...",
"welcomeMessage": "Hi! I'm StudyBuddy...",
"theme": { "primary": "#3b82f6" }
}
}If port 3000 or 3001 is already in use:
npx kill-port 3000server/.env has valid GEMINI_API_KEYClean install and rebuild:
rm -rf node_modules package-lock.jsonnpm installnpm run buildCheck the GitHub repository for more documentation and examples.