Pre-release JETH is under active compiler and security review.
Internals

BURG IDE BURG IDE

BURG is the online IDE for JETH. Open it in any browser, no install required:

burg.a16k.org

See Compiler, CLI, and tooling for the low-level jethc compiler reference and standard JSON interface.

Overview#

BURG is a browser-based workbench that runs the JETH compiler entirely in the browser. Every edit compiles immediately and the output panel updates in place.

The interface has three areas:

  • Explorer (left sidebar): create, rename, and organize .jeth source files within your workspace session
  • Code editor (center): a full Monaco-based editor with JETH syntax highlighting, keyboard shortcuts, and zoom controls (Cmd/Ctrl +, Cmd/Ctrl -, Cmd/Ctrl 0)
  • Compiler output (right panel): shows ABI, bytecode, Yul IR, and storage layout for the contract selected in the editor

Features#

FeatureDetail
Instant compilationRecompiles on each edit; errors and warnings appear inline
ABI viewFull ABI JSON for every contract in the file
BytecodeCreation and runtime bytecode in hex
Yul IRYul output from the JETH compiler, before solc optimization
Storage layoutSlot assignments for every storage variable
File explorerMulti-file workspace; create and switch between files in a session
No installRuns entirely in the browser; nothing to configure

VS Code syntax extension#

The JETH syntax extension lives at tools/jeth-vscode/ in the JETH repository. It provides:

  • A dedicated jeth language ID for .jeth files, preventing spurious TypeScript errors from a plain .ts-style association
  • The orange JETH logo as the file icon in the Explorer and editor tabs
  • A TextMate grammar that colorizes sized integer types (u8..u256, i8..i256), address, bool, string, void, type constructors (mapping, Arr, Brand), value markers (External, Payable, Visible, View, Pure, event<{...}>, error<{...}>, indexed<T>), active decorators (@modifier, @nonReentrant, @override, @virtual, @diamond, @storage, @proxy, @beacon, @facet, @anonymous, @payable), globals (msg, block, tx, abi) and their members, builtins (keccak256, require, revert, emit), and deprecated legacy decorator spellings (shown with a DEPRECATED scope so they read as invalid)

Install from the JETH repository (the extension is not yet on the Marketplace):

bash
cp -R tools/jeth-vscode ~/.vscode/extensions/jeth-syntax-0.3.0

Reload the VS Code window: Cmd/Ctrl+Shift+P then "Developer: Reload Window".

Open any .jeth file. The language indicator in the status bar should read "JETH" and the file icon should be the orange JETH logo.

To uninstall: remove ~/.vscode/extensions/jeth-syntax-0.3.0 and reload.