Wolf DSL Documentation
Welcome to Wolf DSL - a powerful domain-specific language for service orchestration and data transformation. Wolf DSL enables you to build complex workflows using simple, declarative .flow files.
What is Wolf DSL?
Wolf DSL is a declarative language framework that enables:
- Service Orchestration: Chain REST and GraphQL services together seamlessly
- Data Transformation: Transform and manipulate data using built-in functions
- Flow Control: Define complex business logic with conditional branching
- State Management: Model system states and transitions declaratively
Wolf DSL replaces traditional imperative programming with intuitive, readable flows that focus on what your system should do rather than how to implement it.
Why Choose Wolf DSL?
Performance Optimized
The Wolf DSL runtime handles thread management, memory optimization, and async operations automatically - letting you focus on business logic.
Declarative Configuration
Define complex service orchestration and data transformation in fewer lines than traditional code.
Seamless Integration
Built-in support for REST APIs, GraphQL services, and enterprise systems.
Developer-Friendly Tooling
Rich IDE support with syntax highlighting, validation, and debugging capabilities.
Separation of Concerns
Business logic stays in Wolf DSL flows while infrastructure concerns are handled by the runtime.
Quick Example
Here's a simple Wolf DSL flow that demonstrates the core concepts:
Schema User {
string name
string email
}
value defaultUser -> User {
name: "New User"
email: "user@example.com"
}
Service userService method GET as getUserById
input User output User {
Url -> @Config("api.base.url")
Path -> ${"/users/" + defaultUser.name}
@Header Accept -> ${"application/json"}
}
Mapping userTransform input defaultUser output User {
User.name = "Transformed: " + defaultUser.name
User.email = defaultUser.email
}
Flow userFlow {
Start defaultUser {
transition {
@Config("api.base.url") != null ? getUserById : userTransform
}
}
getUserById {}
userTransform {}
}
This flow:
- Defines a
Userschema structure - Creates default user data
- Conditionally calls a REST service or applies a data transformation
- Returns the processed user data
Getting Started
Ready to start building with Wolf DSL? Here's what you need:
- Quickstart Tutorial - Build your first Wolf DSL flow in minutes
- Language Reference - Learn the syntax and core concepts
- Examples & Recipes - Practical patterns for common use cases
- Installation Guide - Set up your development environment
Core Concepts
Wolf DSL is built around several key node types:
- Flow - The main execution entry point
- Service - REST and GraphQL API calls
- Mapping - Data transformation logic
- Schema - Data structure definitions
- Value - Static and dynamic data values
Community & Support
- Documentation: You're in the right place!
- Issues & Feature Requests: GitHub Issues
- Contributing: Contributing Guide
Wolf DSL helps you build maintainable, scalable service orchestration flows with the power of declarative programming.