Language support for the Repost webhook schema language (.repost) — a
Prisma-derived DSL for declaring webhook event catalogs, payload models and the
Standard Webhooks envelope. If you know Prisma schema, you already know this.
generator sdk {
provider = "typescript"
output = "../generated/webhooks"
}
type Book {
/// A book was created
created // -> "book.created"
}
model Book {
title String
authors Author[]
price Float
currency Currency
}
event BookCreated {
type @type(Book.created)
data Book
timestamp DateTime
}
Features
Syntax highlighting — keywords (generator/model/enum/type/event),
field types and arities, attributes (@type/@map/@default/@deprecated),
strings, and // / /// doc comments.
Diagnostics — schema validation as you type (missing/duplicate @type,
unknown types, envelope violations, unbound catalog members, and more).
Completion — catalog members inside @type(Catalog.…), attribute names
after @ (context-aware: @type only inside event blocks), block keywords,
and field types. Trigger characters: @, ", ..
All analysis runs locally through a WebAssembly build of the repost-schema
engine bundled inside the extension; nothing is sent anywhere and no external
CLI is required.
Requirements
VS Code 1.85 or newer. No other tooling is needed — the language server and its
WebAssembly engine ship inside the extension.
Marketplace identifiers
Note: the publisher (repost), extension ID (repost.repost) and
display name (Repost) are fixed for Marketplace publishing. The language ID
repost and TextMate scope source.repost are fixed as well. Publishing
itself is handled by the repository release workflow.
License
Apache-2.0. The bundled repost-schema engine is derived from
Prisma's psl crates (Apache-2.0).