Skip to content

Releases: daviddwlee84/dev-cli

v0.3.3

Choose a tag to compare

@github-actions github-actions released this 24 Sep 21:07

Added

  • dev repo cd <repo> provides shell-only repository navigation, equivalent
    to dev repo open <repo> --runtime none, including argument completion and
    the shell wrapper's directory handoff. It never opens a multiplexer.

  • REMOTE can expand a repository into on-demand GitHub PR/GitLab MR pages,
    inspect checks and diffnav previews, and open an exact task-free worktree or
    independent Try clone. Large repositories default to authored/requested-review
    requests; navigation never preloads PR lists or details.

  • dev pr view, diff, checkout, merge --squash, and sync-base share the
    dashboard services. Squash merge binds the reviewed head and retains unknown
    outcomes without retries; optional base sync uses guarded fast-forward or
    explicitly chosen rebase, with separate partial results and no local cleanup.

  • REPOS/REMOTE offer Open in gh-dash for verified GitHub repository targets,
    including uncloned REMOTE rows, while retaining native gh-dash configuration.

  • A reproducible, isolated worktree workflow trial compares Herdr with no dev
    task record against Sidecar workspaces. The guide documents task-free cleanup
    and sharing dev repo list --json with optional project navigation adapters;
    existing task commands and JSON contracts remain unchanged.

v0.3.2

Choose a tag to compare

@github-actions github-actions released this 24 Sep 17:23
6177f65

Added

  • dev repo clone OWNER/REPO --fork creates or reuses a verified personal
    GitHub fork while cloning the current source; dev repo fork [repo-or-path]
    connects an existing checkout. Both configure origin as the fork and
    upstream as the source, preserve branch pull targets, and direct default
    pushes to the fork. Preview with --dry-run; neither command pushes or opens
    a PR, and failures retain completed work.

v0.3.1

Choose a tag to compare

@github-actions github-actions released this 24 Sep 11:48
e64498c

Added

  • Try graduation opens a shared terminal/dashboard wizard for the project name,
    category and local/add-URL/create-remote choice, then previews and confirms the
    move. --remote-url, --forge, --namespace, --visibility and --yes also
    support direct scripts; dry-run stays promptless and never publishes.
  • Successful local graduation remembers an optional project name for later
    demote/regraduate cycles. Existing records derive a valid legacy destination
    basename without read-time migration; an explicit name always wins.

Changed

  • Existing remotes are preserved during graduation, including local renames.
    New remote creation defaults to private with push, while adding an existing
    URL defaults to no push; explicit push flags remain authoritative.
  • Remote add/create/push failures return nonzero and retain the completed local
    graduation and any remote effects, without automatic retries or rollback.
    Publication revalidates the checkout and reviewed branch/commit before each
    stage; changed authority after remote creation retains the remote and skips push.

Fixed

  • Detect actual terminals instead of treating every character device as a TTY,
    so redirected commands, including graduation with /dev/null input, remain
    noninteractive instead of entering a wizard and canceling at EOF.
  • Decode quoted and escaped Git configuration values so local remote URLs,
    including Windows paths, are preserved correctly in catalog metadata.

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 24 Sep 09:30
004d650

Added

  • dev help --tree exposes canonical command families, with a two-level default,
    --depth 0 for the full tree, optional command-path focus and --aliases.
  • dev tries demote returns a previously graduated Try to its original or an
    explicitly selected safe Try path, preserving current files, Git history,
    remotes and catalog metadata. Dry-run and the reviewed REPOS action share
    guarded move planning and recovery.

Changed

  • Root help and completion focus on 17 primary entrypoints. Work lifecycle,
    repository helpers, Git support, agent integration, activity and installation
    commands have canonical grouped paths; all prior top-level shortcuts retain
    their semantics, flags, output and exit behavior without deprecation warnings.
    try remains create-or-open and gist remains GitHub-only.
  • Authored help, bundled skill and paired English/Traditional Chinese guides use
    the canonical paths, with a v0.3 migration map and unchanged structured-output
    contracts. Shell integration supports both grouped paths and shortcuts.

Fixed

  • Dashboard skill installation and updates acquire their provider lease only
    when execution begins, so discarded or canceled handoffs do not retain a lock.

v0.2.44

Choose a tag to compare

@github-actions github-actions released this 22 Sep 17:23

Added

  • The dashboard footer shows the running version and a dev upgrade hint for
    newer releases, using the existing nonblocking release cache and update toggle.
  • REMOTE adds dated GitHub/GitLab stars, forks, open issue and PR/MR counts, and
    Gist stars/forks/comments. Statistics load after inventory in bounded batches;
    numeric sorting includes hidden columns, and snippets can sort by exact file
    count. Unknown, unavailable and stale observations remain distinct.

Fixed

  • Keep the bundled skill entrypoint within its context budget by deferring
    dashboard and wizard details to existing help and references.
  • FLEET and SSH registration no longer reject Windows Herdr hosts by OS. Herdr
    0.9.1+ handles native Windows connection compatibility and setup approvals;
    exact SSH alias/authentication guards remain. Dev-managed remote repository
    workspace preparation remains Linux/macOS-only.
  • Repository new/setup wizards preserve real preflight errors instead of
    reporting cancellation. Missing trusted skill installers are reported at
    selection time with explicit skip/cancel choices that retain other settings.

v0.2.43

Choose a tag to compare

@github-actions github-actions released this 22 Sep 08:23

Added

  • Repository setup can compose language/tool components from scaffolds.toml.
    The wizard combines gitignore templates and offers explicit skill selection,
    including Python project guidance through the native skills/lock provider.
  • dev snippet and GitHub-only dev gist list, search, open and create small
    text shares through GitHub and GitLab, including explicit GitLab projects.
    Optional bounded content search reports incomplete coverage. File/stdin and
    editor workflows retain drafts and unknown publication outcomes honestly.
    REMOTE can switch between repositories and the independent snippets inventory.

Changed

  • Agent-ready repositories start with concise deferred AGENTS.md guidance.
    Claude plans settings no longer create empty plans directories or .gitkeep
    by default, and legacy hygiene/knowledge suggestions no longer crowd the
    ordinary wizard. Existing explicit recipes, IDs and authored files are retained.

v0.2.42

Choose a tag to compare

@github-actions github-actions released this 21 Sep 23:14

Fixed

  • Native Windows repository, linked-worktree and submodule paths now agree with
    filesystem identity, including aliases and moved child checkout placeholders.
    Worktree moves run outside the directory being renamed, and nesting guards
    compare canonical paths.
  • Windows config paths round-trip through ~/, and Claude project keys encode
    drive letters and native separators consistently. Git hook detection follows
    Windows executable semantics.
  • Machine identity directories are created with their private policy atomically;
    disk-size cache and project trust temporary files receive owner/DACL protection
    before content is written, bound to the retained creation handle.
  • Operation lease locks verify the held file's identity and private policy;
    Windows seals safe inherited private DACLs without repairing foreign or
    broadly accessible files. Explicit template Git URLs and SCP references no
    longer fail Windows local-file inspection before cloning.
  • The full Windows suite is now a required CI gate. Native provider fixtures,
    isolated HOME/USERPROFILE and explicit Git line-ending defaults keep tests
    from accidentally using installed tools or runner settings. Unsupported POSIX
    mutation transports retain explicit rejection tests, and lease tests report
    early operation failure instead of waiting indefinitely.
    Large CLI/taskflow suites run in eight native shards with complete package,
    test, example and fuzz-seed discovery; an audit fails on missing results,
    failures and timeouts, with per-invocation logs retained.

v0.2.41

Choose a tag to compare

@github-actions github-actions released this 21 Sep 19:22

Added

  • Dashboard REPOS → Ctrl+O → hygiene now inspects status, reads the selected
    checkout's latest report, scans worktree/staged/local-history scopes, and opens
    reviewed single or filtered-repository setup through shared CLI workflows.
  • All eight dashboard views share explicit action registrations for menus,
    action keys and contextual Help. Applicable but unavailable actions remain
    visible with a reason; selecting them never executes an operation.

Fixed

  • Go module ZIPs now exclude the existing SpecStory and agent-plan evidence
    directories using narrow nested-module boundaries. Release CI independently
    extracts, compiles and smoke-tests both compact source and Go module packages
    while retaining embedded help, skills and hygiene rules.

  • Hygiene's default generic credential detectors now verify Go source spans
    against the scanned Git object, excluding syntax-only matches while retaining
    literals, comments, custom rules and uncertain source. Generic privacy checks
    omit loopback/unspecified IPs and reserved example email domains; explicit
    private rules remain authoritative in normal and audit scans.

  • Hygiene setup on an expanded worktree now uses that exact checkout instead of
    silently returning. Menu execution rechecks availability and pinned task or
    SSH-profile revisions after observation changes.

v0.2.40

Choose a tag to compare

@github-actions github-actions released this 19 Sep 03:03
953a3a0

Added

  • dev wt open --no-focus opens or reuses an existing checkout's runtime surface
    without switching focus or issuing a shell directory handoff. It reports the
    actual branch, path and runtime handle; it does not create a worktree, provision
    files, adopt a task or launch an agent. Bundled guidance now calls for making
    durable agent worktrees visible and reporting their locations immediately.
  • dev prepare --specstory-path selects and persists one exact SpecStory
    transcript by provider, UUID and capture scope, including archive handoffs.
    Ambiguous discovery still refuses to guess. Native finalization now rechecks
    writer/source guards and exact intent revisions with locked compare-and-update
    transactions; --revision can bind an external finalizer to a reviewed record.
  • Explicit dev prepare --closeout co-commit delegates a feature-only staged
    snapshot and selected transcript/plan to a compatible canonical v2 helper.
    It requires a real wrapper launched without automatic commit approval, retains
    the canonical queue acknowledgement, and never launches or closes an agent.
    External artifact finalize --allow-commit prepares without committing,
    revalidates native guards and both revisions, then permits one commit-capable
    call. Uncertain outcomes reconcile only; partial bindings never blindly requeue.
    Read-only review previews and schema-1 co_commit_handoff / artifact_handoffs
    JSON keep persisted intent separate from helper observations. The separately
    maintained helper is not bundled or installed automatically; native Windows
    co-commit remains unsupported.

Fixed

  • Compact release source archives also exclude Claude, Codex, Cursor and OpenCode
    plan directories, not just SpecStory history. Git retains the selected evidence;
    the source-archive gate verifies these exclusions and the real native build.
  • REPOS n and the new-repository action now open the clone-aware wizard while
    selected-row observations are pending or the filtered list is empty. Active
    clones still block; wizard confirmation and fresh destination checks remain.
  • Dashboard local filters and help index/result searches accept Up/Down while
    typing without moving the text cursor or leaving the input. Enter still keeps
    the query/selection and exits filtering without opening; ordinary list Enter,
    article search/scroll and Notes search retain their existing behavior.

v0.2.39

Choose a tag to compare

@github-actions github-actions released this 17 Sep 09:51
2a68b5c

Added

  • dev hygiene report summarizes the newest stored scan for the current
    checkout without scanning again (so the pre-commit hook's staged scan is
    readable right after a blocked commit), or --report ID / --rescan.
    Findings are grouped by severity, rule, file and category, ordered by
    disposition then occurrences, with --top, --disposition, --rule,
    --category, --path filters and a --findings drill-down. --json emits
    the new hygiene_summary schema-v1 document. --values shows masked
    distinct values per rule; raw values and their context go only to a private
    review file whose location dev hygiene review-path <report-id> prints.
    Scan findings gain additive keyed value_id and file_id fields, keeping
    private filenames distinct even when their displayed labels match. Stored
    summaries show the scan date without claiming current source freshness;
    legacy file counts are explicitly marked as lower bounds. Value capture is
    byte-bounded and skipped samples are visible; a failed values sidecar retains
    a partial scan receipt. Invalid path globs fail before scanning, and filter
    metadata is policy-masked.
  • dev retire --base <ref> overrides the containment target used to prove a
    DONE task or linked worktree is integrated: a local branch, a remote-tracking
    branch such as origin/main, or a commit. dev sweep --base forwards the
    same override to DONE tasks, and --merged-worktrees proves managed tasks
    against the base it already verified. After dev done --merged --base-ref,
    cleanup hints and the cleanup wizard carry that ref forward.

Fixed

  • Artifact readiness no longer lets unrelated repositories' intent records
    block a detached checkout. Repository identity is filtered before branch
    identity is required for moved intents; relevant pending, ambiguous or
    unreadable records still block cleanup. Windows non-directory store errors
    are no longer mistaken for an absent store. Submodule artifact observation
    errors retain their specific cause instead of only reporting unfinished artifacts.
  • Recursive worktree cleanup can locally prove never-initialized submodules
    empty without downloading or publishing children. Exact empty module
    administration is revalidated and pruned with directory-only operations before
    ordinary no-force Git removal. Retained child stores, orphan data, ignored
    files, links and ownership claims remain blockers. Mixed initialized/empty
    graphs retain recovery proofs and rollback for real child repositories, and
    interrupted empty-directory pruning reports partial effects. Native path
    spellings share bookkeeping keys on Windows without relaxing physical identity
    checks. --recursive remains required; alternates and squash-ancestry
    protections are unchanged.
  • Guarded file replacements on macOS no longer fail with a metadata round-trip
    error when the source file was written by another application. The kernel
    assigns com.apple.provenance to each new file and ignores attempts to copy
    it, so hygiene redaction, encoding repair and recovery, and dev ssh init
    now leave that one tag to the kernel while still requiring every other
    extended attribute to survive and still detecting a changed source. Apply and
    recovery errors now keep their underlying cause instead of only pointing at
    the private receipt.
  • dev sweep --apply --yes (including --merged-worktrees) now completes a
    batch in one pass. A reviewed retirement or removal plan is bound only to the
    worktrees that share its branch or path, so removing an unrelated sibling
    earlier in the batch no longer turns every remaining plan stale. A new
    checkout of the same branch, or a lock or HEAD change on the target, still
    invalidates the plan.
  • Retirement and contained worktree removal no longer refuse a base recorded as
    a commit or remote-tracking ref (for example base = "b509448" from
    dev start --base <commit>) with "local base ref refs/heads/… does not
    exist". Bases resolve as a local branch, then a remote-tracking branch, then a
    commit, and apply re-resolves the same input. A recorded fork-point commit is
    never replaced by the default branch: when it cannot prove integration, the
    plan stays blocked and names --base <branch>.
  • An agent can now repair or redact another session's stopped SpecStory
    transcript from its own pane. The artifact writer guard previously blocked
    the calling agent itself, leaving --no-runtime as the only way through.
    Other live agents still always block. The caller is exempt only when Herdr's
    exact session id differs from a valid UUID in every target's actual
    SpecStory-generated preamble, or when --allow-shared-checkout explicitly
    asserts disjoint ownership (for example plans or unknown session identities).
    An identified caller-owned live transcript is refused even with the override;
    malformed headers or body mentions never prove another session.
    dev hygiene restore --apply now guards the receipt's exact paths.