DataLinq.Dev.CLI
DataLinq.Dev.CLI is the repo-local wrapper for dotnet restore, build, test, environment diagnosis, and controlled passthrough execution.
Use it when you want a stable execution profile, concise output, and predictable artifacts.
Why It Exists
Raw dotnet is a bad default for this repo when you care about repeatability.
The wrapper normalizes repo-local execution roots, keeps logs under artifacts/dev/, and gives you output modes that are usable in both normal terminal work and agent-driven workflows.
Commands
doctor
Diagnoses the local dotnet and NuGet execution environment.
dotnet run --project src/DataLinq.Dev.CLI -- doctor --profile repo
What it checks:
- repo-local execution roots
- writable tool paths
dotnet --version- installed SDK count
dotnet --info- workload resolver and workload auto-import presence
- NuGet sources from the repo-local
NuGet.Config - top-level cached package roots
Use this first when the environment looks suspicious.
restore
Runs dotnet restore with the repo-local execution profile.
dotnet run --project src/DataLinq.Dev.CLI -- restore
dotnet run --project src/DataLinq.Dev.CLI -- restore src/DataLinq.sln --output summary
build
Runs dotnet build with concise default output.
dotnet run --project src/DataLinq.Dev.CLI -- build
dotnet run --project src/DataLinq.Dev.CLI -- build src/DataLinq.sln --output errors
Useful options:
--configurationDefaults toDebug.--frameworkOptional target framework.--no-restoreSkips restore before build.--binlog auto|always|neverControls binary log generation.
test
Runs dotnet test with concise failure-focused output.
dotnet run --project src/DataLinq.Dev.CLI -- test src/DataLinq.Tests.Unit/DataLinq.Tests.Unit.csproj
dotnet run --project src/DataLinq.Dev.CLI -- test src/DataLinq.Generators.Tests/DataLinq.Generators.Tests.csproj --output failures
Useful options:
--configurationDefaults toDebug.--frameworkOptional target framework.--filterStandarddotnet testfilter expression.--no-buildSkips build before test.--no-restoreSkips restore before test.
The optional target defaults to src/DataLinq.sln.
exec
Runs an arbitrary dotnet command through the same repo-local execution profile.
dotnet run --project src/DataLinq.Dev.CLI -- exec -- --info
dotnet run --project src/DataLinq.Dev.CLI -- exec -- build src/DataLinq.sln -c Release
This is the escape hatch, not the main workflow.
Prefer the dedicated commands unless you actually need a command surface the wrapper does not expose directly.
Execution Profiles
Supported profiles:
autoDefault. Resolves the best profile for the current environment.repoNormal repo-local execution.sandboxIntended for constrained or offline-ish environments.ciCI-oriented execution profile.
Output Modes
Supported output modes:
quietDefault. One-line success and concise failure.summaryAdds a slightly richer summary.errorsFocuses on distinct compiler and NuGet errors.failuresFocuses on test failures and failing command summaries.rawPrints the underlying command output.diagUses diagnostic verbosity and preserves full detail in artifacts.
Targets and Additional Arguments
restore, build, and test all accept an optional target path.
If you omit it, the default target is src/DataLinq.sln.
Each command also accepts extra dotnet arguments after --.
Example:
dotnet run --project src/DataLinq.Dev.CLI -- build src/DataLinq.sln -- --no-incremental
Artifacts
Artifacts are written under artifacts/dev/.
Build runs can also emit binary logs depending on the selected --binlog mode.
If you need the full raw output, the artifact logs are the first place to look. They are the source of truth, not whatever condensed line happened to print to the terminal.