@skaile/workspaces
v0.9.0
Published
Skaile workspaces runtime — types, core, bridge, runner, store, connectors, and supporting layers as one publishable package
Downloads
526
Readme
Skaile Workspaces
The @skaile/workspaces npm package — the full Skaile agent runtime stack as one
published package. Every internal folder is exposed as a subpath export and the
skaile CLI ships as its bin, alongside sibling packages for the binding / plugin surfaces.
Packages
| Subpath / Sibling | npm | What It Does |
|---|---|---|
| core | @skaile/workspaces/core | Shared types, manifest parsing, settings, store, framework config. Zero heavy deps. |
| types | @skaile/workspaces/types | Unified message types, event types, and runtime interfaces. The shared contract. |
| bridge | @skaile/workspaces/bridge | Pluggable agent driver abstraction. Backends: Claude SDK, Codex, OMP. |
| flow engine | @skaile/workspaces/base-assets/connectors/flow/engine | Flow state machine + connector (moved from the retired flow-engine package). |
| resolver | @skaile/workspaces/resolver | Parses SKILL.md requirements (reads_from, writes_to), validates gates, generates agent preamble. |
| client | @skaile/workspaces/client | Framework-agnostic protocol client. Implements IAgentRuntime over a pluggable transport. |
| transport | @skaile/workspaces/transport | Transport adapters (WebSocket client/server). Pluggable — add stdio, IPC, etc. |
| connectors | @skaile/workspaces/connectors | Resource adapter infrastructure — unified access to git, postgres, redis, s3, sqlite, webdav, and more. |
| session | @skaile/workspaces/session | Session message dispatcher — bridges frontend subscribers with agent clients through a persisted message stream. |
| runner | @skaile/workspaces/runner | Headless agent runtime. Builds injected/native agent sessions, manages session state, executes flows via bridge. |
| asset-manager | @skaile/workspaces/asset-manager | Programmatic asset management API. Catalog, install / remove, workspace scaffolder. |
| cli | @skaile/workspaces (bin: skaile) | The skaile CLI binary — run skills, flows, manage projects. Also importable via the @skaile/workspaces/cli subpath. |
| React bindings | @skaile/workspace-bridge-react | useAgentStore + useResourceClient for React 18+. Separate npm package, lives at packages/bridge-react in this monorepo. |
| Vue bindings | @skaile/workspace-bridge-vue | useAgentStore + useResourceClient for Vue 3.3+. Separate npm package, lives at packages/bridge-vue in this monorepo. |
Coding-agent plugin integration is CLI-generated — run
skaile plugin install --driver <claude-code|omp|codex>. There are no separate
plugin packages.
Dependency Graph
cli (top-level CLI — orchestrates everything below)
│
├── runner (headless runtime — session state, flow execution)
│ ├── bridge (pluggable LLM driver: Claude SDK, Codex, OMP)
│ ├── transport (WebSocket server transport for serve mode)
│ ├── resolver (skill requirements parsing + validation)
│ ├── connectors (optional — external data backend access)
│ └── core (shared types, manifest parsing, store)
│
└── asset-manager (asset management API + workspace scaffolder)
└── coretypes is consumed by bridge, client, transport, runner, cli, and the platform — it has no internal deps.
client + transport are consumed by the platform backend and any other agent consumer. Client depends only on types.
session wraps a client with persistence (MessageStore) and fan-out (SubscriberTransport). Consumed by the platform backend and forge apps. Depends on client + types.
core is the foundation — consumed by runner, asset-manager, cli, connectors, and ai-resource-manager.
How They Interact
User runs
skaile run <flow>→ cli parses args, resolves the flow file, and delegates to runner.runner loads the flow via the flow engine in
base-assets/connectors/flow/engine, which computes which nodes are available to run based on completed/skipped state.For each node, runner loads the skill's SKILL.md, passes it through resolver to check file gates and required inputs, then creates a driver via bridge.
bridge starts the LLM backend (Claude SDK or Codex in-process, or OMP as a subprocess) and streams
AgentEvents (defined in types) back to the runner.If the workspace has connectors declared (
skaile.yamlconnectorssection), runner uses connectors to connect, mount, and inject tools before each flow execution.asset-manager handles initial project setup (
skaile init) — scaffolding directories, writing config files, and optionally building Docker images.
Quick Start
# From the monorepo root
bun run cli --help # run the skaile CLI
bun run cli skill list # list available skills
bun run cli run mvp # run a flowArchitecture Docs
- Client-Server Architecture — design for the agent client, transport, and shared state protocol (new packages:
client,transport) - Session Dispatcher Architecture — design for session message dispatching, persistence, and fan-out (new package:
session)
See each package's CLAUDE.md for architecture details and developer conventions.
