GX source tools

Purpose

v0.1.2 adds the first .gx source toolchain on top of the v0.1.1 node foundation. It introduces the bus gx fmt and bus gx lint command surface and the parser support those commands need. The module binary also accepts gx fmt and gx lint aliases after the binary name for module-local tests.

This patch is source-only. It validates and normalizes .gx files before the compiler exists. It does not render templates, compile generated Go, resolve custom component functions, load data, evaluate runtime values, run controllers, or mount browser UI.

Deliverables

  1. Define the .gx source file shape.
  2. Provide deterministic formatting.
  3. Provide source-only linting.
  4. Emit stable diagnostics for humans and agents.
  5. Define the public acceptance checks for this patch.

Result

After this patch, authors can create a .gx file, canonicalize it, and get source diagnostics before any later render or runtime work exists.

The public module result is:

bus gx fmt --check hello.gx

bus gx lint --format json hello.gx