#dsl #statemachine #language


Scdlang parser for targeting JavaScript library XState

3 unstable releases

0.2.1 Jul 9, 2019
0.2.0 Jul 9, 2019
0.1.0 Jun 30, 2019

#466 in Parser implementations

Used in s-crap

UPL-1.0 license

1.5K SLoC


Statecharts Description Language

current version Docker image size License

🚧Status: 🗶perimental 4ever🤞


Scdlang (pronounced /ˈesˌsi:ˈdi:ˈlæŋ/) is a description language for describing Statecharts that later can be used to generate code or just transpile it into another format. This project is more focus on how to describe Statecharts universally that can be used in another language/platform rather than drawing a Statecharts diagram. For drawing, see State Machine Cat.



  • Readable just like you read then visualize a state diagram
  • Writeable just like you write code which is concise, clear, and can be refactored
  • Transferable to any implementation (e.g platform, programming language, runtime, etc)

Features and Wishlist

For more info, see the changelog in the release page

Getting Started

Currently, this project only have the binary CLI for each OS. Please go to the release page to download then extract it. It also shipped with auto-completions script for your preffered shell.


Just download the binary in the release page or follow this instructions 👇


TODO: (AUR, DEB, RPM) or via shellscript just like installing rustup


TODO: brew or via shellscript just like installing rustup


TODO: chocolatey or via msi installer just like installing rustup

using Docker🐳

smcat, dot, and graph-easy are pre-installed in this docker image

docker pull scdlang/scrap

via Cargo📦

cargo install s-crap


open "help wanted" issues open "good first issue" issues

Any contributions are welcome as long as it follow Code of Conduct.
If anyone have questions or something to discuss, feel free to DM or mention me in any platform that have my profile picture 👹.


This project is licensed under the Universal Permissive License 1.0 - see the LICENSE file for more detail.



~168K SLoC