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.17.0.tar.gz (2.8 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.17.0-py3-none-any.whl (3.0 MB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for condash-0.17.0.tar.gz
Algorithm Hash digest
SHA256 d86a9c2323472f39aa1fee4c15cc0552b7e438d4a0eab305ff6d5acda5b0b51d
MD5 10757bc93eaa88ed1e51ca46937d85d4
BLAKE2b-256 900c7d06cdec68759461d7ed024db7bc7025aa5197e3492f62884f4cca9742d1

See more details on using hashes here.

Provenance

The following attestation bundles were made for condash-0.17.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.17.0-py3-none-any.whl.

File metadata

  • Download URL: condash-0.17.0-py3-none-any.whl
  • Upload date:
  • Size: 3.0 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.17.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6851c9efe76ba36210e33c3df64ba3b6509ca4e916416c170915b08fe38f2ffe
MD5 c6de33b63c117591e1ba00b1bf186a19
BLAKE2b-256 f371281923f538dc9a03cc1dc7604763bfe83b3696f6f5448f71ea9e8eb1cfcd

See more details on using hashes here.

Provenance

The following attestation bundles were made for condash-0.17.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