Tooling for the Overwatch Workshop.
WrightKit is an open-source ecosystem of tools for Overwatch Workshop development. Wright, its primary product, is a standalone Rust toolchain for linting, static analysis, semantic inspection, and compilation — for developers, CI, and AI agents.
curl -fsSL https://wrightkit.dev/install.sh | bash$ wright lint src/hero.opywarning[expensive-loop-check]: geometry predicate in loop body --> src/hero.opy:24:9 |24 | while @hero.is_in_view(target): | ^^^^^^^^^^^^^^^^^^^^^^^^ = = note: evaluated on each iteration; may spike server load = rule: expensive-loop-check (stability)$ wright compile src/hero.opy -o dist/hero.txt✓ compiled 12 rules, 4 subroutines (0.018s) wright lint: static analysis with stable diagnostic codes and exact source spans.
Install Wright
Standalone wright and wright-lsp binaries for macOS (Apple Silicon & Intel), Linux (x86_64), and Windows (x86_64). Zero runtime dependencies — no Node.js, .NET, or external interpreters required.
brew tap wrightkit/tap
brew install wrightkit/tap/wright Installs wright and wright-lsp to your path with checksums verified by Homebrew.
curl -fsSL https://wrightkit.dev/install.sh | bashFeatures
Developer tooling — linting, diagnostics, semantic queries, editor assistance, and safe source transformations — as first-class product surfaces.
Static analysis & linting
Stability and performance rules with stable diagnostic codes: min-wait-loop, duplicate-condition, expensive-loop-check, repeated-value, and while-without-wait.
wright lint input.opy Deterministic diagnostics
Structured errors, warnings, and exact source spans in terminal format and machine-readable wright-result/v1 JSON.
wright check input.opy Semantic inspection
Structural models, rules, symbols, variable assignments, subroutine dependencies, and control-flow graphs.
wright analyze input.opy Agent & embedding APIs
Session-based driver (wright-driver) with stdio/JSON-RPC adapters (wright-serve) for programmatic inspection and verified source editing from CI and agents.
cat input.opy | wright lint - Language server
Lightweight wright-lsp providing hover documentation, definition navigation, reference searches, project-wide identifier rename, and semantic syntax highlighting.
wright-lsp Compiler
Compile .opy and Workshop text to deterministic, catalog-validated Workshop output (en-US baseline).
wright compile input.opy Compatibility
Workshop text is the interoperability hub: it is the canonical boundary between supported source forms and the target for compilation.
Workshop text
SupportedCanonical boundary & interoperability layer
Parsing, validation, the localized action/value catalog, and deterministic emission are owned by workshop-rs, the canonical Workshop semantic core. Rules, actions, values, events, enums, variables, subroutines, and settings are covered.
Owned by: workshop-rs · canonical core
OPY / OverPy
SupportedCorpus-evidenced semantic frontend
Native frontend shipped in Wright v0.1.0: preprocessor (#!include, #!define), macros, declarations, expressions, enums, and settings blocks, verified against a pinned OverPy oracle. A standalone opy-rs provider is in development.
Owned by: wright v0.1.0 · opy-rs provider (in development)
DEL / OSTW
In developmentIndependent compatible frontend
A native DEL/OSTW-compatible frontend is declared on Wright main for the protect-ban slice; the standalone del-rs provider owns the durable implementation. Not yet in a release.
Owned by: del-rs (in development) · declared surface on Wright main
Conversion directions
- OPY → WorkshopSupported
- Workshop → WorkshopSupported
- OSTW → WorkshopIn development
- Workshop → OPYIn development
Four-Level S/D/N/E Verification Model
Compiler compatibility is rigorously evidenced under a prioritized verification framework:
Agrees on accepting valid inputs and rejecting unsupported syntax across the corpus.
Reports structured diagnostic categories, codes, and accurate source spans for diagnosed inputs.
Produces equivalent Workshop output under versioned normalization.
High-risk runtime semantics are verified against repeatable behavioral scenarios.
Ecosystem
WrightKit is a multi-repository ecosystem: each repository owns a distinct product, contract, or language implementation, and Wright orchestrates them through shared contracts.
- wrightkit/wright Tooling & orchestrationReleased v0.1.0
Wright is the primary user-facing product: CLI, diagnostics, static analysis and linting, language services (wright-lsp), validated source editing, and agent/embedding APIs. AGPL-3.0-or-later.
- wrightkit/workshop-rs Canonical Workshop coreIn development
Canonical Workshop semantics: actions, values, events, operators, the localized catalog, parser, Workshop IR, and emitter. The interoperability hub for supported source forms. MIT.
- wrightkit/opy-rs OPY language providerIn development
Standalone, Workshop-independent OPY/OverPy-compatible frontend: lexer, preprocessor, parser, semantic resolution, and Opy HIR.
- wrightkit/del-rs DEL/OSTW language providerIn development
Independent DEL/OSTW-compatible frontend: lexer, recoverable parser, project and import loading, semantic analysis, and a backend-neutral HIR.
- wrightkit/language-provider-protocol Provider protocolLPP v1.0
The versioned process and data contract between Wright tooling and language providers: source text, positions, diagnostics, and source-level edits, without leaking provider internals. MIT.
- wrightkit/workshop-agent Agent skills & toolsReleased v0.1.4
Workshop-native engineering knowledge and deterministic CLI tools for coding agents — Codex, Claude Code, Gemini CLI, OpenCode, and other Agent Skills-compatible harnesses.
The same interface for people and agents
If a developer can ask the tooling a question, a coding agent can ask it through the same JSON contract. No scraped logs or brittle regexes.
Structured interfaces
Transport-neutral request/response (wright-result/v1) for program summaries, rules, symbols, references, usage, control flow, and findings.
Deterministic output
Equal inputs, configuration, and toolchain produce the exact same IR, diagnostics, and snapshots.
Machine-readable diagnostics
Errors and findings carry stable codes, severity levels, and source spans so an agent or IDE can act without parsing prose.
Clean-room & reproducible checks
Isolated reference oracles, fixture corpora, and regenerable snapshots keep compatibility claims verifiable.
Open Source
WrightKit is open source: repositories are licensed independently and hosted on GitHub. Wright is AGPL-3.0-or-later; the canonical Workshop core and the provider protocol are MIT.
- wrightkit/wright
Primary tooling and orchestration repository
- wrightkit/workshop-rs
Canonical Workshop semantic core
- wrightkit/opy-rs
OPY / OverPy language provider
- wrightkit/del-rs
DEL / OSTW-compatible frontend
- wrightkit/language-provider-protocol
Language Provider Protocol contract
- wrightkit/workshop-agent
Agent skills and tools for coding agents
- wrightkit/homebrew-tap
Homebrew tap for Wright (macOS)
- wrightkit/workshop-md-converter
Converts the Workshop.code wiki into Markdown