Skip to content

ScriptKit v1.0.0#2283

Open
KenanMillet wants to merge 22 commits into
Roll20:masterfrom
KenanMillet:ScriptKit-v1.0.0
Open

ScriptKit v1.0.0#2283
KenanMillet wants to merge 22 commits into
Roll20:masterfrom
KenanMillet:ScriptKit-v1.0.0

Conversation

@KenanMillet

Copy link
Copy Markdown
Contributor

ScriptKit is a generic framework library for Roll20 API scripts that provides a standard set of features out of the box when a script registers with it.

Features

  • Help/Man/WhatsNew commands — fuzzy search, tiered matching, [new] badges across restarts
  • Handout generation — user-facing and developer-facing docs, auto-generated from help data
  • Interactive setup guides — selection steps (type-filtered), query steps (type coercion, dropdowns, freeform), hue-rotating cards, validation hooks
  • State migrations — versioned up/down, working copy (commit on success), rollback via persisted down strings after code swap
  • MOTD — random tip whispered to GM on startup with customizable header/style
  • Ready signal coordination!command-ready broadcast for load-order-independent interop
  • Cross-script example registration — Proxy-based queue, drain on registration regardless of load order
  • Extension API auto-injection — dev handouts automatically include extension docs (suppressible via extensionApi: null)

Text Rendering

All text is auto-formatted by default — HTML escaped, markdown converted (`code`, **bold**, *italic*), \n<br>. Use html.raw(...) to pass pre-built HTML through unchanged.

Dependencies

None — ScriptKit is self-contained. Scripts opt in via ScriptKit.register(name, opts).

Tested

  • Dogfooded via self-registration (ScriptKit registers itself)
  • Integrated with Gaslight and Choreograph (separate PRs)
  • Verified in Roll20 sandbox: help, man, gen-docs, gen-dev-docs, examples, migrations, MOTD

…ut, compareSemver, version tracking, query escaping
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant