Crosser.Templates
1.0.0
dotnet new install Crosser.Templates::1.0.0
Crosser Templates
Official .NET template for creating a Crosser flow module using the Crosser SDK.
Overview
This package provides a dotnet template to help developers quickly create new Crosser flow modules with best practices and proper structure.
Installation
Install the dotnet template package:
dotnet new install Crosser.Templates
Crosser Flow Module (crosser-flowmodule)
Creates a new Crosser flow module project with the following structure:
- Main module project with sample implementation
- Settings class for module configuration
- Optional unit test project with sample tests
- Documentation files
- Proper project references and dependencies
Basic Usage
Create a new crosser module with default settings:
dotnet new crosser-flowmodule -n MyOrg.FlowModule.SampleModule
Template Options
| Option | Short | Type | Default | Description |
|---|---|---|---|---|
--includeTest |
-in |
bool | true |
Include a unit test project with sample tests |
--skipRestore |
-s |
bool | false |
Skip automatic NuGet package restore after creation |
--moduleName |
-m |
string | MyModule |
Name of the module class and related files |
Naming Conventions and Namespaces
⚠️ Important: Company-Scoped Naming
Always scope your module names to your company or organization to avoid naming conflicts in Crosser environments. This is crucial when deploying modules to shared environments or when distributing modules.
✅ Recommended naming patterns: Include your organization name or domain in the module name
YourOrg.FlowModule.ModuleName(e.g.,Acme.FlowModule.DataTransformer)
❌ Avoid generic names: Avoid ommitting your organization name or using overly generic names that coulds conflict with other packages.
DataProcessor(too generic, likely to conflict)SQL.Transformer(very common name)
Namespace Structure
The template creates the following namespace structure:
- Project Name: Uses the
-nparameter (e.g.,YourOrg.FlowModule.EmailProcessor) - Module Class: Uses the
-mparameter (e.g.,EmailProcessor) - Namespace: Matches the project name for consistency
Example:
dotnet new crosser-flowmodule -n Acme.FlowModule.EmailProcessor -m EmailProcessor
This creates:
- Project:
Acme.FlowModule.EmailProcessor - Namespace:
Acme.FlowModule.EmailProcessor - Module class:
EmailProcessor - Settings class:
EmailProcessorSettings
Generated Project Structure
YourModuleName/
├── Module/
│ ├── YourModuleName.csproj
│ ├── YourModule.cs # Main module implementation
│ ├── YourModuleSettings.cs # Module settings/configuration
│ ├── GlobalUsings.cs # Global using statements
│ ├── CHANGELOG.md # Module changelog
│ └── docs/
│ ├── YourModule.md # Module documentation
│ ├── YourModule.svg # Module icon/diagram
│ └── YourModule.teaser.md # Module description
└── UnitTests/ (if includeTest = true)
├── YourModuleName.UnitTests.csproj
├── YourModuleTests.cs # Unit tests for module
├── FlowMessageTests.cs # Flow message tests
└── GlobalUsings.cs
Next Steps
After creating your module:
- Customize the module logic in
YourModule.cs - Configure settings in
YourModuleSettings.cs - Update documentation and icon in the
docs/folder - Add unit tests to validate your module behavior
- Build and test your module locally
- Package and deploy to your Crosser cloud.
Requirements
- .NET 6.0 or later
- Crosser SDK (automatically referenced by the template)
Development Resources
Crosser SDK Documentation
For comprehensive guidance on module development with the Crosser SDK, including advanced concepts, best practices, and API references, please refer to the official SDK documentation:
📚 Crosser SDK Module Development Guide
This documentation covers:
- Module lifecycle and event handling
- Advanced message processing patterns
- Settings and configuration management
- Error handling and logging best practices
- Performance optimization techniques
- Testing strategies for flow modules
- Deployment and packaging guidelines
Support
For more information about developing Crosser modules, visit the Crosser documentation or contact Crosser Technologies support.
-
net9.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 367 | 11/11/2025 |
| 1.0.0-beta | 752 | 5/15/2024 |
| 1.0.0-alpha | 297 | 5/14/2024 |
N/A