Thanks to visit codestin.com
Credit goes to github.com

Skip to content

refactor: s/toolpath-cli/path-cli/ keep toolpath-cli as deprecated shim#64

Merged
akesling merged 2 commits into
mainfrom
akesling/path-cli
Apr 28, 2026
Merged

refactor: s/toolpath-cli/path-cli/ keep toolpath-cli as deprecated shim#64
akesling merged 2 commits into
mainfrom
akesling/path-cli

Conversation

@akesling
Copy link
Copy Markdown
Contributor

The unified CLI crate now matches the binary it installs. The source moved verbatim to crates/path-cli/ via git mv (rename detection preserves history). Extracted a pub fn run() library so the shim can re-export it without duplicating source.

The old toolpath-cli crate name is preserved as a thin shim that depends on path-cli and ships the same path binary, so cargo install toolpath-cli keeps working unchanged for existing users. The shim lives outside the workspace (exclude = ["crates/toolpath-cli"]) because both crates produce a binary literally named path, and cargo can't write two bin targets to the same workspace target/debug/path. Practical consequence: workspace-wide operations (cargo build/test --workspace, -p toolpath-cli) skip the shim; to touch it directly use --manifest-path crates/toolpath-cli/Cargo.toml. The release script special-cases this in get_version and publish.

Bundled fixes:

  • cmd_pathbase user-agent now reads "path-cli/" instead of the hardcoded "toolpath-cli/".
  • Pre-existing rustfmt warnings in cmd_list/cmd_import/cmd_show and a prettier reformat in site/eleventy.config.js applied during this session.

Versioning:

  • path-cli starts at 0.5.0 (continues from toolpath-cli 0.5.0).
  • toolpath-cli bumps to 0.5.1 as the transitional shim release.
  • Release script publishes path-cli in tier 3 and the shim in tier 4.

The unified CLI crate now matches the binary it installs. The source moved
verbatim to crates/path-cli/ via git mv (rename detection preserves history).
Extracted a `pub fn run()` library so the shim can re-export it without
duplicating source.

The old `toolpath-cli` crate name is preserved as a thin shim that depends
on path-cli and ships the same `path` binary, so `cargo install toolpath-cli`
keeps working unchanged for existing users. The shim lives outside the
workspace (`exclude = ["crates/toolpath-cli"]`) because both crates produce
a binary literally named `path`, and cargo can't write two bin targets to
the same workspace target/debug/path. Practical consequence: workspace-wide
operations (`cargo build/test --workspace`, `-p toolpath-cli`) skip the shim;
to touch it directly use `--manifest-path crates/toolpath-cli/Cargo.toml`.
The release script special-cases this in get_version and publish.

Bundled fixes:
- cmd_pathbase user-agent now reads "path-cli/<version>" instead of the
  hardcoded "toolpath-cli/<version>".
- Pre-existing rustfmt warnings in cmd_list/cmd_import/cmd_show and a
  prettier reformat in site/eleventy.config.js applied during this session.

Versioning:
- path-cli starts at 0.5.0 (continues from toolpath-cli 0.5.0).
- toolpath-cli bumps to 0.5.1 as the transitional shim release.
- Release script publishes path-cli in tier 3 and the shim in tier 4.
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 27, 2026

🔍 Preview deployed: https://a2f20145.toolpath.pages.dev

@akesling akesling merged commit f8def8c into main Apr 28, 2026
2 checks passed
@akesling akesling deleted the akesling/path-cli branch April 28, 2026 13:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant