Interactive CLI for building apps on the ibl.ai platform. Scaffold full applications from scratch, add ibl.ai components to existing Next.js projects, or build for desktop and mobile with Tauri v2.
Note: This CLI generates apps that run against the hosted iblai.app environment. If you'd like a license to the full platform codebase to self-host, run locally, or deploy on your own infrastructure, reach out to our team at ibl.ai/contact.
- Node.js 18+ and a package manager (pnpm recommended, npm or yarn also work)
- Python 3.11+ (only required for the
pipor source install methods) - An ibl.ai platform account -- register for free at iblai.app to get a tenant key and configure agents
- Rust toolchain (only required for Tauri desktop/mobile builds)
git clone https://github.com/iblai/iblai-app-cli.git
cd iblai-app-cli
make -C .iblai installVerify the installation:
iblai --versionScaffold a complete AI agent chat application with SSO authentication, sidebar, navbar, and WebSocket chat:
iblai startapp agentThe interactive wizard prompts for your platform key, agent ID, and app name. Then:
cd my-agent-app
pnpm install
cp .env.example .env.local # Edit with your platform credentials
pnpm dev # Opens on http://localhost:3000For a minimal app with authentication only (no chat UI, no sidebar):
iblai startapp baseAlready have a Next.js project? Add ibl.ai SSO authentication without scaffolding a new app:
cd your-existing-nextjs-app
iblai add auth --platform your-tenantThis generates 7 files -- SSO callback page, Redux store, auth utilities, providers, and SDK styles -- all namespaced under lib/iblai/ and components/iblai/ to avoid conflicts with your existing code. Follow the printed instructions to wire up providers and install dependencies.
Drop in a full-featured AI chat widget powered by the <mentor-ai> web component:
iblai add chatThen use it anywhere in your app:
import { ChatWidget } from "@/components/iblai/chat-widget";
<ChatWidget mentorId="your-agent-id" />The widget includes WebSocket streaming, markdown rendering, session persistence, file attachments, and conversation starters.
Add Tauri v2 support for native desktop and mobile builds:
iblai add buildsThen use the iblai builds commands:
iblai builds dev # Dev mode (Next.js + native shell)
iblai builds build # Production build for current platform
iblai builds iconography logo.png # Generate all icon sizes
iblai builds ci-workflow --all # Generate CI build workflowsiOS and Windows are also supported:
iblai builds ios init # Initialize iOS project (macOS only)
pnpm tauri:dev:ios # Run in iOS Simulator
pnpm tauri:build:msix # Build Windows MSIX packageCherry-pick exactly the features you need. Each component can be added independently (auth is required before the others):
iblai add auth # Start here -- required by other components
iblai add chat # AI chat widget
iblai add profile # User profile dropdown
iblai add notification # Notification bell with unread badge
iblai add analytics # Analytics dashboard
iblai add account # Organization/account settings
iblai add mcp # MCP server config + AI assistant skills
iblai add builds # Tauri v2 desktop/mobile shell| Component | Command | What It Does |
|---|---|---|
| auth | iblai add auth |
SSO authentication -- redirects to ibl.ai login, returns with session. Generates Redux store, providers, and auth utilities. |
| chat | iblai add chat |
AI chat widget using the <mentor-ai> web component. WebSocket streaming, markdown, file attachments, session persistence. |
| profile | iblai add profile |
User profile dropdown with avatar, profile link, and logout action. |
| account | iblai add account |
Organization and account settings page. |
| analytics | iblai add analytics |
Analytics dashboard for viewing platform metrics. |
| notifications | iblai add notification |
Real-time notification bell with unread count badge. |
| builds | iblai add builds |
Tauri v2 desktop/mobile shell with icon generation and CI workflow scaffolding. |
| mcp | iblai add mcp |
MCP server configuration plus Claude Code, OpenCode, and Cursor skill files. |
When ibl.ai does not have a pre-built component for your use case, use shadcn/ui as a fallback. Generated apps include a components.json that configures the shadcn CLI out of the box:
npx shadcn@latest add button dialog table form
npx shadcn@latest add @shadcn-space/hero-01
npx shadcn@latest add @shadcn-space/pricing-01shadcn/ui components and ibl.ai SDK components share the same Tailwind CSS theme configuration, so they look visually identical without additional styling work. The brand colors, spacing, border radius, and typography are all driven by the same design tokens defined in tailwind.config.ts and the ibl.ai CSS variables.
Browse available blocks at shadcnspace.com/blocks.
The @iblai/mcp server provides tools for AI assistants to query SDK internals without searching the codebase:
get_component_info("Profile") # Full props interface for any SDK component
get_hook_info("useAdvancedChat") # Hook parameters and return types
get_api_query_info("useGetUserMetadataQuery") # RTK Query endpoint details
get_provider_setup("auth") # Provider hierarchy and setup code
create_page_template("Dashboard", "mentor") # Generate a page template
Add MCP support to your project:
iblai add mcpThis generates .mcp.json and skill files for Claude Code, OpenCode, and Cursor.
13 AI assistant skills are available in the skills/ directory. Invoke them with / in Claude Code, OpenCode, or Cursor:
| Skill | Description |
|---|---|
/iblai-setup |
What's set up, env config, localStorage keys, MCP tools |
/iblai-add-auth |
Add SSO authentication |
/iblai-add-chat |
AI chat widget + customization |
/iblai-add-profile |
Profile dropdown + full settings page |
/iblai-add-account |
Organization/account settings |
/iblai-add-analytics |
Analytics dashboard |
/iblai-add-notification |
Notification bell + center page |
/iblai-add-component |
Generic guide for any SDK component |
/iblai-add-shadcn-component |
Add shadcnspace blocks with ibl.ai brand consistency |
/iblai-add-test |
Playwright E2E test patterns |
/iblai-build-windows-msix |
Windows MSIX build for test and release |
/iblai-iconography |
Generate all Tauri icon sizes from a source image |
Use the --prompt flag when scaffolding to customize styling, copy, and layout via an LLM:
iblai startapp agent --platform acme \
--anthropic-key sk-ant-... \
--prompt "Make this a kids learning assistant with bright colors"Or with OpenAI:
iblai startapp agent --platform acme \
--openai-key sk-... \
--prompt "Make this a developer tools assistant with a dark theme"The AI modifies text, colors, and styling but never changes imports, component interfaces, or hook calls.
Generated apps are standard Next.js 16 projects and deploy to Vercel with zero configuration. Set the environment variables in your Vercel project settings.
Generated apps support Docker deployment with runtime environment injection via public/env.js:
docker build -t my-iblai-app .
docker run -p 3000:3000 \
-e NEXT_PUBLIC_API_BASE_URL=https://api.iblai.app \
-e NEXT_PUBLIC_AUTH_URL=https://login.iblai.app \
my-iblai-appFor desktop and mobile distribution, add the Tauri build shell and use the CI workflows:
iblai add builds
iblai builds build # Build for current platform
iblai builds ci-workflow --all # Generate GitHub Actions for all platformsSupported targets include macOS (.dmg), Windows (.msix), Linux (.deb/.AppImage), iOS (.ipa), and Android (.apk).
Apps connect to iblai.app by default. Copy .env.example to .env.local and customize:
NEXT_PUBLIC_API_BASE_URL=https://api.iblai.app
NEXT_PUBLIC_AUTH_URL=https://login.iblai.app
NEXT_PUBLIC_BASE_WS_URL=wss://asgi.data.iblai.app
NEXT_PUBLIC_PLATFORM_BASE_DOMAIN=iblai.app
NEXT_PUBLIC_MAIN_TENANT_KEY=iblai| Variable | Description |
|---|---|
NEXT_PUBLIC_API_BASE_URL |
Base URL for the ibl.ai REST API |
NEXT_PUBLIC_AUTH_URL |
SSO login page URL |
NEXT_PUBLIC_BASE_WS_URL |
WebSocket URL for real-time chat streaming |
NEXT_PUBLIC_PLATFORM_BASE_DOMAIN |
Platform domain (used for cookie scoping and URL construction) |
NEXT_PUBLIC_MAIN_TENANT_KEY |
Your organization's tenant key on the ibl.ai platform |
See examples/iblai-agent-app/ for a complete reference application featuring:
- SSO authentication with route group isolation
- AI agent chat with the
<mentor-ai>web component - Tauri v2 desktop support for macOS, Windows, and Linux
- Playwright E2E tests for authentication and chat flows
For CLI contributors -- the Python package, generators, templates, and tests live under .iblai/:
make -C .iblai install-dev # Install with dev dependencies (tests, linting)
make -C .iblai test # Run the test suite (255+ tests)
make -C .iblai lint # Check code formatting (black + flake8)
make -C .iblai format # Auto-format code with black
make -C .iblai binary # Build standalone binary for current platform
make -C .iblai example # Regenerate the example app
make -C .iblai help # Show all available targets| Category | Technology |
|---|---|
| Framework | Next.js 16 (App Router) |
| UI | React 19, Tailwind CSS 4, shadcn/ui (Radix UI) |
| State | Redux Toolkit + React-Redux |
| SDK | @iblai/iblai-js (auth, chat, data layer, web components) |
| Desktop/Mobile | Tauri v2 |
| Language | TypeScript |
See the development guide for project structure, test patterns, and contribution workflow.
MIT -- ibl.ai
