Declare intent
A task has a name, a return type, and normal OrviScript code inside it.
Native task workflows
Tasks are declarations with dependencies, results, failure states, and execution context. They are not shell strings hidden in another configuration format.
1task build -> Result<string, string> {2 let output = path.join([context.project_dir, "dist/app"])3 fs.write_text(output, "artifact")?4 return Ok(output)5}67task verify -> Result<void, string> {8 needs: [build]9 let artifact = task.result("build")?10 if !fs.exists(artifact) { return Err("missing artifact") }11 return Ok()12}
A task has a name, a return type, and normal OrviScript code inside it.
needs forms a validated DAG. Dependencies complete successfully before dependent work starts.
task.result() exposes a declared dependency result through the same Result-based error model.
Project-wide automation
The per-user task registry links an alias to its original file. Use orviscript task link, then run that task from another directory without copying the script.