Skip to main content

Standalone desktop dashboard for markdown-based conception items (projects, incidents, documents) under a unified projects/YYYY-MM/ tree.

Project description

condash

Standalone desktop dashboard for a Markdown-first project-tracking tree — projects, incidents, and documents all live as plain .md files you already edit.

condash walks a projects/YYYY-MM/YYYY-MM-DD-<slug>/ tree under a single conception root and renders a live dashboard of every item: its status, steps, notes, deliverables, and linked code. There is no database, no sync server, no account. The Markdown files are the source of truth; condash is the view layer.

Full documentation, with tutorials and screenshots, lives at condash.vcoeur.com.

Install

pipx install condash
# or: uv tool install condash

Both install the CLI into its own isolated virtualenv and put condash on your $PATH. Install size is roughly 100 MB because of the bundled Qt wheels — that's the cost of "works everywhere with one command".

System prerequisites

None on Linux, macOS, or Windows. pywebview[qt] pulls PyQt6 + PyQt6-WebEngine from PyPI and those wheels bundle Qt itself:

  • Linux — prefers GTK/WebKit if python3-gi is installed system-wide, falls back to the bundled Qt backend otherwise.
  • macOS — uses the native Cocoa WebKit backend.
  • Windows — uses the native Edge WebView2 backend.

To skip the native window entirely, set native = false in your config and open the dashboard in your browser at http://127.0.0.1:<port> — see Configure the conception path.

Development from a source checkout

git clone https://github.com/vcoeur/condash.git
cd condash
uv sync --all-extras
uv run condash --version
uv run condash

First launch

condash doesn't ship a working default config — it has no way to guess where your conception tree lives. Bootstrap one:

condash init           # writes a commented template at ~/.config/condash/config.toml
condash config edit    # opens it in $VISUAL / $EDITOR

The only required key is conception_path:

conception_path = "/path/to/conception"
port            = 0      # 0 = OS picks a free port
native          = true   # false = open in your browser

Everything else — the workspace of code repos, the "open in IDE" launchers, per-machine preferences — lives in two YAML files inside the conception tree (<conception_path>/config/repositories.yml and <conception_path>/config/preferences.yml), so teammates who pull the tree get the same layout automatically. The gear icon in the dashboard header opens an in-app editor for all three files.

Full schema: Config files reference.

What it does

  • Renders a live dashboard of every projects/YYYY-MM/YYYY-MM-DD-<slug>/README.md, grouped by status (now / soon / later / backlog / review / done). Drag cards between columns to rewrite the **Status**: line in place. Unknown status values surface a red !? badge so typos don't silently land in backlog.
  • Tracks steps and deliverables parsed from the README body — - [ ]/- [~]/- [x]/- [-] checkboxes, ## Deliverables PDF links. A click on a checkbox rewrites the line.
  • An embedded terminal (vendored xterm.js) for ad-hoc commands, plus an inline dev-server runner (since v0.13.0) that starts your make dev / npm run dev / cargo watch under a PTY and streams output into a xterm mounted right under the repo row.
  • A repo strip (the Code tab) with per-repo dirty counts, worktree nesting, and per-repo inline runners. Each repo gets vendor-neutral main_ide, secondary_ide, and terminal launcher buttons wired to your own commands via a fallback chain.
  • A knowledge tree (optional knowledge/ sibling of projects/) rendered as a browsable tab — the right place for durable reference material that outlives any one project.
  • Wikilinks ([[slug]]) between items, resolved by short-slug match across the whole tree.
  • A vendored PDF viewer (Mozilla PDF.js) for ## Deliverables — no OS handler involved, theme-aware toolbar.
  • Fingerprinted auto-refresh so edits made in your external editor surface in the dashboard within 5 seconds without flickering the page.

All of it is thin — condash is a FastAPI + NiceGUI layer over a directory of Markdown files, and the design is mostly about keeping it that way as features accumulate.

CLI

condash                         # open the dashboard window
condash --version               # print version and exit
condash --conception-path PATH  # one-shot override (does not touch config file)
condash --config PATH           # use a different config file
condash --port N                # one-shot port override
condash --no-native             # open in your browser instead of a desktop window

condash init                    # write a commented config template if missing
condash config show             # print the effective (merged) configuration
condash config path             # print the resolved config file path
condash config edit             # open the config in $VISUAL / $EDITOR

condash install-desktop         # register condash with the XDG launcher (Linux)
condash uninstall-desktop       # remove the user-local desktop entry (Linux)

Full reference: CLI.

Linux: register condash in your application launcher

condash install-desktop

Writes a user-local XDG desktop entry + the bundled SVG icon, so condash appears in GNOME Activities, KDE Kickoff, Cinnamon, and other launchers:

  • ~/.local/share/applications/condash.desktop — launcher entry, pointing at the absolute path of whichever condash binary you ran the command with
  • ~/.local/share/icons/hicolor/scalable/apps/condash.svg — the app icon

No sudo, no system-wide changes. Remove later with condash uninstall-desktop. The native window also picks up the same icon at runtime, so it appears in your taskbar / Alt-Tab switcher.

Claude Code skill

A minimal example SKILL.md ships at the repo root — drop it into ~/.claude/skills/condash/ (or <project>/.claude/skills/condash/) to drive the non-interactive CLI surface from a Claude Code session: condash init, condash config show / path / edit, condash install-desktop. Launching the native window from inside an agent is deliberately out of scope — run condash by hand for that.

Status

Version 0.14.1. Linux-first but tested on all three desktop platforms. The docs site at condash.vcoeur.com tracks current behaviour; the CHANGELOG on GitHub has the release-by-release history.

Links

License

MIT — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

condash-0.15.0.tar.gz (2.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

condash-0.15.0-py3-none-any.whl (2.8 MB view details)

Uploaded Python 3

File details

Details for the file condash-0.15.0.tar.gz.

File metadata

  • Download URL: condash-0.15.0.tar.gz
  • Upload date:
  • Size: 2.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for condash-0.15.0.tar.gz
Algorithm Hash digest
SHA256 f3aba6e933d18c432ae9f97df2c5a86a39d0fefe0a12d3423f34a98fb9d33826
MD5 8eb4c032ac8ffa4286e0064d431be212
BLAKE2b-256 26db4ce15ef01cffbeb76c082cad580d749187a5256a981b26d317bcf95fde2e

See more details on using hashes here.

Provenance

The following attestation bundles were made for condash-0.15.0.tar.gz:

Publisher: release.yml on vcoeur/condash

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file condash-0.15.0-py3-none-any.whl.

File metadata

  • Download URL: condash-0.15.0-py3-none-any.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for condash-0.15.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e8d4edb7f562c8a0924343088392ea410d08cce251be14859682a3a96d2ec609
MD5 0842f2a423dd764d1043bfc5c4f0ab63
BLAKE2b-256 69f3e0dd0eccdac07c869675a04b514aa7b2d14710839bf4e366623214914af5

See more details on using hashes here.

Provenance

The following attestation bundles were made for condash-0.15.0-py3-none-any.whl:

Publisher: release.yml on vcoeur/condash

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page