WE is a decentralized application framework and design system built on AD4M. It provides everything needed to build dynamic, schema-driven applications — a token-based design system, a JSON-schema renderer, a graph engine, feature modules, and launcher apps for web, Electron, and Tauri.
New here? Read Why WE Exists — the vision, the problem, and what WE is for.
# Setup workspace (validates seed, builds packages, generates configs)
pnpm setup-workspace
# Start development
pnpm dev:web # Web development server
pnpm dev:electron # Electron app
pnpm dev:tauri # Tauri app- Developer Setup - Complete setup guide, commands, and workflows
- Seed System - Seed file architecture, configuration, and examples
- Codebase Map - Architecture: the stack, the seams, where things live
- All docs →
| Directory | Packages | What it is |
|---|---|---|
| design-system/ | @we/tokens @we/themes @we/primitives @we/components @we/widgets @we/design-types @we/design-utils |
Tokens → Lit primitives → Solid components/widgets, plus the DS-props machinery |
| schema-system/ | @we/schema-shared @we/schema-solid |
Schema semantics (framework-neutral) + the Solid renderer |
| block-system/ | @we/block-shared @we/block-solid |
Block-based content composition (Lexical editor + AD4M persistence) |
| backend-system/ | @we/backend-shared @we/backend-ad4m @we/backend-inmemory |
The backend contract, its AD4M adapter, and the in-memory reference implementation |
| graph-system/ | @we/graph-protocol @we/graph-core @we/graph-expanders @we/graph-layouts @we/graph-solid |
The graph engine behind GraphView |
| module-system/ | @we/module-shared @we/module-call @we/module-notes @we/module-transcribe @we/module-graph + globe family |
The feature-module contract and the bundled modules |
| templates/ | @we/template-kit @we/template-shell @we/template-default |
Reusable template fragments, the shell surfaces, and the built-in space templates |
| app-shell | @we/app-shell |
The application shell: stores, registries, boot, built-in schemas |
| editor | @we/editor |
The template/theme editing surface, embeddable via EditorHost |
| models | @we/models |
WE's domain models (Space, blocks, …) |
| ai-context | @we/ai-context |
Generates the AI/schema reference (CLAUDE.md et al.) from code + fragments |
| cli | @we/cli |
we-build — the banner-and-timing wrapper every package's build runs through |
- @we/app-web - Web launcher application (browser-based)
- @we/app-electron - Electron desktop launcher (Linux, macOS, Windows)
- @we/app-tauri - Tauri desktop launcher (Rust-based)
- playgrounds - Development playgrounds (graph explorer, render benchmark, portable-UI slice)
- Single Source of Truth: Configure everything via
we-seed.json - Multi-Platform: Web, Electron, and Tauri support
- App Modes: Automatic layout switching (single app vs multi-app)
- White-Labeling: Fully customizable launcher UI via seed configuration
- Auto-Generation: Platform-specific configs generated from seed file
- Schema-Driven UI: Build interfaces from JSON schemas with
@we/schema-solid - Component Library: Comprehensive design system with tokens, themes, and components
- Backend Contract: The renderer and design system never import a backend — AD4M is one adapter behind
@we/backend-shared - Platform Adapters: Abstract platform differences for web, Electron, and Tauri
- Framework Support: SolidJS today; the schema semantics are framework-neutral by construction
pnpm validate:seed # Validate seed configuration
pnpm validate:schemas # Validate all template schemas
pnpm build # Build all packages (serialized: cross-package builds share output dirs)
pnpm test # Run every package's tests (--no-bail: see all failures at once)
pnpm typecheck # Typecheck (packages that define a typecheck script)
pnpm lint # ESLint, zero-warning policy
pnpm lint:css # Stylelint over authored CSS
pnpm build:web # Production builds per target
pnpm build:electron
pnpm build:tauriFor issues or questions, please open an issue on GitHub.