Installation and Usage Guide

ASD (app-state-diagram) is a tool for creating comprehensive ALPS documentation that includes application state transition diagrams and vocabulary lists. It can be used in the following ways:

Choosing Usage Method

1. Online Version

Use immediately without local installation:

Features:

  • JSON/XML/HTML files can be loaded via drag & drop
  • Snippets and advanced code completion

Easiest to use in environments where homebrew is installed. It also always stays up-to-date with the latest version.

Installation:

brew install alps-asd/asd/asd

3. npm Version

Available in environments with Node.js 20 or higher installed.

Installation:

npm install -g @alps-asd/app-state-diagram

4. GitHub Actions Version

Create ASD in CI. See marketplace for details.

5. Language Server (experimental)

A Language Server that provides real-time validation, code completion, and hover information for editors such as Vim and VSCode.

GitHub - alps-lsp

Usage

Running Demo

# Download and run demo file
curl -L https://alps-asd.github.io/app-state-diagram/blog/profile.json > alps.json
asd -w ./alps.json

Command Line Options

asd [options] alps_file

Options:
  -v, --version          Show version information
  -e, --echo             Output to stdout instead of file
  -f, --format <format>  Output format (html|svg|dot|mermaid)
  -o, --output <file>    Output file (default: <input>.html)
  --label <mode>         Label mode: id or title
  --validate             Validate ALPS profile
  -w, --watch            Watch mode with live reload
  --port <port>          CDP port for watch mode (default: 9222)

Commands:
  merge <base> <source>  Merge ALPS profiles

Installation Verification

asd
usage: asd [options] alps_file
@see https://github.com/alps-asd/app-state-diagram#usage

Selection Guidelines

  • Quick trial, temporary use → Online version
  • Local use (Mac/Linux) → Homebrew version
  • Node.js environment → npm version
  • CI/CD environment use → GitHub Actions version

For other installation methods, see Legacy Installation.