Documentation Index
Fetch the complete documentation index at: https://docs.wednesdayai.dev/llms.txt
Use this file to discover all available pages before exploring further.
Developer overview
WednesdayAI is built to be extended. The core is intentionally lean; new capabilities belong in plugins, hooks, and channel adapters rather than in core. This section covers how to build extensions for WednesdayAI.Architecture
Extension types
Plugins
Add new tools, providers, or capabilities. Published as npm packages under
@wednesdayai/*.Hooks
React to gateway events: session start/reset, commands, lifecycle. Small TypeScript handlers.
Channel adapters
Connect a new messaging platform as a first-class channel.
Plugin SDK
The stable API surface for plugins. Types, interfaces, and contracts.
Tech stack
| Layer | Technology |
|---|---|
| Language | TypeScript 5.9, strict ESM |
| Runtime | Node.js 22+ |
| Package manager | pnpm 10.23 |
| Build | tsdown + post-build tsx scripts |
| Tests | Vitest v4 + V8 coverage |
| Linter | Oxlint v1.50 |
Plugin scopes
WednesdayAI uses two npm scopes:@wednesdayai/*— new extensions built for this fork. Use this for anything new.@openclaw/*— inherited extensions from the fork base. Publish only if the package already exists under this scope on npm.
Getting started
Read the plugin guide
Start with Your first plugin for a worked example, or Hooks for simpler event-driven automation.
Design principles
- Lean core — if a capability can live in a plugin, it should. Don’t add to core.
- Stable contracts — plugins import from
openclaw/plugin-sdk, never from core internals. - No
workspace:*independencies—npm install --omit=devin plugin dirs must work. - Naming — user-facing text uses
WednesdayAI; code, config keys, and imports useopenclaw. - No
anyin SDK exports — the plugin SDK surface must be fully typed.