SkillAgentSearch skills...

Esdl

Event-sourcing Schema Definition Language

Install / Use

npx skills add thalo-rs/esdl

Installs into whichever agent you are using.

About this skill

Quality Score

0/100

Supported Platforms

Universal

README

ESDL

Event-sourcing Schema Definition Language


Schema definition language for defining aggregates, commands, events & custom types.

Heavily inspired by GraphQL syntax, you can describe aggregates which can be used for codegen in different languages.

Install

esdl = "*"

Example

version = "0.1.0"

aggregate BankAccount {
  open_account(initial_balance: Float) -> OpenedAccount
  deposit_funds(amount: Float) -> ReceivedFunds
  withdraw_funds(amount: Float) -> SentFunds
  send_funds(amount: Float, user: User) -> (SentFunds? | ReceivedFunds?)
}

event OpenedAccount {
  initial_balance: Float
}

event SentFunds {
  amount: Float
  user: User?
}

event ReceivedFunds {
  amount: Float
  user: User?
}

type User {
  id: String
  name: String?
}

Scalar Types

| Scalar | Rust Type | TypeScript Type | | -------- | ----------- | --------------- | | String | String | string | | Int | i32 | number | | Long | i64 | number | | Float | f32 | number | | Double | f64 | number | | Bool | bool | boolean | | Bytes | Vec<u8> | string |

Optional & Required

Types can be marked as optional by adding the ? suffix.

| Type | Syntax | Example | | -------- | ------ | --------- | | Required | T | String | | Optional | T? | String? |

Repeating Types

Types can be repeated by wrapping them in [].

| Type | Syntax | Example | | ------ | ------ | ---------- | | Single | T | String | | Array | [T] | [String] |

Remember, we can mark types as optional, even in arrays.

| Type | Syntax | Example | | -------------------- | ------- | ------------ | | Optional Array | [T?]? | [String?]? | | Required Array | [T?] | [String?] | | Required Array Items | [T]? | [String]? | | Required Array Items | [T] | [String] |


Integrates with Thalo to generate Rust code.

Related Skills

View on GitHub
GitHub Stars49
CategoryDevelopment
Updated9mo ago
Forks2

Languages

Rust

Security Score

87/100

Audited on Nov 4, 2025

No findings