eventmodeler
v0.4.1
Published
CLI tool for interacting with Event Model files - query, update, and export event models from the terminal
Maintainers
Readme
eventmodeler
CLI tool for interacting with Event Model files. Query, update, and export event models from the terminal.
Works with .eventmodel files created by the Event Modeling App.
Installation
npm install -g eventmodelerQuick Start
# Open Event Modeling app in browser
eventmodeler
# List all slices
eventmodeler list slices
# Show details of a slice
eventmodeler show slice "Place Order"
# Search for elements
eventmodeler search "order"
# Get JSON output instead of XML
eventmodeler list slices --format jsonCommands
List Commands
eventmodeler list slices # List all slices with status
eventmodeler list events # List all events
eventmodeler list commands # List all commands
eventmodeler list chapters # List all chapters
eventmodeler list aggregates # List all aggregates
eventmodeler list actors # List all actorsShow Commands
eventmodeler show slice <name> # Show detailed view of a slice
eventmodeler show event <name> # Show detailed view of an event
eventmodeler show command <name> # Show detailed view of a command
eventmodeler show chapter <name> # Show chapter with its slices
eventmodeler show actor <name> # Show actor with its screensCompleteness Commands
eventmodeler show completeness <name> # Show field mapping completeness for any element
eventmodeler show model-completeness # Show completeness of all flows in the model
eventmodeler show aggregate-completeness <name> # Check if events have the aggregate ID fieldSearch
eventmodeler search <term> # Search for entities by nameModify Commands
# Mark slice status
eventmodeler mark "Place Order" done
eventmodeler mark "Cancel Order" in-progress
# Add scenario to a slice
eventmodeler add scenario --slice "Place Order" --json '{"name": "Happy path", ...}'
# Add field to an entity
eventmodeler add field --event "OrderPlaced" --json '{"name": "orderId", "type": "UUID"}'
# Remove field
eventmodeler remove field --event "OrderPlaced" --field "legacyId"
# Update field properties
eventmodeler update field --read-model "OrderSummary" --field "notes" --optional true
# Map fields between elements
eventmodeler map fields --flow "OrderPlaced→OrderSummary" --json '[{"from": "total", "to": "totalAmount"}]'Export
eventmodeler summary # Show model summary statistics
eventmodeler export json # Export entire model as JSONOutput Format
By default, output is in XML format (optimized for AI agents). Use --format json for JSON output:
eventmodeler list slices --format json
eventmodeler show slice "Place Order" --format jsonSetting Default Format
Set your preferred default format via:
Environment variable:
export EVENTMODELER_FORMAT=jsonConfig file (~/.eventmodeler/config.json):
{
"format": "json"
}Priority: CLI flag > environment variable > config file > default (xml)
Options
-f, --file <path> Path to .eventmodel file (default: auto-detect)
--format <xml|json> Output format (default: xml)
-h, --help Show help message
-v, --version Show version numberUse Cases
For AI Agents
The CLI is designed to work well with AI coding assistants. The XML output format provides structured, readable data that AI agents can easily parse and understand:
eventmodeler show slice "Place Order"For Code Generators
Use JSON output to build code generators that read your event model:
eventmodeler list events --format json | your-codegen-tool
eventmodeler show slice "Place Order" --format jsonFor CI/CD
Check model completeness in your pipeline:
eventmodeler show model-completeness --format jsonRequirements
- Node.js >= 18.0.0
- A
.eventmodelfile in the current directory (or specify with-f)
License
MIT
