Wenlan
Wenlan is a source-backed AI knowledge base and LLM wiki for AI work: organize documents and decisions into pages you can find, inspect, and review.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
Loading the full README. The saved excerpt is shown below.
AI-powered productivity platform. Users write stream-of-consciousness "brain dumps" and AI extracts projects, tasks, and context. Includes daily brief generation, calendar integration, ontology-driven project management, and an agentic chat system.
This is the unified monorepo for the web app, background worker, and shared packages.Read the full README ↗AI-powered productivity platform. Users write stream-of-consciousness "brain dumps" and AI extracts projects, tasks, and context. Includes daily brief generation, calendar integration, ontology-driven project management, and an agentic chat system.
This is the unified monorepo for the web app, background worker, and shared packages.
buildos-platform/
├── apps/
│ ├── web/ # SvelteKit 2 + Svelte 5 web app (Vercel)
│ ├── worker/ # Node.js background worker (Railway)
│ └── mobile/ # Expo iPhone app (thin client over the web API)
├── packages/
│ ├── shared-types/ # Generated DB types, queue types, API types
│ ├── shared-agent-ops/ # Agent op layer shared by web gateway + worker Agent Run runner
│ ├── shared-utils/ # Logging, metrics, shared utilities
│ ├── smart-llm/ # LLM abstraction (OpenRouter + fallbacks)
│ ├── supabase-client/ # Shared Supabase client configuration
│ ├── twilio-service/ # SMS / Twilio integration
│ ├── agentic-chat-runtime/ # Transport-neutral agentic chat contracts, loop + supervisor
│ ├── agentic-chat-client/ # Client-side chat core shared by the web app and the iPhone app
│ ├── api-client/ # Typed BuildOS API client used by the mobile app
│ └── buildos-mcp-server/ # Local stdio MCP bridge to the remote BuildOS connector
├── docs/ # Cross-cutting docs (architecture, marketing, ops)
├── scripts/ # Type generation, schema extraction, tooling
└── supabase/ # Migrations and local Supabase config
nodejs22.x)PRIVATE_ENABLE_STRIPE).nvmrc and CI use 22.23.4)[email protected])The web package accepts both Node lines. Vercel selects the newest supported build
major in that range (24.x); the SvelteKit adapter keeps server functions on nodejs22.x.
pnpm install
# Dev (all configured dev tasks via Turborepo)
pnpm dev
# Single app
pnpm dev --filter=@buildos/web # http://localhost:5173
pnpm dev --filter=@buildos/worker # http://localhost:3001
Copy .env.example to .env and fill in the required values. The full list lives in .env.example; the essentials are:
# Supabase
PUBLIC_SUPABASE_URL=
PUBLIC_SUPABASE_ANON_KEY=
PUBLIC_SUPABASE_PROJECT_ID=
PRIVATE_SUPABASE_SERVICE_KEY=
# LLMs (OpenRouter is primary; OpenAI is fallback)
PRIVATE_OPENROUTER_API_KEY=
PRIVATE_OPENAI_API_KEY=
# Google OAuth (Calendar)
PUBLIC_GOOGLE_CLIENT_ID=
PRIVATE_GOOGLE_CLIENT_SECRET=
# Web ↔ Worker
PUBLIC_RAILWAY_WORKER_URL=http://localhost:3001
PRIVATE_RAILWAY_WORKER_TOKEN=
# Stripe (optional)
PRIVATE_ENABLE_STRIPE=false
# PostHog analytics (optional — no-ops without a key)
PUBLIC_POSTHOG_KEY=
PUBLIC_POSTHOG_HOST=https://us.i.posthog.com
Naming convention: PUBLIC_* for client-accessible, PRIVATE_* for server-only.
# Quality
pnpm typecheck # All configured packages
pnpm lint # All configured packages
pnpm lint:fix
pnpm format # Prettier
pnpm pre-push # typecheck + test + lint + build
# Tests
pnpm test:run # Full suite, no watch mode
pnpm test:run --filter=@buildos/web
pnpm test:run --filter=@buildos/worker
cd apps/web && pnpm test path/to/file.test.ts # Single file
cd apps/web && pnpm test:llm # LLM prompt tests (real API; costs money)
cd apps/worker && pnpm test:scheduler
# Build
pnpm build
pnpm build --filter=@buildos/web
pnpm build --filter=@buildos/worker
# Generation
pnpm gen:types # Regenerate Supabase types from local URL + service key
pnpm gen:schema # Extract DB schema
pnpm gen:all # Full regen: types + schema + web assets + typecheck
Always use pnpm. Never npm or yarn.
vercel.json, including its cron jobs (billing/trial lifecycle, welcome/reactivation sequences, email campaigns and replies, email project updates, Gmail maintenance, webhook renewal, account deletions, retention cleanup — vercel.json is the current list)./ with
Railpack on patched Node 22: railway.toml (daily brief), railway.chat.toml
(Agentic Chat), railway.libri.toml (Libri). Healthcheck at /health.See docs/architecture/diagrams/WEB-WORKER-ARCHITECTURE.md for the full topology.
$state, $derived, $effect. Never old reactive syntax.ApiResponse from $lib/utils/api-response. Protocol endpoints (SSE, file downloads, webhooks, tracking pixels) may return raw responses.locals.supabase (user-scoped, RLS). Admin operations use createAdminSupabaseClient() from $lib/supabase/admin.dark: prefix.Full guidelines in CLAUDE.md.
hooks.server.ts.Report issues to the maintainers privately — see docs/SECURITY.md.