Beads.Cli 1.0.3

dotnet tool install --global Beads.Cli --version 1.0.3
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local Beads.Cli --version 1.0.3
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=Beads.Cli&version=1.0.3
                    
nuke :add-package Beads.Cli --version 1.0.3
                    

Beads.Net

A local-first, offline-capable issue tracker — built as a .NET library and CLI tool, backed by SQLite.

Beads.Net is a complete port of the beads_rust project management system to .NET, designed for solo developers and small teams who want fast, private issue tracking without a server.

Projects

Package Description
Beads.Net Core library — embed issue tracking into any .NET app
Beads.Cli CLI tool — beads command for terminal-based issue tracking

60-Second Quickstart

Install

dotnet tool (cross-platform)

dotnet tool install -g Beads.Cli

Windows (PowerShell, standalone binary)

Invoke-WebRequest -Uri https://github.com/Knaackee/beads.net/releases/latest/download/beads-win-x64.exe -OutFile beads.exe; Move-Item beads.exe "$env:LOCALAPPDATA\Microsoft\WindowsApps\beads.exe" -Force

Linux (standalone binary)

curl -Lo beads https://github.com/Knaackee/beads.net/releases/latest/download/beads-linux-x64 && chmod +x beads && sudo mv beads /usr/local/bin/

macOS (Apple Silicon, standalone binary)

curl -Lo beads https://github.com/Knaackee/beads.net/releases/latest/download/beads-osx-arm64 && chmod +x beads && sudo mv beads /usr/local/bin/

Initialize

beads init
beads create "Implement authentication" --type task --priority 0
beads list

Quick Start

CLI

# Install as a global tool
dotnet tool install -g Beads.Cli

# Initialize a workspace
beads init

# Create issues
beads create "Implement authentication" --type task --priority 0
beads create "Track rollout" --metadata '{"owner":"platform"}'
beads q "Fix login bug"

# List & filter
beads list
beads list --type bug --assignee alice
beads ready
beads blocked

# Manage
beads close bd-abc123
beads dep add bd-abc123 bd-def456
beads label add bd-abc123 backend urgent

Library

using Beads.Net;

using var client = BeadsClient.Init("my-project.db");

var issue = client.Issues.Create("Fix login page", new() {
    IssueType = "bug",
    Priority = 0,
    Assignee = "alice",
    Labels = ["frontend", "urgent"],
    Metadata = "{\"owner\":\"platform\"}",
});

var project = client.Projects.Create("Portal", metadata: "{\"domain\":\"customer\"}");

client.Dependencies.Add(issue.Id, otherIssue.Id);
client.Comments.Add(issue.Id, "Investigating root cause");

var ready = client.Issues.Ready();
var stats = client.Stats.GetStats();

Features

  • Local-first — everything in a single SQLite file, works offline
  • Full issue lifecycle — create, update, close, reopen, delete with audit trail
  • Dependencies — blocks/waits-for with cycle detection and dependency trees
  • Labels — attach, remove, rename across all issues
  • Epics — parent-child hierarchy with progress tracking
  • Projects & Boards — Kanban-style project management with WIP limits
  • Metadata fields — attach custom JSON metadata on issues and projects
  • Saved queries — persist common filters and rerun them
  • Sync — JSONL flush/import for backup and collaboration
  • Doctor — health checks, orphan detection, schema validation
  • Lint — automated issue quality checks
  • Changelog — generate markdown/JSON changelogs from closed issues

Architecture

Beads.Net (library/NuGet)
├── Models/       Immutable records: Issue, Dependency, Comment, Event, etc.
├── Services/     12 service classes with all business logic
├── Schema/       SQLite schema management and migrations
├── Enums/        IssueStatus, Priority, IssueType, DependencyType, EventType
├── Errors/       Typed exceptions (NotFound, Validation, CyclicDependency, etc.)
└── BeadsClient   Facade exposing all services

Beads.Cli (dotnet tool)
├── Program.cs    Root command + registration
├── Commands/     Thin command handlers (~5-15 lines each)
└── Globals.cs    Shared options (--db, --json, --quiet, etc.)

Building

dotnet build

Testing

# Unit tests (143 tests × 2 TFMs)
dotnet test tests/Beads.Net.Tests

# CLI smoke tests (18 tests)
dotnet test tests/Beads.Cli.Tests

# Benchmarks
dotnet run --project tests/Beads.Net.Benchmarks -c Release -- --filter "*Issue*"

Requirements

  • .NET 8.0 or .NET 10.0
  • No external services — SQLite only

License

MIT

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
1.0.3 77 3/31/2026
1.0.1 163 3/28/2026
1.0.0 160 3/28/2026
0.1.8 88 3/27/2026
0.1.7 83 3/27/2026