DevHub is a terminal-based workspace manager for developers. It scans a real project root such as ~/Dev, detects project types from files on disk, persists project metadata, shows git state, scores project health, and provides a keyboard-driven dashboard.
- Root directory management with
devhub --path ~/Projects - Persistent config and project metadata in
~/.config/devhub - Direct-child project scanning for Rust, Node.js, React, Next.js, Python, Go, C/C++, Git, and unknown projects
- Ratatui dashboard with project list, detail panel, status badges, git branch, changed-file counts, task counts, notes, and recent files
- Live search by name, type, status,
starred, tag,stale, andarchived - Detail screen with todo, doing, done, recent files, and git info
- Git actions menu for status, pull, add all, and commit prompt
- Open selected project in VS Code, fallback to
nvim, then shell path output - Basic project stats screen and stale-project detection for folders not touched in 30+ days
- Project health score with factor inspection
- Focus mode with session clock and top tasks
- Dead project graveyard with archive, restore, delete confirmation, and report export
- Git timeline dashboard across all repositories
- Dependency watcher for Cargo, npm, pip, and pyproject projects
- Idea vault with CLI capture and TUI conversion into projects
- Project generator templates for Rust, React Vite, Next.js, Python, Node API, and static HTML
- Workspace sessions with save/load/list/delete commands
Install Rust stable, then build the binary:
cargo build --releaseThe executable will be available at:
./target/release/devhubInstall it into your Cargo bin directory if desired:
cargo install --path .Use the default project root:
devhubUse a custom root and persist it as the last-used path:
devhub --path ~/ProjectsCreate projects from templates:
devhub --path ~/Dev new rust-cli mycli --commit
devhub new react-vite portfolio
devhub new nextjs saasapp
devhub new python-basic automation
devhub new node-api service-api
devhub new static-html landing-pageCapture ideas:
devhub idea "AI portfolio reviewer" --tags ai,portfolio --notes "Start with static MVP"Manage sessions:
devhub session save workday
devhub session load workday
devhub session list
devhub session delete workdayEvery direct child folder under the root is treated as a project candidate. Missing metadata is created automatically in:
~/.config/devhub/projects.json
App settings are stored in:
~/.config/devhub/settings.json
Sessions and ideas are stored in:
~/.config/devhub/sessions.json
~/.config/devhub/ideas.json
Reports and future cache data use:
~/.local/share/devhub/
j/kor arrows: move selectionEnter: open detail screenEsc: return to dashboard or close a modal/: live searchTab: switch visual focus between project list and detail panela: create/save metadata for selected projects: cycle statusp: cycle priorityt: add todod: mark first doing task done, or first todo task donen: edit notesT: add tagf: star or unstarr: refresh scano: open project in editorg: git actions menul: launch a known dev command when detectedS: project stats screenF: focus mode for selected projectG: git timeline dashboardB: dead project graveyardI: idea vaultH: health score details?: help modal:: command paletteW: save TUI session- In idea vault,
Nadds an idea,bmarks building,vconverts to a static HTML project,Ddeletes - In graveyard,
Arestores active,Dasks for delete confirmation,eexports a report x: archive projectq: quit
rust
active
starred
backend
next
stale
archived
excellent
cargo
Multi-word searches require every word to match project name, type, status, priority, or tags.
See:
DevHub writes the same structures to ~/.config/devhub/.
- Full task editing with reordering and moving between todo and doing
- Configurable editor and custom launch commands per project
- Background worker for very large workspaces and long git operations
- Real outdated dependency checks behind the dependency watcher interface
- Custom user templates loaded from
~/.config/devhub/templates - Theme toggle persisted in settings
- Safer trash integration for graveyard deletes
