todo-pilot.osx-arm64
0.1.10
dotnet add package todo-pilot.osx-arm64 --version 0.1.10
NuGet\Install-Package todo-pilot.osx-arm64 -Version 0.1.10
<PackageReference Include="todo-pilot.osx-arm64" Version="0.1.10" />
<PackageVersion Include="todo-pilot.osx-arm64" Version="0.1.10" />
<PackageReference Include="todo-pilot.osx-arm64" />
paket add todo-pilot.osx-arm64 --version 0.1.10
#r "nuget: todo-pilot.osx-arm64, 0.1.10"
#:package todo-pilot.osx-arm64@0.1.10
#addin nuget:?package=todo-pilot.osx-arm64&version=0.1.10
#tool nuget:?package=todo-pilot.osx-arm64&version=0.1.10
todo-pilot
Terminal TODO list viewer for GitHub Copilot CLI sessions.
Repository: https://github.com/simonrozsival/todo-pilot
Usage
dnx todo-pilot
The first run asks for explicit consent before installing the companion Copilot CLI extension. You can also manage the extension directly:
dnx todo-pilot install
dnx todo-pilot uninstall
The install flow lets you choose user scope (~/.copilot/extensions/todo-pilot) or project scope (.github/extensions/todo-pilot under the git root).
The session picker refreshes while open, shows each session directory, and prioritizes sessions from the current directory. It shows only sessions whose companion extension process is still running by default; press Ctrl+A to switch between that narrowed view and all registered sessions. Sessions already open in another todo-pilot viewer remain visible, but are marked and sorted lower. After choosing a session, press Ctrl+X from the TODO view to return to the session picker.
Packaging
The tool targets .NET 10 and is configured for .NET 10+ platform-specific Native AOT NuGet tool packaging.
Build and test locally with:
dotnet restore
dotnet build --no-restore
dotnet test --no-build
Cross-platform validation
The sidebar is intended to run on macOS, Linux, and Windows terminals. Before release, validate at least:
| Area | macOS/Linux | Windows |
|---|---|---|
| Live view | Alternate screen opens/restores, cursor is visible after q and Ctrl+C |
ANSI-capable terminals open/restores; redirected output does not print raw escape setup |
| Resize | Window resize rewraps TODO and session-selection rows | Polling fallback detects width/height changes and rewraps rows |
| Input | q, Ctrl+C, arrows, j/k, PgUp/PgDn, Home/End, Enter, Space, Backspace, Ctrl+U, Ctrl+A, Ctrl+X; Escape does not quit |
Same key behavior in Windows Terminal/PowerShell |
| Paths | ~/.copilot, .github/extensions, and repo-root discovery work with Unix paths |
%USERPROFILE%\.copilot, project extensions, and case-insensitive path comparisons work |
| SQLite | Missing DB/table is a quiet empty state; optional schema drift is ignored | Same behavior while Copilot is concurrently writing session data |
Automated coverage should include the normal test command on each supported runner:
dotnet test --no-restore --verbosity quiet
The package set contains:
- a root
todo-pilotpackage that maps every supported RID; - one Native AOT RID-specific package per supported RID.
Native AOT compilation should run on a matching host/runner for each RID. The GitHub Actions workflow builds the root package once and builds each RID package on its matching runner, then publishes all packages together.
The platform-specific tool package format uses v2 DotnetToolSettings.xml, so installing it requires a .NET 10+ SDK. The package set does not currently include an any RID fallback because Native AOT/self-contained fallback behavior with native dependencies should be validated against the target .NET 10 SDK first.
Releasing to NuGet
Publishing is handled by .github/workflows/publish.yml. Push a version tag to build the root package plus all supported Native AOT RID packages and publish them together:
git tag v0.1.0
git push origin v0.1.0
The workflow strips the leading v, so v0.1.0 publishes NuGet package version 0.1.0.
The RID packages are built on matching GitHub-hosted runners: ubuntu-latest, ubuntu-24.04-arm, macos-15-intel, macos-15, windows-latest, and windows-11-arm.
NuGet publishing uses API-key authentication:
- Create a nuget.org API key with permission to push
todo-pilotand RID packages such astodo-pilot.linux-x64. - Add it to the GitHub repository secrets as
NUGET_API_KEY. - Push a
v*tag; the workflow publishes withdotnet nuget push --skip-duplicate.
Set the secret with the GitHub CLI:
gh secret set NUGET_API_KEY --repo simonrozsival/todo-pilot
Manual fallback for local package inspection on the current host RID:
dotnet pack src/TodoPilot/TodoPilot.csproj \
-c Release \
-r osx-arm64 \
-p:Version=0.1.0 \
-p:PackageVersion=0.1.0 \
-p:RuntimeIdentifiers=osx-arm64 \
-o artifacts/packages
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.