Visual Workflow Builder (Recommended)
@crystalflow/react + @crystalflow/core
Best for: Building visual workflow applications with drag-and-drop UI
- Build a visual workflow editor for end users
- Create no-code/low-code tools
- Provide a drag-and-drop interface for workflow creation
- Let users visually connect nodes on a canvas
- Build SaaS applications with workflow builders
- Complete visual workflow builder component
- React Flow integration for canvas rendering
- Node palette, property panel, toolbar
- Save/load workflows as JSON
- Real-time execution feedback
- All core execution features
Core Package Only (Backend/Headless)
@crystalflow/core
Best for: Backend workflows, automation, CLI tools, or custom UIs
- Build backend automation workflows
- Create CLI tools with workflow execution
- Execute pre-defined workflows without UI
- Build a completely custom UI from scratch
- Use workflows in Node.js servers or serverless functions
- Node system with decorators
- Workflow engine and execution
- JSON serialization
- Event system
- Error handling and cancellation
- Zero UI dependencies
Comparison
| Feature | Visual Builder | Core Only |
|---|---|---|
| Visual canvas | ✓ Included | ✗ Not included |
| Drag & drop nodes | ✓ Included | ✗ Not included |
| Property panel | ✓ Included | ✗ Not included |
| Save/load UI | ✓ Included | ✗ Manual implementation |
| Workflow execution | ✓ Included | ✓ Included |
| Custom nodes | ✓ Supported | ✓ Supported |
| JSON serialization | ✓ Included | ✓ Included |
| React dependency | ✓ Required | ✗ Not required |
| Bundle size | ~250KB | ~50KB |
| Use case | End-user apps | Backend/automation |
Which Should I Choose?
Choose Visual Builder if...
Choose Visual Builder if...
- You’re building a SaaS application with workflow features
- Users need to create workflows visually
- You want drag-and-drop functionality
- You need a complete UI out of the box
- You’re building a React application
Choose Core Only if...
Choose Core Only if...
- You’re building backend automation
- Workflows are pre-defined (not user-created)
- You need lightweight execution (CLI, serverless)
- You want to build a custom UI from scratch
- You’re working in Node.js without React
Can I Use Both?
Yes! Many applications use both: Example: A SaaS platform where:- Frontend (React) - Users create workflows with
@crystalflow/react - Backend (Node.js) - Server executes workflows with
@crystalflow/core - Shared - Workflows are saved as JSON and executed on backend