MCPcopy Index your code
hub / github.com/candlecorp/wick

github.com/candlecorp/wick @codegen-v7.0.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release codegen-v7.0.1 ↗ · + Follow
2,131 symbols 5,795 edges 382 files 318 documented · 15%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

wasmflow logo

Wasmflow

Wasmflow is a free and open platform for building applications out of WebAssembly code containers.

Wasmflow lets you write code and reuse it easily, everywhere. It's built with Rust and Wasmtime and takes ideas from Docker, Kubernetes, Erlang, Rx, FBP, and more.

Getting Started

Visit the docs on wasmflow.com for getting started guides and API documentation.

Installation

Head over to the releases page to download precompiled binaries for your platform.

Alternately, install from source with the command:

$ make install

or for more optimized builds:

$ make install-release

Prerequisites for building from source

Aside from rust & cargo, you'll need node.js & npm to run and build the code generator.

You can install all the prerequisites for tools that can be installed via rust and npm with the command:

$ make deps

jq

The Makefiles also make use of jq. You'll find installation instructions on the jq homepage: https://stedolan.github.io/jq/

cmake

The generated protobuf code uses prost which depends on a number of developer tools. Many developer systems will probably have these installed already, but recent macs no longer include cmake with the XCode CLI tools. You'll need either the full xcode installation or homebrew to install it.

You can install xcode from the app store or you can install cmake via brew with the command:

$ brew install cmake

Rust nightly

You'll also need the rust nightly toolchain in addition to stable for some of the dependent tools and code formatting.

$ rustup toolchain add nightly

Building Wasmflow

Build Wasmflow with make alone.

make

Running tests

Run unit and self-contained integration tests via make

make test

To run the full suite of tests, you'll need a local NATS server, redis instance, and OCI registry. You can run these with the docker-compose.yml file in the /scripts/ directory.

$ cd scripts && docker-compose up

Need a Makefile primer?

Check out these guides if you need help with Makefiles:

Extension points exported contracts — how you extend this code

Writable (Interface)
The native PortSender trait. This trait encapsulates sending messages out of native ports. [46 implementers]
crates/wasmflow/wasmflow-sdk/crates/wasmflow-traits/src/writable_port.rs
NormalizedFilename (Interface)
(no doc)
codegen/src/common.ts
BatchedJobExecutor (Interface)
A trait for ephemeral components that take inputs batched together for a single run. [42 implementers]
crates/wasmflow/wasmflow-sdk/crates/wasmflow-component/src/guest/stateful/mod.rs
HelperMap (Interface)
(no doc)
codegen/src/common.ts
BatchedComponent (Interface)
(no doc) [42 implementers]
crates/wasmflow/wasmflow-sdk/crates/wasmflow-traits/src/stateful.rs
NamespaceEntry (Interface)
(no doc)
codegen/src/common.ts
RpcHandler (Interface)
(no doc) [9 implementers]
crates/wasmflow/wasmflow-rpc/src/lib.rs
CommonOutputOptions (Interface)
(no doc)
codegen/src/common.ts

Core symbols most depended-on inside this repo

into
called by 318
crates/wasmflow/wasmflow-rpc/src/types/conversions.rs
insert
called by 299
crates/wasmflow/wasmflow-sdk/crates/wasmflow-packet/src/v1.rs
clone
called by 260
crates/wasmflow/wasmflow-stdlib/src/collection.rs
try_into
called by 114
crates/wasmflow/wasmflow-rpc/src/types.rs
as_ref
called by 103
crates/wasmflow/wasmflow-schematic-graph/src/port.rs
get
called by 95
crates/wasmflow/wasmflow-schematic-graph/src/schematic.rs
deserialize
called by 94
crates/wasmflow/wasmflow-mesh/src/nats.rs
drain_port
called by 78
crates/wasmflow/wasmflow-sdk/crates/wasmflow-output/src/component_output.rs

Shape

Method 960
Function 626
Class 369
Enum 133
Interface 43

Languages

Rust96%
TypeScript4%

Modules by API surface

crates/wasmflow/wasmflow-rpc/src/generated/wasmflow.rs59 symbols
crates/wasmflow/wasmflow-schematic-graph/src/component.rs48 symbols
crates/wasmflow/wasmflow-interpreter/src/interpreter/executor/transaction.rs34 symbols
crates/wasmflow/wasmflow-schematic-graph/src/schematic.rs32 symbols
crates/wasmflow/wasmflow-manifest/src/flow_definition.rs32 symbols
crates/wasmflow/wasmflow-interpreter/src/interpreter/executor/transaction/component.rs32 symbols
crates/integration/test-wasm-component/src/components.rs32 symbols
crates/wasmflow/wasmflow-host/src/host.rs30 symbols
crates/interfaces/wasmflow-interface-keyvalue/src/components.rs30 symbols
crates/wasmflow/wasmflow-manifest/src/parse/v1.rs29 symbols
crates/integration/test-main-network-component/src/components.rs29 symbols
crates/wasmflow/wasmflow-mesh/src/mesh.rs28 symbols

For agents

$ claude mcp add wick \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact