Create a Service ~10 min
Prerequisites
- Bun ≥ 1.0
veniCLI:bun install -g @venizia/cli- Shell API running locally (for registration)
1. Scaffold
bash
veni create appThe CLI will prompt for:
| Prompt | Example |
|---|---|
| App name | hrm |
| Display name | Human Resource Management |
| Port | 3001 |
Output: a new directory apps/hrm/ with:
apps/hrm/
├── api/ Hono + Ignis API (Bun)
├── ui/ React 18 + Vite + Module Federation remote
└── package.json2. Install and run
bash
cd apps/hrm/api
bun install
cp .env.example .env
bun run dev # → http://localhost:3001/apibash
cd apps/hrm/ui
bun install
bun run dev # → http://localhost:30043. Register with Shell
http
POST http://localhost:3000/api/admin/apps
Authorization: Bearer <your-shell-jwt>
Content-Type: application/json
{
"name": "Human Resource Management",
"slug": "hrm",
"description": "Employee and HR management",
"entryUrl": "http://localhost:3004/hrm-microfrontend.js",
"type": "SERVICE",
"status": "AVAILABLE"
}Or use the admin UI: Services → Register service.
4. Verify
Reload Shell UI at http://localhost:5173 — the HRM card should appear on the dashboard.
Next: wire Module Federation
Your service is registered but Shell UI won't load its UI until you configure Module Federation. See Integrate with Shell.