intentkit-studio
v1.0.0
Published
Local web UI for testing IntentKit functions interactively
Maintainers
Readme
intentkit-studio
Local web UI for testing IntentKit functions interactively.
Features
- Function Explorer — browse all registered functions with intent, permissions, and schemas
- Interactive Forms — auto-generated input forms from Zod schemas (text, number, boolean, select, JSON)
- Execute & Inspect — run functions directly and see results with JSON syntax highlighting
- Permission Simulator — switch roles to see which functions appear/disappear
- Event Inspector — live SSE stream of events emitted during execution
- Zero Dependencies — only requires
intentkitas a peer dependency
Quick Start
npm install intentkit-studioimport { IntentRegistry, createContext } from 'intentkit';
import { startStudio } from 'intentkit-studio';
import { createTask, listTasks } from './functions/tasks.js';
const registry = new IntentRegistry().register(createTask, listTasks);
const context = createContext({ dbPath: './data.db' });
const studio = await startStudio({
registry,
context,
roles: {
admin: ['task:*'],
member: ['task:read', 'task:create'],
viewer: ['task:read'],
},
port: 4200,
});
console.log(`Studio: ${studio.url}`);API Endpoints
| Method | Path | Description |
|--------|------|-------------|
| GET | / | Studio web UI |
| GET | /api/catalog | Function catalog with schemas |
| GET | /api/roles | Role definitions |
| POST | /api/execute/:name | Execute function with { input, role? } |
| GET | /api/events | Recent events |
| GET | /api/events/stream | SSE stream for real-time events |
