The CLI
The one command line tool and every subcommand it has: run, build, disasm, ast, tokens, tools, test, and the package manager verbs.
One binary, venutian, and one pipeline underneath every subcommand: source text, tokenize, parse, resolve every use, analyze, compile to bytecode, run on the virtual machine.
Run a program
venutian run hello.ven
Compiles (if needed) and executes in one step. It also runs an already compiled .vbc file directly, with no recompilation.
Build to bytecode
venutian build hello.ven -o hello.vbc
Writes Venutian's own bytecode format, a text .vbc file you can read directly rather than a binary you have to trust:
wrote hello.vbc
Run the compiled form the same way you run source:
venutian run hello.vbc
--emit-source-map out.json also writes a source map that attributes each function to its file alongside the build.
Inspect a program
Three commands show a program's insides at each stage of the pipeline, all before it runs:
venutian tokens hello.ven
1:1 PRINT 'print'
1:7 TEXT 'Hello from Venutian'
1:28 NEWLINE
3:1 EOF
venutian ast hello.ven
{
"node": "Program",
"statements": [
{
"node": "PrintStatement",
"args": [
{ "node": "TextLiteral", "value": "Hello from Venutian" }
]
}
]
}
venutian disasm hello.ven
== main ==
0 LOAD_CONST 0
1 PRINT 1
2 HALT
ast is the structural editing hook agent tooling reaches for; tokens --diagnostics-format json prints the same stream as a JSON array of {kind, value, line, column} for the same reason. See the interactive stepper for the same three views wired to a live example.
Tool schemas and introspection
venutian tools file.ven
Dumps every tool make function's calling schema as JSON, the native hook for AI function calling. A tool make's leading string statement becomes that schema's description, the one place a leading string in a Venutian function body is ever captured.
venutian introspect module.ven
Dumps a module's real exported functions, shapes, and behaviors, with signatures and fields, straight from the parsed AST.
Interactive mode
venutian
or explicitly:
venutian repl
See interactive mode for the full rundown.
Check for type errors
venutian check file.ven
file.ven: no type errors found
Type annotations in a parameter list are read and checked here; they are not enforced at ordinary run time (see the language tour).
Version
venutian --version
Venutian 1.0.0
--format=json prints {"version", "commands"} instead, with commands read live from the CLI's own command table.
The package manager
venutian install [path-or-archive]
venutian uninstall <name>
venutian list
venutian lock
venutian verify
Full walkthrough in the package manager, including the marketplace verbs (search, outdated, update, publish) for the network registry.
Native compilation
venutian build --native file.ven -o binary
Covered in full in native compilation.
The conformance suite
venutian test
Runs Venutian's own test suite against the current build.
Its own vocabulary
Venutian's CLI does not borrow another toolchain's flag vocabulary; every verb above is its own, named for what it does.