Releases: DazzleTools/dazzlecmd
v0.6.0 - dz github: Quick GitHub Navigation from Any Repo
DazzleCMD v0.6.0
Unified CLI for the DazzleTools collection -- many tools, one command. dz <tool> [args] gives you a single entry point for all your utilities.
What's New in v0.6.0
dz github -- Quick GitHub Navigation from Any Repo
New dazzletools tool that opens GitHub project pages, issues, PRs, and releases directly from the terminal. Wraps gh CLI with ergonomic shortcuts and automatic remote detection.
Auto-detects your repo -- no gh repo set-default needed. Parses OWNER/REPO from your git remote and passes -R to gh transparently.
dz github # Open repo home page
dz github 3 # Open issue or PR #3
dz github pr # Pull requests tab
dz github release # Releases page
dz github issues # Issues tab
dz github forks # Forks page
dz github actions # Actions / CI tab
dz github projects # GitHub Projects (kanban)Semantic issue lookup -- find issues by label or title, not just number:
dz github isu roadmap # Find issue with 'roadmap' label (or title match)
dz github isu notes # Tries 'notes' label, then 'ideas', then title search
dz github isu epics # Opens label-filtered browser view for all epicsResolution order: label match first, title search fallback. Reports other matches when multiple issues are found.
Repo finder -- search across all your GitHub orgs by name:
dz github repo preserve # Find and open a repo by name
dz github repo repokit # Substring match -- prompts if multiple results
dz github preserve # Same thing -- implicit when not in a git repoUses a local cache (~/.cache/dz-github/repos.json, 24h TTL) for instant lookups after first use. Refresh with dz github --refresh.
Subdirectory scanning -- when not in a git repo, scans child directories:
cd C:\code\dazzlecmd # Parent dir with github/ and local/ subdirs
dz github # Detects both point to same repo, auto-opensOther features:
-n/--no-browser: print URL without opening browser (for scripting)--remote NAME: use a specific git remote instead oforigin- Safe ASCII output on Windows (no mojibake from Unicode em dashes in issue titles)
- Page keyword aliases:
prs,pulls,ci,kanban,fork,network
Installation
pip install dazzlecmdOr install from source:
git clone https://github.com/DazzleTools/dazzlecmd.git
cd dazzlecmd && pip install -e .Version History (0.x)
| Version | Key Change |
|---|---|
| v0.6.0 | Current -- dz github tool for quick GitHub navigation |
| v0.5.1 | fixpath search fallback for all non-existent paths |
| v0.5.0 | dz git-snapshot named working state checkpoints |
| v0.4.1 | fixpath result ranking, --fast, --all |
| v0.4.0 | dz find tool, fixpath search fallback |
| v0.3.1 | Depth control, --kit scaffolding, terminal-width help |
| v0.3.0 | dz fixpath tool, documentation suite |
| v0.2.1-alpha | First PyPI release, dz links, traffic tracking |
Platform Support
| Platform | Status |
|---|---|
| Windows | Tested (primary development platform) |
| Linux | Expected to work |
| macOS | Expected to work |
Requirements
- Python 3.8+
gh(GitHub CLI) -- installgit
v0.5.1 - fixpath Search Fallback, git-snapshot Docs
DazzleCMD v0.5.1
Patch release fixing fixpath search behavior and adding git-snapshot documentation.
What's New in v0.5.1
fixpath: Search Fallback for All Paths
Previously, fixpath's search fallback only triggered for bare filenames (no path separators). Now it triggers for any non-existent path, using progressive resolution to extract the filename and search from the deepest valid directory.
# Before: failed with "not found"
dz fixpath some/path/file.md
# -> Warning: Cannot open, path not found
# After: searches for file.md from the deepest valid directory
dz fixpath some/path/file.md
# -> C:\code\project\docs\file.md (found via search)This makes fixpath more useful when copy-pasting paths from other projects or sessions where the directory structure differs.
git-snapshot README
Added documentation covering:
- How snapshots work (stash create + custom refs)
- Storage model (refs/snapshots/ -- local only, gc-safe)
- Apply vs restore modes
- Cleanup strategies
- FAQ (remote push, garbage collection, stash interaction)
Installation
pip install dazzlecmdVersion History (0.5.x)
| Version | Key Change |
|---|---|
| v0.5.1 | Current -- fixpath search for all paths, git-snapshot docs |
| v0.5.0 | dz git-snapshot named checkpoints |
v0.5.0 - dz git-snapshot: Named Working State Checkpoints
DazzleCMD v0.5.0
New tool: dz git-snapshot -- lightweight named checkpoints for git working state.
Why git-snapshot?
Sometimes you want a save point without a full commit. git stash is close, but stash entries are a fragile stack -- indices shift, names are hard to find, and cross-session recovery is awkward. dz git-snapshot gives you named, stable checkpoints that survive stash manipulation and are easy to diff against.
How it works
Snapshots use git stash create to build a stash-format commit (without touching the stash stack), then store it as a custom ref under refs/snapshots/. This means:
- Stable names --
refs/snapshots/20260327-161332_pre-refactorwon't shift - Native git diff --
git diff refs/snapshots/foojust works - No stash pollution -- your manual stashes stay untouched
- Two restore modes -- merge (preserve local changes) or hard replace
Subcommands
dz git-snapshot save "before refactor" # Save working state
dz git-snapshot list # List all snapshots
dz git-snapshot show 1 # Details + file summary
dz git-snapshot diff 1 # Diff against current state
dz git-snapshot diff 1 --stat # Diffstat summary
dz git-snapshot apply 1 # Merge-reapply (keeps local changes)
dz git-snapshot restore 1 --force # Hard replace working tree
dz git-snapshot drop 1 # Delete a snapshot
dz git-snapshot clean --older 30 --dry-run # Prune old snapshotsFeatures
- Captures tracked + untracked files, preserves index state
- Reference by index (newest = 1) or name prefix
restorerequires--forcewhen uncommitted changes exist (safety)cleansupports--older DAYS,--keep N, and--dry-runlist --jsonfor scripting- 22 tests with isolated temp repos
Installation
pip install dazzlecmd11 Tools Included
Core kit (5): find, fixpath, links, listall, rn
DazzleTools kit (6): claude-cleanup, dos2unix, delete-nul, git-snapshot, srch-path, split
Version History
| Version | Key Change |
|---|---|
| v0.5.0 | Current -- dz git-snapshot named checkpoints |
| v0.4.1 | fixpath result ranking, --fast, --all |
| v0.4.0 | dz find, fixpath search fallback |
| v0.3.1 | --depth, --kit scaffolding |
| v0.3.0 | dz fixpath, documentation suite |
v0.4.1 - fixpath Result Ranking, --fast, --all, claude-cleanup --user
DazzleCMD v0.4.1
Patch release with fixpath search improvements and claude-cleanup enhancements.
What's New in v0.4.1
fixpath: Smarter Search Results
When fixpath searches for a file, it now ranks results by similarity to your original input. The closest match is used, not just whatever fd finds first.
# Before: picked whichever fd found first (non-deterministic)
# Now: picks the result whose path most closely matches your input
dz fixpath -d c:\code "../../ComfyUI_experiment/custom_nodes/comfyui-dazzlenodes/scripts/dev_mode_local.yaml"
# -> C:\code\ComfyUI_experiment\custom_nodes\comfyui-dazzlenodes\scripts\dev_mode_local.yaml--fast: Instant First Match
For large directory trees where waiting for all results is too slow, --fast tells fd to stop after the first match:
dz fixpath --fast -d c:\code "dev_mode_local.yaml"
# fd stops immediately after finding one match -- no ranking, no waiting--all: See Every Match
dz fixpath --all -d c:\code "dev_mode_local.yaml"
# Lists all matches, best match first
# Actions (-o, -l) apply to first result only; -c copies all paths-d Shorthand
-d is now a shorthand for --dir (and implies --find):
dz fixpath -d c:\code "config.yaml" # search c:\code for config.yamlclaude-cleanup v0.2.0
- New
--usermode to stage user artifacts (configs, skills, session logs) separately from noise - Updated directory/file lists: added
image-cache,private,settings.json - Refactored commit logic
Installation
pip install dazzlecmdVersion History (0.4.x)
| Version | Key Change |
|---|---|
| v0.4.1 | Current -- fixpath ranking, --fast, --all, claude-cleanup --user |
| v0.4.0 | dz find, fixpath search fallback, progressive path resolution |
v0.4.0 - dz find, fixpath Search Fallback, Progressive Path Resolution
DazzleCMD v0.4.0
Unified CLI for the DazzleTools collection -- many tools, one command.
What's New in v0.4.0
dz find -- Cross-Platform File Search
New core tool that wraps fd with dazzlecmd's action layer. Find files and immediately open, browse, or copy them -- no piping or xargs needed.
dz find README.md # Find a specific file
dz find "*.md" --dir docs # Search in a specific directory
dz find "*postmortem*" -o # Find and open in default app
dz find -e py --count # Count all Python files
dz find "*.log" -d 2 --older 7d # Depth-limited, date-filtered
dz find -e json --dir kits -c # Find and copy path to clipboard
dz find --regex "test_.*\.py$" # Regex modeWhy dz find instead of fd directly? fd is excellent for search, but dz find adds the action layer: -o opens the result, -l reveals it in your file manager (Directory Opus, Explorer, Finder), and -c copies the path to clipboard. Same flags, any OS.
Requires fd: winget install sharkdp.fd / brew install fd / apt install fd-find
fixpath --find -- Progressive Path Resolution
When fixpath can't resolve a path, it now intelligently searches for the file. The key feature: progressive path resolution -- it walks the path left-to-right, finds the deepest directory that actually exists, and searches from there.
# Path has a bad subdirectory -- fixpath finds the valid prefix and searches
dz fixpath -s "private/claude/badsubdir/*postmortem*"
# Resolves: private/claude/ exists, searches there for *postmortem*
# -> private/claude/2026-02-13__full-postmortem_dazzlecmd-initial-implementation.md
# Bare filename -- searches CWD recursively
dz fixpath "creating-tools.md" -o
# -> docs/guides/creating-tools.md (found and opened)
# Glob pattern -- auto-detects as search
dz fixpath "*workflow*.md"
# -> finds all matching files
# Skip path fixing entirely
dz fixpath --skip "kits.md"New flags:
-f/--find: explicit search mode-s/--skip: bypass fix_path(), go straight to search-p/--print: print only, override config default (no open/copy/lister)--dir: specify search directories (repeatable)
dz list Word-Wrapping
dz list now wraps long descriptions at word boundaries with aligned continuation lines, adapting to terminal width.
Installation
pip install dazzlecmdAlso available as pip install dazzle-dz (alias package).
10 Tools Included
Core kit (5): find, fixpath, links, listall, rn
DazzleTools kit (5): claude-cleanup, dos2unix, delete-nul, srch-path, split
Version History
| Version | Key Change |
|---|---|
| v0.4.0 | Current -- dz find, fixpath search fallback, progressive path resolution |
| v0.3.1 | --depth, --kit scaffolding, terminal-width help |
| v0.3.0 | dz fixpath, documentation suite, UNC support |
| v0.2.2-alpha | dazzle-dz alias package on PyPI |
| v0.2.1-alpha | First PyPI release, traffic tracking, dz links |
Platform Support
| Platform | Status |
|---|---|
| Windows 10/11 | Tested (primary development platform) |
| Linux | Expected to work (CI tested on Ubuntu) |
| macOS | Expected to work |
Requirements
- Python 3.8+
- fd for
dz findand fixpath--find - Optional:
dazzle-filekit,unctools,teeclip,dazzletreelib
v0.3.1 - Depth Control, Kit Scaffolding, Terminal-Width Help
DazzleCMD v0.3.1
Patch release with depth-limited scanning, scaffolding improvements, and terminal-aware help.
What's New in v0.3.1
dz links --depth N
Limit how deep recursive scanning goes, powered by dazzle-tree-lib when available:
dz links -d 1 "C:\ProgramData\Microsoft\Windows\Start Menu\Programs"
# 37 shortcuts (top level only)
dz links -d 2 "C:\ProgramData\Microsoft\Windows\Start Menu\Programs"
# 161 shortcuts (one level of subdirectories)
dz links -r "C:\ProgramData\Microsoft\Windows\Start Menu\Programs"
# 219 shortcuts (full recursive)--depth implies --recursive. Falls back to os.walk with manual depth tracking when dazzle-tree-lib isn't installed.
dz new --kit
Auto-register new tools in a kit during scaffolding -- no more manual kit JSON editing:
# Before: two steps
dz new my-tool --namespace core
# then manually edit kits/core.kit.json
# Now: one step
dz new my-tool --namespace core --kit coreAlso: dz new now generates platforms and lifecycle fields in manifests automatically.
Terminal-Width-Aware Help
dz --help now detects terminal width via shutil.get_terminal_size() and truncates descriptions to fit. Falls back to 80 columns for piped output.
Installation
pip install dazzlecmdVersion History (0.3.x)
| Version | Key Change |
|---|---|
| v0.3.1 | Current -- --depth, --kit scaffolding, terminal-width help |
| v0.3.0 | dz fixpath, documentation suite, UNC support |
v0.3.0 - dz fixpath, Documentation Suite, UNC Path Support
DazzleCMD v0.3.0
Unified CLI for the DazzleTools collection -- many tools, one command.
What's New in v0.3.0
dz fixpath -- Fix Mangled Paths
New core tool that takes broken paths from terminals, copy-paste, and mixed-OS environments and makes them work.
# Fix mixed slashes
dz fixpath "C:\code\project/private/file.md"
# Fix cmd.exe prompt artifacts
dz fixpath "C:\code\project>private/file.md"
# WSL and MSYS paths
dz fixpath "/mnt/c/Users/foo/file.md"
dz fixpath "/c/code/project/file.md"
# UNC network paths (use // in any shell)
dz fixpath "//server/share/docs/file.txt"
# Open in default app (-o), file manager (-l), or copy to clipboard (-c)
dz fixpath -o "private/claude/notes/idea.md"
dz fixpath -l "README.md"
dz fixpath -c "C:/code/project/file.md"Handles: mixed slashes, cmd.exe > artifacts, MSYS/WSL/UNC paths, URL encoding, surrounding quotes, PowerShell prefix, tilde/env expansion, shell-mangled UNC reconstruction.
Configurable defaults:
dz fixpath config default copy # Always copy to clipboard
dz fixpath config lister dopus # Use Directory Opus as file manager
dz fixpath config show # View current settingsFile manager presets: Directory Opus, Total Commander, Windows Explorer. Or set any custom executable.
Documentation Suite
Every core tool now has its own documentation page, plus guides for developers:
- Core Tool Docs -- fixpath, links, listall, rn
- Creating Tools -- how to build your own dz tool
- Kits Guide -- the kit system, recursive architecture, and how to build your own aggregator
- Manifest Reference --
.dazzlecmd.jsonschema - Platform Support -- OS compatibility matrix
Categorized Help
dz --help now groups commands by category:
commands:
list List available tools
info <tool> Show detailed info about a tool
kit Manage kits
...
core tools:
fixpath Fix mangled paths and optionally open, copy, or browse files
links Detect and display filesystem links
listall Flexible directory structure listing
rn Rename files using regular expressions
dazzletools tools:
dos2unix Pure-Python cross-platform line ending converter
...
Installation
pip install dazzlecmd9 Tools Included
Core kit (4): fixpath, links, listall, rn
DazzleTools kit (5): claude-cleanup, dos2unix, delete-nul, srch-path, split
Version History
| Version | Key Change |
|---|---|
| v0.3.0 | Current -- dz fixpath, documentation suite, UNC support |
| v0.2.2-alpha | dazzle-dz alias package on PyPI |
| v0.2.1-alpha | First PyPI release, traffic tracking, dz links |
Platform Support
| Platform | Status |
|---|---|
| Windows 10/11 | Tested (primary development platform) |
| Linux | Expected to work (CI tested on Ubuntu) |
| macOS | Expected to work |
Requirements
- Python 3.8+
- No required dependencies
- Optional:
dazzle-filekit(path normalization),unctools(UNC conversion),teeclip(clipboard)
v0.2.1-alpha - First PyPI Release, dz links, Traffic Tracking
DazzleCMD v0.2.1-alpha
Unified CLI for the DazzleTools collection -- many tools, one command. Run any tool with dz <tool> [args].
First PyPI release! Install with pip install dazzlecmd.
What's New in v0.2.1-alpha
dz links -- Filesystem Link Detection Tool
New core tool that scans directories for all types of filesystem links and shortcuts, displaying targets, status, and metadata.
dz links # Scan current directory
dz links -r --type symlink,junction # Recursive, filter by type
dz links --broken # Find broken links
dz links -v ~/Desktop # Verbose with full paths
dz links --json # Machine-readable outputDetects 6 link types:
| Type | Description |
|---|---|
symlink |
Symbolic links (file or directory) |
junction |
Windows junctions (directory reparse points) |
hardlink |
Hard links with target resolution via FindFirstFileNameW |
shortcut |
Windows .lnk Shell Link files (binary parser) |
urlshortcut |
.url Internet Shortcut files |
dazzlelink |
.dazzlelink JSON descriptor files |
Cross-platform path canonicalization handles MSYS/Git Bash (/c/path), forward slashes, and \\?\ prefix stripping. Optional dazzle-filekit and unctools integration for enhanced normalization.
Categorized Help Output
dz --help now groups commands by category -- builtins, core tools, and kit tools shown in separate sections:
commands:
list List available tools
info <tool> Show detailed info about a tool
...
core tools:
links Detect and display filesystem links (symlinks, junctions, hardlinks, dazzlelinks)
listall Flexible directory structure listing with sorting, collection modes, and output formatting
rn Rename files using regular expressions
dazzletools tools:
delete-nul Delete Windows NUL device files that get accidentally created
dos2unix Pure-Python cross-platform line ending converter (dos2unix/unix2dos)
...
Traffic Tracking & CI Improvements
- GitHub traffic tracking via ghtraf -- daily clone/view/download badges
- PyPI Trusted Publisher workflow (publish on tag push)
- CI updated to actions v6 with pip caching
- Package renamed from
dazzle-dztodazzlecmdon PyPI
Installation
pip install dazzlecmdOr install from source:
git clone https://github.com/DazzleTools/dazzlecmd.git
cd dazzlecmd
pip install -e .7 Tools Included
Core kit: links, listall, rn
DazzleTools kit: dos2unix, delete-nul, srch-path, split
Version History (0.2.x)
| Version | Key Change |
|---|---|
| v0.2.1-alpha | Current -- first PyPI release, dz links, traffic tracking |
| v0.2.0-alpha | dz add --link for tool import, dz mode toggle |
Platform Support
| Platform | Status |
|---|---|
| Windows 10/11 | Tested (primary development platform) |
| Linux | Expected to work (CI tested on Ubuntu) |
| macOS | Expected to work |
Requirements
- Python 3.8+
- No required dependencies (optional:
dazzle-filekit,unctoolsfor enhanced path handling indz links)