_ _
__| | ___ | |_ ___ _ _
/ _` |/ _ \| __/ __| || |
_ | (_| | (_) | |_\__ \ || |
(_) \__,_|\___/ \__|___/\_, |
|__/
Dotsy is an AI coding assistant written in C# and .NET. It provides a terminal-first agent experience with a TUI, multi-provider model support, MCP tooling, repository-aware code retrieval, session history, and headless command execution.
- Agent specification
- TUI theme and colour reference — generated
themes.htmldocuments every colour the TUI paints, per theme
Dotsy targets .NET 10 for the main CLI, core, provider, MCP, and test projects.
dotnet restore Dotsy.slnx
dotnet build Dotsy.slnx -c Release
dotnet test Dotsy.slnx -c ReleaseInstall the .NET 10 SDK, either with the official installer or via Homebrew:
brew install --cask dotnet-sdkVerify the SDK version, then restore, build, and test with the same commands:
dotnet --version
dotnet restore Dotsy.slnx
dotnet build Dotsy.slnx -c Release
dotnet test Dotsy.slnx -c ReleasePackaging and tool installation also work on macOS — use forward slashes in paths:
dotnet pack src/Dotsy.Cli/Dotsy.Cli.csproj -c Release -v minimal --output artifacts/packages
dotnet tool uninstall --global dotsy
dotnet tool install --global dotsy --add-source artifacts/packagesIf dotsy is not found after installing, make sure ~/.dotnet/tools is on your PATH.
This repository can build against Terminal.Gui source instead of the Terminal.Gui NuGet package. The source checkout is expected at:
extern\terminal.gui
The checkout is tracked as a git submodule and is pinned to the
v2.0.0-develop.4376 Terminal.Gui tag. Normal and package builds instead consume
the Terminal.Gui NuGet package (currently 2.4.10, referenced by
src/Dotsy.Cli); the source checkout is only used for the Debug No Nugets
configuration below when you want to step into Terminal.Gui.
Use the Debug No Nugets configuration when you want to step into Terminal.Gui
while developing Dotsy:
dotnet build Dotsy.slnx -c "Debug No Nugets"Normal builds and package builds keep using the Terminal.Gui NuGet package:
dotnet build Dotsy.slnx -c Release
dotnet pack src\Dotsy.Cli\Dotsy.Cli.csproj -c Release /p:UseTerminalGuiSource=falseDo not publish Dotsy packages with /p:UseTerminalGuiSource=true; package
generation should use the Terminal.Gui NuGet dependency.
Package and install the CLI as a local .NET tool package:
dotnet pack src\Dotsy.Cli\Dotsy.Cli.csproj -c Release -v minimal --output artifacts\packages
dotnet tool uninstall --global dotsy
dotnet tool install --global dotsy --add-source artifacts\packagesRun Dotsy with:
dotsy