Getting started
Create and run your first repository-local DotNetDo task.
Requirements
Install the .NET 10 SDK.
Install DotNetDo
dotnet tool install --global DotNetDo
Install task and parameter completion for PowerShell, Bash, or Zsh, then restart your shell:
dotnetdo :completion
Initialize a workspace
Run the initialization wizard in the repository root:
dotnetdo :init
Accept the defaults to create dotnetdo.toml, a scripts directory, an initial build.cs task, and local launchers.
The generated task is an ordinary .NET file-based app:
#!/usr/bin/env dotnet
#:package DotNetDo.Core@0.7.0
using DotNetDo;
using Serilog;
[assembly: TaskDescription("Says hello")]
Log.Information("Hello from {Task}", "build");
Run the task
./do build
It logs Hello from build. Replace the body with the work the task should do — for example await Tools.DotNet.Build;.
Use ./do :help for runner commands or ./do :help build for the task's description and declared parameters.
Next steps
- Task orchestration — run tasks in sequence, and group them into meta-tasks in
dotnetdo.toml. - Core API — what
Dogives a task: running processes, parameters and secrets, paths and files, the workspace, Git, CI, and logging. - Tool API — typed commands for the tools a task drives, including the .NET SDK, MSBuild, NuGet, Git, npm, and Bun.