genvm-lint

Solid

Validate GenLayer intelligent contracts with the GenVM linter.

Code & Development 4,294 stars 90 forks Updated yesterday NOASSERTION

Install

View on GitHub

Quality Score: 86/100

Stars 20%
100
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# GenVM Lint Validate intelligent contracts for safety, correctness, and SDK compliance. ## Setup Requires `genvm-linter` (included in `requirements.txt` for boilerplate projects): ```bash pip install genvm-linter ``` ## Workflow **Always lint before testing.** Run `genvm-lint check` after writing or modifying a contract. Fix all errors before running tests. ```bash genvm-lint check contracts/my_contract.py ``` `check` runs both lint (AST safety) and validate (SDK semantics) in one pass. ## Commands ### check (recommended) ```bash genvm-lint check contracts/my_contract.py genvm-lint check contracts/my_contract.py --json # Machine-readable output ``` ### lint (fast AST checks only, ~50ms) ```bash genvm-lint lint contracts/my_contract.py ``` Catches: - Forbidden imports (`os`, `sys`, `subprocess`, `random`, etc.) - Non-deterministic patterns (bare `float` usage) - Contract header structure issues ### validate (SDK semantic checks, ~200ms) ```bash genvm-lint validate contracts/my_contract.py ``` Validates: - Types exist in SDK (`TreeMap`, `DynArray`, `Address`, etc.) - Decorators correctly applied (`@gl.public.view`, `@gl.public.write`) - Storage fields have valid types (no `dict`/`list`) - Method signatures correct ### schema (extract ABI) ```bash genvm-lint schema contracts/my_contract.py genvm-lint schema contracts/my_contract.py --json genvm-lint schema contracts/my_contract.py --output abi.json ``` ### typecheck (Pyright/Pylance) ```bash genvm-lint typechec...

Details

Author
internet-court
Repository
internet-court/internet-court-skill
Created
2 months ago
Last Updated
yesterday
Language
TypeScript
License
NOASSERTION

Similar Skills

Semantically similar based on skill content — not just same category