Skip to main content

Getting Started

Your first 30 minutes with Weavster: scaffold a project, run it, and change a transform.

Install

npm install -g @weavster/cli

Now weavster is on your PATH. Working from a clone of the tool repo instead? Run pnpm install then pnpm cli:link to build and link the CLI locally.

1. Scaffold a project

weavster init my-integration
cd my-integration

This writes a minimal, working project:

my-integration/
weavster.yaml # project config (apiVersion + name)
flows/main.yaml # a transform pipeline
fixtures/main/basic/ # an example input + expected output
README.md

2. Validate it

weavster validate

validate checks weavster.yaml and every flows/*.yaml against their schemas:

✓ weavster.yaml is valid
✓ flows/main.yaml is valid

3. Test it

weavster test

test runs each fixture's input.json through its flow and compares the result to expected.json:

✓ main/basic

1/1 fixtures passed

4. Change a transform

Open flows/main.yaml. The starter sets a field:

steps:
- _set:
status: new

Add a step that builds a value from the input (see the Transform DSL):

steps:
- _set:
status: new
label: { _concat: { parts: [order, $id], sep: '-' } }

Run weavster test again. It now fails, showing a diff — the output gained a label the fixture doesn't expect:

✗ main/basic
{
"id": "demo-1",
"status": "new",
+ "label": "order-demo-1"
}

Update fixtures/main/basic/expected.json to include "label": "order-demo-1", then weavster test passes again. That loop — change a flow, run the fixtures — is the core of working in Weavster.

Where to go next