Prerequisites
- Node.js 22+ - Required for running Weavr
- npm - For installing dependencies
- Git - For cloning the repository
Installation
Clone the repository and install dependencies:
git clone https://github.com/openweavr/Openweavr.git
cd Openweavr
npm install
Build
Build both the backend and web UI:
npm run build # Build backend/CLI
npm run build:web # Build web UI
Verify Installation
node weavr.mjs --version
node weavr.mjs doctor
Configuration
Weavr stores configuration in ~/.weavr/config.yaml.
Initial Setup
Run the onboard command to create your configuration:
# Interactive setup
node weavr.mjs onboard
# Non-interactive (for scripts/CI)
node weavr.mjs onboard --non-interactive --ai-provider anthropic
Manual Configuration
Or create the config file manually:
# ~/.weavr/config.yaml
# LLM Provider (for AI agents)
anthropicKey: sk-ant-...
model: claude-sonnet-4-20250514
# Or use OpenAI
# openaiKey: sk-...
# model: gpt-4o
# Server settings (optional)
port: 3847
host: localhost
# Scheduler persistence (optional)
scheduler:
dbPath: /path/to/scheduler.db
Environment Variables
| Variable | Purpose |
|---|---|
| ANTHROPIC_API_KEY | Anthropic API key for Claude models |
| OPENAI_API_KEY | OpenAI API key for GPT models |
| BRAVE_API_KEY | Brave Search API for web search |
| GITHUB_TOKEN | GitHub personal access token |
| TELEGRAM_BOT_TOKEN | Telegram bot token from BotFather |
First Workflow
Create a simple workflow to verify everything works.
Create the Workflow
# Create workflow directory
mkdir -p ~/.weavr/workflows
# Create a simple workflow
cat > ~/.weavr/workflows/hello.yaml << 'EOF'
name: hello-world
description: A simple test workflow
steps:
- id: greet
action: transform
with:
template: "Hello from Weavr!"
- id: log
action: log
needs: [greet]
with:
message: "{{ steps.greet }}"
EOF
Run the Workflow
node weavr.mjs run hello
You should see output indicating the workflow ran successfully.