Complete guide to Ovie command-line tools
The Ovie CLI tools are powered by the self-hosted compiler - a compiler written in Ovie itself!
The Ovie CLI provides a comprehensive set of tools for developing, building, testing, and managing Ovie projects. All commands are designed to be intuitive and follow consistent patterns.
Use ovie --help or ovie <command> --help to get detailed information about any command.
Display the Ovie version and build information.
Example output:
Ovie Programming Language v1.0.0
Self-hosted compiler (written in Ovie)
Build: 2026-01-30
Target: x86_64-unknown-linux-gnu
Show help information and available commands.
Create a new Ovie project with the standard directory structure.
| Option | Description | Default |
|---|---|---|
--template <name> |
Use a specific project template | basic |
--lib |
Create a library project | false |
--bin |
Create a binary project | true |
Examples:
ovie new my-app
ovie new my-lib --lib
ovie new web-server --template web
Initialize an Ovie project in the current directory.
| Option | Description |
|---|---|
--name <name> |
Set the project name |
--force |
Overwrite existing files |
Compile and run an Ovie program or project.
| Option | Description |
|---|---|
--release |
Build in release mode (optimized) |
--target <target> |
Specify compilation target |
--args <args> |
Pass arguments to the program |
Examples:
ovie run # Run current project
ovie run main.ov # Run specific file
ovie run --release # Run optimized build
ovie run --args "arg1 arg2" # Pass arguments
Compile an Ovie project without running it.
| Option | Description |
|---|---|
--release |
Build in release mode |
--target <target> |
Compilation target |
--output <path> |
Output file path |
--verbose |
Verbose compilation output |
Check code for errors without building.
| Option | Description |
|---|---|
--all |
Check all files in project |
--json |
Output results in JSON format |
Run tests for the current project.
| Option | Description |
|---|---|
--release |
Run tests in release mode |
--verbose |
Show detailed test output |
--parallel |
Run tests in parallel |
--coverage |
Generate code coverage report |
Examples:
ovie test # Run all tests
ovie test math # Run tests matching "math"
ovie test --coverage # Run with coverage report
Run benchmark tests.
| Option | Description |
|---|---|
--save-baseline |
Save results as baseline |
--compare |
Compare with baseline |
Format Ovie source code according to style guidelines.
| Option | Description |
|---|---|
--check |
Check if files are formatted |
--diff |
Show formatting differences |
Run the Aproko code assistant for style and quality checks.
| Option | Description |
|---|---|
--fix |
Automatically fix issues |
--strict |
Enable strict mode |
Add a dependency to the current project.
| Option | Description |
|---|---|
--dev |
Add as development dependency |
--version <ver> |
Specify package version |
Remove a dependency from the current project.
Update project dependencies.
Here's a typical development workflow using the Ovie CLI:
ovie new my-app
Edit src/main.ov
ovie check
ovie test
ovie fmt
ovie build --release
The Ovie CLI can be configured through the ovie.toml file in your project root:
[project]
name = "my-app"
version = "1.0.0"
authors = ["Your Name <you@example.com>"]
[build]
target = "native"
optimization = "speed"
debug_info = true
[dependencies]
# Add dependencies here
[dev-dependencies]
# Add development dependencies here
[features]
aproko = true
self_hosting = true
The Ovie CLI respects these environment variables:
| Variable | Description | Default |
|---|---|---|
OVIE_HOME |
Ovie installation directory | Auto-detected |
OVIE_CACHE |
Compilation cache directory | ~/.cache/ovie |
OVIE_LOG |
Logging level | info |
OVIE_TARGET |
Default compilation target | native |
ovie check frequently during development for fast feedbackovie fmt in your editor for automatic formattingovie test --coverage to ensure good test coverage--verbose flag provides detailed output for debuggingCLI powered by the self-hosted Ovie compiler 🎉
For more help, visit our Community Discussions