app-state-diagram is a tool that visualizes state transitions and information structures of RESTful applications. It generates interactive state diagrams and hyperlinked documentation from ALPS (Application-Level Profile Semantics) profiles written in XML or JSON.
- Application Overview: Visually grasp complex RESTful applications and understand the big picture
- Clear Information Semantics: See how data flows and what each element means
- Enhanced Team Communication: Both technical and business teams can discuss using the same visual representation
- Design Consistency: Represent application structures uniformly and discover design issues early
https://editor.app-state-diagram.com/
brew install alps-asd/asd/asdAuto-updates with brew upgrade.
npm install -g @alps-asd/clicurl -O https://raw.githubusercontent.com/alps-asd/app-state-diagram/master/docs/bookstore/alps.xml
asd alps.xml
open index.html # on macOSasd [options] <profile.json|profile.xml>| Option | Description |
|---|---|
-o, --output <file> |
Output file path |
-f, --format <format> |
Output format: html (default), svg, dot, mermaid |
-w, --watch |
Watch mode with live reload |
--port <port> |
CDP port for watch mode (default: 9222) |
--label <mode> |
Label mode: id (default) or title |
--validate |
Validate ALPS profile only |
-e, --echo |
Output to stdout |
asd merge <base.json> <partial.json> # Merge partial ALPS into base profileStart watch mode with automatic Chrome launch and live reload:
asd -w profile.jsonChrome opens automatically with remote debugging enabled. Changes to the ALPS file trigger instant browser refresh.
The validator checks for errors, warnings, and suggestions:
- Errors (E001-E011) - Missing id/href, missing rt, invalid type, broken references, duplicate ids, etc.
- Warnings (W001-W004) - Missing title, naming conventions (go*/do* prefixes), orphan descriptors
- Suggestions (S001-S003) - Consider adding doc/title to improve documentation
See Validation Issues Reference for detailed explanations and how to fix each issue.
asd profile.json --validateSee live demos or visit app-state-diagram.com
See AI Integration Guide for setting up Claude Code, MCP Server, or other AI tools.
- ALPS Specification
- alps-editor - Online ALPS editor
MIT
