Skip to content

Repository files navigation

Dotsy

CI Coverage

         _       _
      __| | ___ | |_ ___ _  _
     / _` |/ _ \| __/ __| || |
  _ | (_| | (_) | |_\__ \ || |
 (_) \__,_|\___/ \__|___/\_, |
                         |__/

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.

Dotsy terminal UI

Documentation

Build

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 Release

Build on macOS

Install the .NET 10 SDK, either with the official installer or via Homebrew:

brew install --cask dotnet-sdk

Verify 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 Release

Packaging 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/packages

If dotsy is not found after installing, make sure ~/.dotnet/tools is on your PATH.

Debug with Terminal.Gui source

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=false

Do not publish Dotsy packages with /p:UseTerminalGuiSource=true; package generation should use the Terminal.Gui NuGet dependency.

Deploy

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\packages

Run Dotsy with:

dotsy

About

Terminal-first AI coding agent in C#/.NET with a TUI, multi-provider LLM support, MCP, and headless execution"

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages