-
Notifications
You must be signed in to change notification settings - Fork 1
Functional gaps: missing CLI capabilities #12
Description
Summary
Several missing CLI features that would improve usability, safety, and scriptability.
Items
1. No --json output on any command
Zero machine-readable output across the entire CLI. This blocks scripting, editor integrations, and AI agent tool use. Priority candidates:
dgr tree --json— branch graph as JSONdgr pr list --json— tracked PRs as JSONdgr status --json(see below)
2. No dgr status command
No quick summary view showing: current branch's tracking status, whether it needs restacking or pushing, pending operations, PR state. Users must mentally combine dgr tree + git status + check GitHub.
3. No --dry-run on sync
dgr sync performs destructive operations (force-push, branch deletion, PR retargeting) with no preview mode. A --dry-run flag that prints planned actions without executing them would significantly reduce adoption friction.
4. No --no-push / --no-fetch on sync
No way to sync locally without pushing to remote. Useful for: reviewing restack results before pushing, working offline, CI environments with read-only tokens.
5. No selective sync
dgr sync always processes the entire workspace. A dgr sync <branch> to sync only a specific stack would be useful for large workspaces.
6. No dgr restack standalone command
Restacking only happens as a side effect of commit, sync, reparent, etc. Users should be able to manually trigger a restack of the current branch's descendants.
7. No --skip during restack conflicts
When a restack pauses on a conflict, the only options are resolve or manually abort. A --skip flag to skip the conflicting branch and continue with the rest of the stack would help.
8. Merge strategy hardcoded to --squash
dgr pr merge always passes --squash --delete-branch to gh pr merge. Users should be able to choose: --squash, --merge, or --rebase.
9. No shell completions
clap_complete support is not wired up. Adding a dgr completions <shell> command for bash/zsh/fish/powershell is low effort and high UX value.
10. No NO_COLOR environment variable support
ANSI color codes are always emitted. The no-color.org convention (NO_COLOR=1) is not respected. Also missing: --color=auto|always|never flag.
11. Limited commit passthrough flags
Only -a, -m, --amend, --no-edit are passed to git commit. Missing commonly used flags: --fixup, --signoff, -p/--patch, --allow-empty.
12. No PR creation options
dgr pr only supports --title, --body, --draft. Missing: --labels, --reviewers, --assignees, --milestone.