A professional .NET workflow orchestration library designed for building robust, scalable workflow engines.
- 🔄 Workflow Orchestration: Build complex workflows with ease
- 📦 Modular Architecture: Clean separation of concerns with pluggable components
- 🧪 Well Tested: Comprehensive test coverage with modern testing practices
- 🔒 Security First: Regular security scanning and dependency updates
- 📖 Documentation: Complete API documentation and examples
- .NET 9.0 SDK or later
- Git
dotnet add package Flowrexusing Flowrex;
// TODO: Add usage examplesNew to Flowrex development? Check out our Quick Start Guide for a guided walkthrough!
Clone the repository and set up the development environment:
git clone https://github.com/gurame/Flowrex.git
cd Flowrex
# Install all development dependencies (Node, .NET tools, git hooks)
make installThis will:
- ✅ Install Node.js dependencies (commitizen, husky, commitlint)
- ✅ Configure git hooks for commit message validation
- ✅ Install .NET tools (dotnet-format, reportgenerator)
- ✅ Restore NuGet packages
# Check what changed
make status
# Make your changes...
# Quick build + test cycle
make dev
# Stage all changes
make stage-all
# Commit with conventional commits (interactive)
make commit
# Push to remote
make pushSetup & Installation
| Command | Description |
|---|---|
make install |
Install all dev dependencies (first-time setup) |
make setup |
Alias for install + restore |
make help |
Show all available commands |
Building & Testing
| Command | Description |
|---|---|
make build |
Build the solution |
make test |
Run all tests |
make test-coverage |
Run tests with coverage report |
make dev |
Quick cycle: clean + build + test |
Code Quality
| Command | Description |
|---|---|
make format |
Format code with dotnet-format |
make format-check |
Check if code is formatted |
make lint |
Run static analysis |
make security |
Check for vulnerable packages |
make check |
Run all quality checks |
Git Workflow
| Command | Description |
|---|---|
make status |
Show git status |
make stage |
Stage changes interactively |
make stage-all |
Stage all changes (git add -A) |
make commit |
Commit with commitizen (conventional commits) |
make push |
Push to remote |
make release |
Create a new release with version bump and tag |
CI/CD
| Command | Description |
|---|---|
make all |
Run all CI checks (build, test, format, security) |
make package |
Create NuGet packages |
├── src/ # Source code
│ ├── Flowrex/ # Main library
│ ├── Flowrex.Core/ # Core components
│ └── Flowrex.*/ # Feature modules
├── tests/ # Test projects
├── samples/ # Usage examples
├── build/ # Build tools
├── .github/ # CI/CD workflows
└── docs/ # Documentation
└── adr/ # Architecture Decision RecordsThis project follows best practices by documenting significant architecture decisions. See Architecture Decision Records (ADRs) for details.
We welcome contributions! Please see CONTRIBUTING.md for details.
This project adheres to our Code of Conduct. Please read it before participating.
Security vulnerabilities should be reported according to our Security Policy.
This project is licensed under the MIT License - see the LICENSE file for details.
- 📖 Documentation
- 🐛 Issues
- 💬 Discussions
This project uses an optimized CI/CD setup:
- Pull Request validation only when needed
- Security checks via cron (weekly) + PR validation
- Dependabot monthly updates
- Zero redundant workflow executions
See commit history for optimization details.