# Install statesmith with Homebrew

State machine code generation tool suitable for bare metal, embedded and more. Version 0.22.2 via Homebrew; verified 2026-05-24.

## Install

```sh
sudo av install brew:statesmith
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install statesmith
```

  Evidence: local Homebrew formula metadata

## Package facts

- **Package key:** brew:statesmith
- **Package manager:** Homebrew
- **Version:** 0.22.2
- **Source summary:** State machine code generation tool suitable for bare metal, embedded and more
- **Homepage:** <https://github.com/StateSmith/StateSmith>
- **Repository:** <https://github.com/StateSmith/StateSmith>
- **Last updated:** 2026-05-24T03:37:42Z
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- ss.cli (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 0.22.2
## Project history and usage

StateSmith is an open-source state-machine code generator with a CLI, aimed especially at embedded and bare-metal workflows where generated code should be readable, dependency-free, and allocation-conscious.

### Project history

The README describes StateSmith as a cross-platform tool for generating state machines in multiple programming languages, with generated code suitable for tiny bare-metal microcontrollers, games, apps, web projects, and computers.

The official About wiki explains the author's motivation: he could not find a state-machine code generator suitable for low-level embedded application use, with an attractive license and enjoyable workflow. It also explains the C# implementation choice as a way to use the open-source Roslyn compiler for parsing and code generation.

### Adoption history

The project moved from earlier C# script-oriented examples toward a packaged CLI. The CLI install wiki documents `ss.cli`, installable globally as a .NET tool or downloadable as a standalone binary.

The README states that the author uses StateSmith in production projects and that other companies use it in production as well, while the repository page shows ongoing releases and a sizable GitHub audience for a specialized embedded-code tool.

### How it is used

Users model state machines with diagram tools such as PlantUML or draw.io, then run the CLI to generate source code for supported languages. Tutorials and examples are the main documented entry points.

The project is designed for teams that want diagrams and implementation to stay synchronized: generated code comes from the diagram-backed model rather than from hand-maintained state-machine code.

### Why package nerds care

StateSmith is notable because it packages a traditionally GUI-heavy modeling niche into a command-line generator that can be installed, versioned, and run in build scripts.

For package managers, `ss.cli` is the useful unit: it turns state-machine diagrams into source artifacts without requiring an IDE plugin or proprietary modeling tool.

### Timeline

- 2023: Official About wiki documents the project motivation and platform goals.
- 2025: CLI install wiki documents standalone binaries and .NET tool installation for `ss.cli`.
- 2026: GitHub repository page lists v0.22.2 as the latest release on May 11, 2026.

### Related projects

- Related tools and formats include PlantUML, draw.io, UML2 state machines, Roslyn, and .NET global tools.
- StateSmith also maintains examples and tutorials that show the older C# script method and newer CLI-oriented workflows.

### Sources

- <https://github.com/StateSmith/StateSmith#readme>
- <https://github.com/StateSmith/StateSmith/wiki/About>
- <https://github.com/StateSmith/StateSmith/wiki/CLI%3A-download-or-install>
- source_facts.executables
- source_facts.package-manager


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals


## Combined YAML source

View the package source record on GitHub. [combined/statesmith.yml](https://github.com/mxcl/pkgdb/blob/main/combined/statesmith.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- cross-ecosystem install command graph
