c9523d095346112df4a128f7fb74f5f027a3f623
The save picker used to return only TryGetLocalPath(), so a target without a local path looked like a cancel and nothing was written. The dialog service now hands back an opener for the chosen file. The picker call is inside the error handler, and the workspace is read before the target is opened, so a failed read leaves an existing file untouched.
YKanBan
My personal used local/offline kanban.
- Cross-platform desktop app (Windows / Linux / macOS) built with Avalonia.
- Git-like storage: the board lives in a
.ykanbanfolder inside the project folder it manages; start it withykanban <path>. - One board per workspace with columns, cards and colored tags; strict search
expressions (
tag:bug OR title:login); Markdown export. - English and Simplified Chinese interface; light, dark or system theme.
See USAGE.md for installing, starting YKanBan, backups and Git, and the full search syntax.
Building
Requires the .NET 10 SDK.
dotnet build
dotnet test
dotnet run --project YKanBan -- <path>
Release archives for win-x64, linux-x64, osx-x64 and osx-arm64 are produced
by the manually triggered workflow in .github/workflows/build.yml;
packaging/package.sh packs one published RID.
License
MIT
Languages
C#
98.2%
Inno Setup
1%
Shell
0.8%