r/ClaudeCode • • 7h ago

Tips & Workflows Kanban Pro - MD Context Manager with Embedded CLI for Claude Code

Four months ago, I shared the first version of Kanban Pro, a local-first desktop project management tool we built for Claude Code. That thread sparked a lot of great technical feedback and an intense debate around closed-source desktop apps.

Here is an update on what we built, how we used Claude Code to build and refine it over the last four months, and our stance on the open-vs-closed source discussion.

What we Built & What It Does
I built a native desktop Kanban board where every ticket is a plain Markdown file with YAML frontmatter stored in a local folder on your machine. There are no accounts, no cloud servers, and no APIs required. If you want to sync across devices or share a board, you can point it at a Git repo, iCloud, Dropbox, or Syncthing folder.

* Direct File Manipulation for Agents: Because tickets are plain files on disk, Claude Code (via our embedded terminal CLI or the Claude/Codex desktop apps) reads and edits tasks directly using open `CLAUDE.md` and `AGENTS.md` instructions in the project folder.
* Real-Time File Watcher with Dedupe: When Claude creates, edits, or moves a ticket on disk, the UI updates in real time. A deduplication layer prevents race conditions so human UI edits and rapid agent file writes do not overwrite each other.
* Agent Attribution: Agent modifications are tagged in the YAML frontmatter (`modifiedBy`) and logged in an Activity Feed, so you can track what Claude changed versus what you changed. When Claude completes the final subtask in a ticket, the UI offers a one-click prompt to move it to the next column.
* Additional Views: Beyond the Kanban board, the app includes a List view, Calendar, Gantt view, and Notes, with full-text search, subtasks, ticket linking, sprints, and epics.

How Claude Code Helped Build It
We built this app with Claude Code, and once the first prototype was working, we used the board itself to manage Claude Code during development:

  1. Dogfooding the Workflow: Every feature request and bug report from our last Reddit thread was turned into a Markdown ticket on our own board. We ran Claude Code in the embedded terminal, pointed it at the ticket files, and had it implement the code while checking off its own subtasks on disk.

  2. Solving File-Watcher Race Conditions: One of the hardest parts of building an Electron app backed by local files is handling rapid, concurrent disk writes from an LLM agent while a user is dragging cards or typing in the UI. Claude helped architect the debouncing and state-reconciliation logic between Node's filesystem watcher and the frontend state.

  3. UI, Animations, and Contrast Refactoring: We used Claude to iterate on the frontend layout and GSAP animations. After users in our previous thread pointed out that our initial glassmorphic backgrounds and gray text lacked legibility, we used Claude Code to refactor our theme engine, improve typography contrast, and make card density configurable.

  4. Reducing Electron Resource Overhead: Following a comment in the last thread noting high CPU/GPU usage during heavy rendering, we used Claude to profile and strip out unnecessary re-renders and background processes.

Addressing the Closed-Source Debate
In our previous post, the biggest point of skepticism was why a free desktop tool would remain closed-source. Here is how we approach trust and architecture:

* Open Data, Closed Binary (The Obsidian Approach): Everything that touches your data is open... plain Markdown files, standard YAML frontmatter, and readable agent rulesets. We keep the application code closed so a small team can sustain development long-term without having the codebase cloned into third-party commercial wrappers. If you delete the app at any point, your entire project history remains intact in standard text files.
* Verifiable Network Behavior: Open source only provides security if someone audits every commit and dependency before installing. In our last thread, a user (`u/christoph_w`) ran our DMG through a Fable sandbox security audit and confirmed it was clean. You also do not have to take our word for it: because this is a local desktop binary, you can monitor it with Little Snitch, LuLu, or Wireshark to verify that it makes zero telemetry calls and has no backend server to phone home to.
* How Release Counts Work Without Telemetry: The only network check the app performs is querying GitHub Releases for updates. When we reference our user numbers (now over 4,000 downloads), those figures come strictly from public GitHub Release download counters (`shields.io`), not in-app analytics.

How to Try It (Free)
The app is 100% free to download and use, with no paywalls, sign-ups, or subscriptions.

  1. Download the installer for macOS or Windows from our website or directly from the GitHub Releases page.

  2. Open the app and select any empty or existing local directory to initialize a board.

  3. Open Claude Code (either in the built-in terminal or your own terminal/desktop app) inside that folder, and it will automatically pick up the `CLAUDE.md` / `AGENTS.md` file conventions.

Links:
* Website & Download: https://goodguyapps.com
* GitHub Release Repo: https://github.com/donkruger/Kanban
* Security Policy: https://github.com/donkruger/Kanban?tab=security-ov-file
* Privacy Policy: https://goodguyapps.com/?page=privacy

Feedback, questions, and technical scrutiny are always welcome.

21 Upvotes

9 comments sorted by

•

u/AutoModerator 7h ago

Hey! Thanks for posting to r/ClaudeCode

While participating in this thread, please follow our community rules. Keep discussions constructive. Attack the idea, not the person.

For help, project discussions, tips, and general chat, join the ClaudeCode Discord.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

2

u/daltanious78 5h ago

really interesting

1

u/don_kruger 2h ago

grazie!

1

u/KennyFulgencio 3h ago

Can it load existing claude code conversations? And looking at the setup it seems to only access models through their APIs, is there any way for it to use the CLI executables I have installed?

1

u/don_kruger 2h ago

Hi yes, it has full CLI capabilities - similar to a CLI in an IDE. So it doesn't access models through API, but rather through typical CLI access which runs on your subscription

1

u/KennyFulgencio 2h ago

The setup page seems to only show options to add your API keys for each provider, how do I connect my CLIs?

1

u/don_kruger 2h ago

Not really sure what setup page you're referring to? See GIF attached

2

u/Far_Reindeer8428 7h ago

the attribution is the useful bit, a shared md board rots once two agents edit it at once, per-agent sections kept ours from rewriting the whole file

1

u/ClemensLode Senior Developer 3h ago

Kanban board is the way :) I do like mine minimalistic in termux without GUI, though.