tinymux/tools/worldbuilder/__pycache__/softcode_lint.cpython-310.pyc
Stephen Dennis 9c0385cee5 WorldBuilder: softcode linter for MUX code in attributes
softcode_lint.py — static analysis of MUX softcode:

Checks:
  Balanced brackets [ ], parentheses ( ), braces { }
  Known function names (~200 TinyMUX functions)
  Valid substitution patterns (%#, %0-%9, %q0-%qz, %va-%vz, etc.)
  Dangerous commands (@force, @destroy, @toad, @shutdown, etc.)

Integrated into worldbuilder.py as 'lint' action:
  worldbuilder.py lint spec.yaml

Also available standalone:
  softcode_lint.py spec.yaml       — lint a YAML spec
  softcode_lint.py --raw code.txt  — lint raw softcode text

Test: softcode_test.yaml exercises all check types
  5 errors (unclosed delimiters, dangerous @force)
  2 warnings (unknown function, invalid %z substitution)
  Town spec with real attributes passes cleanly

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 14:46:37 -06:00

7.3 KiB