⚠️ In Development: The rumi dev command is currently in development. The content in this section is subject to change.
The rumi dev commands help you perform development activities on your Rumi applications, allowing you to incrementally evolve your applications by adding, removing, and modifying components.
Overview
The rumi dev commands provide a structured way to manage your application's components without manually editing configuration files or writing boilerplate code. These commands follow Rumi's best practices and conventions.
Command Categories
The rumi dev commands are organized into the following categories:
Service Management
Manage microservices in your application:
# Add a new servicerumidevserviceadd<service-name># Remove an existing servicerumidevserviceremove<service-name>
Message Management
Manage messages and message definitions:
Handler Management
Manage message handlers:
State Management
Manage state entities:
Configuration Management
Manage application configuration:
Command Structure
All rumi dev commands follow the hierarchical structure:
Where:
<category> is a noun representing the component type (service, message, handler, state, config)
<action> is the operation to perform (add, remove, update, etc.)
[options] are command-specific options and arguments
Best Practices
When using rumi dev commands:
Start from the top down - Add services first, then messages, then handlers
Use descriptive names - Follow naming conventions for your components
Test incrementally - Test each component addition before moving on
Use version control - Commit changes after each component addition
Common Workflows
Creating a New Microservice
Adding Functionality to an Existing Service
Related Documentation
For more information about developing Rumi applications, see the Core Documentation.
# Add a new message
rumi dev message add <message-name>
# Remove an existing message
rumi dev message remove <message-name>
# Add a message handler
rumi dev handler add <handler-name>
# Remove a message handler
rumi dev handler remove <handler-name>
# Add a state entity
rumi dev state add <state-name>
# Remove a state entity
rumi dev state remove <state-name>
# Add configuration
rumi dev config add <config-name>
# Update configuration
rumi dev config update <config-name>
# Remove configuration
rumi dev config remove <config-name>
rumi dev <category> <action> [options]
# 1. Add the service
rumi dev service add OrderProcessor
# 2. Add messages
rumi dev message add CreateOrder
rumi dev message add OrderCreated
# 3. Add handlers
rumi dev handler add OnCreateOrder
# 4. Add state entities
rumi dev state add Order
# Add a new message and handler
rumi dev message add CancelOrder
rumi dev handler add OnCancelOrder