Agentic business runtime — Users, Content, Products, Payments, Intelligence. Build your business, not your boilerplate.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
Agentic business runtime.
People. Content. Offers. Payments. Agents. Five primitives for humans and agents, one deployment, one runtime.
RevealUI is an open-source runtime that ships the business logic layer every software product needs: auth, content, products, billing, and AI agents. Pre-wired and development-hardened. You start on day one with a running business. Your agents start on day one with a runtime they can operate on. Same permissions, same API, and data model.
Canonical definition: docs/WHAT_IS.md.
Public get-started paths that are live today:檢視完整 README ↗Agentic business runtime.
People. Content. Offers. Payments. Agents. Five primitives for humans and agents, one deployment, one runtime.
Documentation | Quick Start | Pro | Contributing
RevealUI is an open-source runtime that ships the business logic layer every software product needs: auth, content, products, billing, and AI agents. Pre-wired and development-hardened. You start on day one with a running business. Your agents start on day one with a runtime they can operate on. Same permissions, same API, and data model.
Canonical definition: docs/WHAT_IS.md.
npx create-revealui@latest my-business
cd my-business
pnpm dev
Public get-started paths that are live today:
npx create-revealui@lateststarter-native has no twin. There is no live vercel.com/templates listing.Open http://localhost:4000/admin.
You have:
No assembly required. Define your data once. Humans manage it through the dashboard, agents operate on it through MCP. Same permissions, same audit trail.
| Primitive | For you | For your agents |
|---|---|---|
| People | Session auth, RBAC + ABAC, rate limiting, GDPR compliance | Same RBAC governs agent access. Every action auditable. |
| Content | Collections, rich text (Lexical), media, draft/live, REST API | Collections auto-exposed as MCP tools. No integration step. |
| Offers | Product catalog, pricing tiers, usage tracking | Feature gates control which agent capabilities unlock. |
| Payments | Stripe checkout, subscriptions, webhooks, billing portal | Same Stripe primitives, available to agents. |
| Agents | AI agents, open-model inference, task history (Pro) | A2A protocol, CRDT memory, 14 MCP servers. |
The Agents primitive ships with open-model defaults. No proprietary API keys required, no API bill that scales with usage.
sudo snap install gemma3 (or gemma4, nemotron-3-nano, nemotron-3-nano-omni). Non-US catalog snaps are rejected in product code.Verifiable: git grep -l "@anthropic-ai/sdk" packages/ returns nothing inside @revealui/* packages. The runtime is provider-agnostic by contract.
Six principles that give you a tested starting point for every architectural decision. Not the only way, a way that works. Evolve it as you grow:
| Principle | What it means |
|---|---|
| Justifiable | Every default earns its place. No magic, no hidden complexity, no decisions you can't explain to your team. |
| Orthogonal | Clean separation of concerns across 33 packages. Use what you need, replace what you don't. Zero circular dependencies. |
| Sovereign | Your infrastructure, your data, your rules. Deploy anywhere. Fork anything. No vendor holds your business hostage. |
| Hermetic | Auth doesn't leak into billing. Content doesn't tangle with payments. Sealed boundaries, clean contracts between every layer. |
| Unified | One Zod schema defines the truth. Types, validation, and API flow from database to server to UI with zero drift. |
| Adaptive | AI agents, MCP servers, and workflows are built into the foundation. Open-model inference, sovereign by design, evolving with your business. |
Add a collection. Get an API, admin UI, MCP tool, and TypeScript types, automatically.
import { defineCollection, defineField } from "@revealui/core";
const Products = defineCollection({
slug: "products",
fields: [
defineField({ name: "name", type: "text", required: true }),
defineField({ name: "price", type: "number" }),
defineField({ name: "description", type: "richText" }),
defineField({
name: "status",
type: "select",
options: ["draft", "active"],
}),
defineField({ name: "owner", type: "relationship", relationTo: "users" }),
],
access: {
read: ({ req }) => !!req.user,
create: ({ req }) => req.user?.role === "admin",
},
});
GET /api/products is live. The admin UI is live. The MCP tool is discoverable. The TypeScript types are generated. Humans manage products through the dashboard. Agents query and create through the same API.
The Pro tier adds AI agents and automation that work on your behalf:
sudo snap install gemma3 for US-origin local AI (or gemma4 / nemotron-3-nano). No proprietary APIs, no vendor lock-in, zero API billsPro packages are source-available under the Functional Source License (FSL-1.1-MIT). You can read, modify, and self-host. The license converts to MIT after 2 years. Install with pnpm add @revealui/ai.
| Tier | Price | What you get |
|---|---|---|
| Free | $0 | Full OSS core: people, content, offers, payments, admin |
| Pro | $49/mo | AI agents, AI memory, signed audit receipts, MCP framework, advanced sync, RevVault desktop + rotation engine |
| Max | $99/mo | Unattended inference, higher limits |
| Enterprise | inquire / Contact sales | License + studio support (you self-host). SSO (operator preview, not customer-walked — #449). Domain-locked. Not a Studio-operated customer VM. |
| App | Framework | Purpose |
|---|---|---|
server | Hono | REST API with OpenAPI + Swagger |
admin | Next.js 16 | Admin dashboard + content management |
docs | Vite + React | Documentation site |
marketing | Vite + React | Marketing site (revealui.com) |
license-signer | Hono | Internal license-signing service |
rsc-poc | Next.js | In-tree RSC experiment (not a customer app) |
The RevealUI Studio agency site (revealuistudio.com) lives in RevealUIStudio/agency — separate repo, consumes @revealui/{router,presentation,core,contracts} via npm.
| Package | Purpose |
|---|---|
@revealui/core | Runtime engine, REST API, auth, rich text, plugins |
@revealui/contracts | Zod schemas + TypeScript types (single source) |
@revealui/db | Drizzle ORM schema (124 tables) on NeonDB (Postgres) |
@revealui/auth | Session auth, password reset, rate limiting |
@revealui/presentation | 68 UI components (Tailwind v4, zero ext deps) |
@revealui/openapi | OpenAPI route helpers and Swagger generation |
@revealui/router | Lightweight file-based router with SSR |
@revealui/config | Type-safe environment configuration |
@revealui/utils | Logger, DB helpers, validation |
| Package | Purpose |
|---|---|
@revealui/ai | AI agents, CRDT memory, LLM providers |
@revealui/engines | Incubating optional barrel for the five primitives (not the app entry; private) |
@revealui/harnesses | AI harness adapters and workboard coordination |
@revealui/mcp | MCP hypervisor, adapter framework, tool discovery |
@revealui/services | Stripe (billing + circuit breaker), transactional email (Gmail API) |
| Package | Purpose |
|---|---|
@revealui/scripts | Shared monorepo script utilities. Build tooling, not for external consumption |
@revealui/apify-actor-governed-run | Private Apify actor that returns a signed receipt of an agent run |
| Layer | Technology |
|---|---|
| Frontend | React 19, Tailwind CSS v4 |
| Backend | Node.js 24, Hono, REST + OpenAPI |
| Database | NeonDB (Postgres), Drizzle ORM |
| Auth | Session-based, bcrypt, RBAC + ABAC |
| Rich Text | Lexical editor |
| Sync | ElectricSQL (experimental) |
| Billing | Stripe (checkout, subscriptions, webhooks) |
| Desktop | Tauri 2 |
| TUI | Go, Bubble Tea |
| Testing | Vitest, Playwright |
| Tooling | pnpm, Turborepo, Biome, TypeScript 6 |
| Dev env | Nix flakes + direnv |
Secrets live in RevVault. Do not treat apps/admin/.env.example as the happy path. See docs/fleet/revvault.md and docs/SECRETS.md (maintainer).
# If you have RevVault on this machine:
revvault export-env # materializes env from the vault; direnv loads it
git clone https://github.com/RevealUIStudio/revealui.git
cd revealui
pnpm install
# Without RevVault: copy the repo-root template (not apps/admin/.env.example)
cp .env.template .env.development.local
# Set POSTGRES_URL, REVEALUI_SECRET (min 32 chars),
# REVEALUI_PUBLIC_SERVER_URL=http://localhost:4000
# Initialize database
pnpm db:migrate
pnpm db:seed
# Start admin dashboard + API
pnpm dev:app # Admin (port 4000) + API (port 3004)
Three dev modes:
pnpm dev:app: Admin + API (recommended for most work)pnpm dev:admin: Admin only (if API already running)pnpm dev: All apps in parallel (heavy)cp .env.production.example .env
# Edit .env with your values
docker compose up -d
Services: PostgreSQL (5432), API (3004), Admin (4000), Marketing (3000).
Open in VS Code or GitHub Codespaces. The .devcontainer/ config handles everything.
| Platform | Recommended setup |
|---|---|
| Linux / WSL | Nix flakes + direnv (flake.nix) |
| macOS | Nix flakes + direnv (flake.nix) |
| Windows | WSL 2 (recommended) or Dev Containers (.devcontainer/) |
revealui/
├── apps/
│ ├── server/ # Hono REST API (port 3004)
│ ├── admin/ # Admin dashboard + content management (port 4000)
│ ├── docs/ # Documentation site (port 3002)
│ ├── marketing/ # revealui.com marketing site (port 3000)
│ ├── license-signer/ # Internal license-signing service
│ └── rsc-poc/ # In-tree RSC experiment
├── packages/ # 26 OSS + 5 Pro + 2 internal = 33 packages
├── docs/ # guides + reference
└── scripts/ # CI gates, release tooling, dev tools
@revealui/core@revealui/harnessesRead CONTRIBUTING.md first. Then:
pnpm test # run tests
pnpm lint # lint and format
pnpm typecheck # type check
pnpm gate # full CI gate (runs before push)
RevealUI is MIT-licensed and free to use. Sponsorship funds development, documentation, and community support.
This repository is dual-licensed:
@revealui/* package without its own in-package LICENSE file): MIT — see LICENSE.@revealui/ai, @revealui/engines, @revealui/harnesses, @revealui/mcp, @revealui/services): Functional Source License v1.1 with MIT Future License (FSL-1.1-MIT) — source-available for non-competing use, automatically converts to MIT on each package's Change Date (~2 years from first FSL publish). See LICENSE.commercial for the dual-license explainer and each Pro package's LICENSE file for canonical terms.For commercial licensing alternatives or licensing questions: [email protected].
Built by RevealUI Studio — the agency. Operated by REVEALUI STUDIO L.L.C. (Tennessee).
@revealui/clicreate-revealui scaffolding tool |
@revealui/setup | Environment setup utilities |
@revealui/sync | ElectricSQL real-time sync (experimental) |
@revealui/cache | CDN config, edge cache, ISR presets |
@revealui/resilience | Circuit breaker, retry, bulkhead patterns |
@revealui/security | Headers, CORS, RBAC/ABAC, encryption, audit |
@revealui/dev | Shared configs (Biome, TypeScript, Tailwind) |
@revealui/test | E2E specs, integration tests, fixtures, mocks |
@revealui/paywall | Runtime license enforcement, feature gating, upgrade UI |
@revealui/secrets | Multi-vendor secret loader (env, file mounts, revvault) |
@revealui/tokens | Design tokens (CSS variables, typed TS export, brand canon) |
@revealui/knowledge-graph | Fleet knowledge graph: bi-temporal, content-addressed graph over Neon + pgvector, revkg CLI |
create-revealui | npm create revealui initializer |
revealui | Meta-installer (proxies to create-revealui; unpublished) |
@revealui/claim-gates | Fleet claim honesty engines (validate:claims) |
@revealui/editor | Visual edit-session runtime and dashboard canvas |
@revealui/ts-strada | TypeScript compiler API wrapper for AST tooling |