Validate GenLayer intelligent contracts with the GenVM linter.
Validate intelligent contracts for safety, correctness, and SDK compliance.
Requires genvm-linter (included in requirements.txt for boilerplate projects):
pip install genvm-linterAlways lint before testing. Run genvm-lint check after writing or modifying a contract. Fix all errors before running tests.
genvm-lint check contracts/my_contract.pycheck runs both lint (AST safety) and validate (SDK semantics) in one pass.
genvm-lint check contracts/my_contract.py
genvm-lint check contracts/my_contract.py --json # Machine-readable outputgenvm-lint lint contracts/my_contract.pyCatches:
os, sys, subprocess, random, etc.)float usage)genvm-lint validate contracts/my_contract.pyValidates:
TreeMap, DynArray, Address, etc.)@gl.public.view, @gl.public.write)dict/list)genvm-lint schema contracts/my_contract.py
genvm-lint schema contracts/my_contract.py --json
genvm-lint schema contracts/my_contract.py --output abi.jsongenvm-lint typecheck contracts/my_contract.py
genvm-lint typecheck contracts/my_contract.py --json
genvm-lint typecheck contracts/my_contract.py --strictRuns Pyright with SDK paths auto-configured. Catches type mismatches, missing attributes, undefined variables.
genvm-lint download # Latest
genvm-lint download --version v0.2.12 # Specific
genvm-lint download --list # Show cached✓ Lint passed (3 checks)
✓ Validation passed
Contract: MyContract
Methods: 8 (5 view, 3 write)--json){"ok":true,"lint":{"ok":true,"passed":3},"validate":{"ok":true,"contract":"MyContract","methods":8,"view_methods":5,"write_methods":3,"ctor_params":2}}0 — All checks passed1 — Lint or validation errors found2 — Contract file not found3 — SDK download failedWhen fixing lint errors iteratively:
genvm-lint check contract.py --json"ok": trueinternet-court/internet-court-skill
fa89195
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.