Wode
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
Wode is Wener's TypeScript monorepo for React console surfaces, reusable UI primitives, service and API tooling, AI/MCP integrations, and protobuf contracts.
The name comes from **Wener nODE & DEMO**. The repository is organized as a pnpm workspace and uses Just for reusable task recipes and Vite, Vitest, Oxfmt, and Oxlint for development workflows.
Repository layout
| Path | Responsibility |
| -------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| apps/console | The application console and app-specific routes, modules, and foundation code. |
| apps/server | Server application entry points and API integrations. |
| packages/ui | Application-agnostic React primitives built with Base UI and Tailwind CSS. |
| packages/wener-console | Reusable console toolkit, layouts, resource views, loaders, and console integrations. |
| packages/wener-common | Shared filesystem, resource, schema, and server-independent utilities. |
| packages/wener-server | Server helpers, entities, Hono/Nest integrations, ConnectRPC helpers, and NATS modules. |
| packages/wener-ai | AI SDK utilities, agent contracts, and MCP server definitions. |
| packages/wener-client | Clients for external services and provider APIs. |
| packages/wener-mcps | MCP server implementations and audit/runtime support. |
| packages/wener-mcp-cli | CLI for interacting with MCP servers. |
| packages/wener-feishu-devdocs-mcp | Feishu/Lark developer documentation MCP server. |
| packages/wener-mssql-mcp | Microsoft SQL Server MCP server. |
| packages/wener-api-cli | CLI for REST APIs described by OpenAPI specifications. |
| packages/wener-miniquery | Safe SQL-WHERE-like filter expressions for ORM queries. |
| packages/wener-utils, packages/wener-reaction, packages/system | General utilities, React helpers, and SystemJS support. |
| proto | Canonical protobuf source tree. Generated TypeScript is checked into the packages that consume it. |
Legacy experiments and the former standalone web/playground applications are not part of the tracked workspace. New demos belong in the component stories or in an application route with an explicit owner.
Requirements
- Node.js >=24.11.0
- pnpm 12.4.2
- Just 1.38.0 or newer
- Buf CLI for protobuf formatting, linting, and generation
- Chromium for the package Storybook interaction tests
The required package-manager and runtime versions are declared in the root package.json. Install pnpm with Corepack or through your preferred system package manager, then install dependencies:
For the package Storybook interaction tests, install Chromium once on the development machine:
Common commands
Run commands from the repository root unless a command includes -C.
| Command | Purpose |
| --------------------------------- | ------------------------------------------------------------------------------------------------------- |
| just dev | Start workspace development tasks in parallel through Turbo. |
| just build | Build workspace packages and applications through Turbo. |
| just test | Run workspace tests through Turbo. |
| just fmt | Format TypeScript, TSX, and Markdown with Vite+. |
| just lint | Run the Vite+ lint entry point. |
| just typecheck | Run every package typecheck that defines one. |