Beads.Net
1.0.1
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package Beads.Net --version 1.0.1
NuGet\Install-Package Beads.Net -Version 1.0.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Beads.Net" Version="1.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Beads.Net" Version="1.0.1" />
<PackageReference Include="Beads.Net" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Beads.Net --version 1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Beads.Net, 1.0.1"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Beads.Net@1.0.1
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Beads.Net&version=1.0.1
#tool nuget:?package=Beads.Net&version=1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
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 |
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 | Versions 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.
-
net10.0
- Microsoft.Data.Sqlite (>= 9.0.3)
- YamlDotNet (>= 16.3.0)
-
net8.0
- Microsoft.Data.Sqlite (>= 9.0.3)
- YamlDotNet (>= 16.3.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.