ALPS CLI Tool Assistant - Complete Skill Summary
This skill helps developers work with the asd-cli tool - a standalone binary for ALPS (Application-Level Profile Semantics) profile validation, conversion, and processing. It provides CLI commands and
$ Installer
git clone https://github.com/hajime-matsumoto/app-state-diagram-cli ~/.claude/skills/app-state-diagram-cli// tip: Run this command in your terminal to install the skill
ALPS CLI Tool Assistant - Complete Skill Summary
Core Purpose
This skill helps developers work with the asd-cli tool - a standalone binary for ALPS (Application-Level Profile Semantics) profile validation, conversion, and processing. It provides CLI commands and MCP server integration for seamless ALPS profile management without requiring PHP installation.
Key Capabilities
Validation: Validate ALPS profiles using asd-cli validate <file> to check for structural errors, naming inconsistencies, and specification compliance.
Visualization: Convert ALPS profiles to DOT format with asd-cli alps2dot <file> for graph visualization using Graphviz. Supports both XML and JSON input formats.
Best Practices: Access comprehensive ALPS design guidelines using asd-cli guide for semantic profile creation and improvement.
MCP Integration: Run as an MCP server with asd-cli serve for Claude Desktop integration, enabling direct tool access within conversations.
Available Commands
Validation
asd-cli validate profile.json
asd-cli validate profile.xml
Validates ALPS profiles against the specification, checking syntax, structure, and semantic consistency.
Conversion to DOT
asd-cli alps2dot profile.json > diagram.dot
asd-cli alps2dot --title profile.xml # Use human-readable titles
Converts ALPS profiles to DOT format for visualization. Use with Graphviz:
asd-cli alps2dot profile.json | dot -Tsvg > diagram.svg
Best Practices Guide
asd-cli guide
Displays comprehensive ALPS design principles, naming conventions, and architectural guidance.
MCP Server
asd-cli serve
Starts the MCP server for Claude Desktop integration.
Version & Help
asd-cli version
asd-cli help
Three-Layer ALPS Architecture
The tool validates and processes profiles organized into distinct sections:
- Ontology - Semantic data fields (atomic descriptors like userId, productName)
- Taxonomy - Application states representing what users see (HomePage, ProductDetail, Cart)
- Choreography - Transitions between states using safe (read), unsafe (create), or idempotent (update/delete) operations
Naming Conventions
States: PascalCase (HomePage, ProductList, UserProfile)
Fields: camelCase (userId, productName, createdAt)
Transitions: Predictable patterns
- "go" prefix for navigation: goProductList, goHomePage
- "do" prefix for actions: doAddToCart, doUpdateProfile, doDeleteItem
Critical Rule: Safe transitions with rt="#ProductList" must have id goProductList to maintain self-documenting consistency.
Workflow Integration
Development Workflow
- Create or modify ALPS profile (XML or JSON)
- Validate with
asd-cli validate profile.json - Fix any errors reported by validation
- Generate visualization with
asd-cli alps2dot profile.json | dot -Tsvg > diagram.svg - Review diagram and iterate
With Claude Desktop (MCP)
- Configure asd-cli as MCP server in Claude Desktop config
- Use MCP tools directly in conversation:
validate_alps- Validate profilesalps2dot- Convert to DOT formatalps_guide- Get best practices
- Claude can read profile files, validate, and provide improvement suggestions
Installation
Quick Install
curl -fsSL https://raw.githubusercontent.com/hajime-matsumoto/app-state-diagram-cli/main/install.sh | bash
Custom Location
INSTALL_DIR=~/.local/bin curl -fsSL https://raw.githubusercontent.com/hajime-matsumoto/app-state-diagram-cli/main/install.sh | bash
Manual Download
Download platform-specific binary from GitHub Releases:
- Linux x86_64:
asd-cli-linux-x86_64 - Linux ARM64:
asd-cli-linux-aarch64 - macOS Apple Silicon:
asd-cli-macos-aarch64
MCP Server Configuration
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or equivalent on other platforms:
{
"mcpServers": {
"alps": {
"command": "/usr/local/bin/asd-cli",
"args": ["serve"]
}
}
}
Update the command path to match your installation location.
Format Support
Input: XML or JSON ALPS profiles Output:
- Validation results (text)
- DOT format for Graphviz
- Best practices guide (markdown)
Common Use Cases
Validate Before Commit
asd-cli validate profile.json && git add profile.json
Generate Documentation Diagram
asd-cli alps2dot --title profile.xml | dot -Tpng > docs/api-diagram.png
Quick Validation Check
asd-cli validate *.json
Interactive Development with MCP
Use Claude Desktop with MCP integration to:
- Validate profiles in real-time
- Get improvement suggestions
- Generate diagrams
- Learn ALPS best practices
Tips for Effective Use
- Always validate before committing - Catch errors early
- Use --title flag for diagrams - Makes them more readable for documentation
- Keep guide handy - Run
asd-cli guidewhen designing new profiles - Leverage MCP integration - Let Claude help with profile creation and validation
- Visualize early and often - Generate diagrams to spot structural issues
Related Tools
This is a standalone binary distribution of koriym/app-state-diagram, providing the same functionality without PHP runtime requirements.
Project Information
- Repository: https://github.com/hajime-matsumoto/app-state-diagram-cli
- License: MIT
- Authors: Hajime MATSUMOTO, Akihito Koriyama
- Based on: alps-asd/app-state-diagram
Repository
