Skip to content

feat(cli): make bitfun the cross-platform primary command#1649

Merged
limityan merged 1 commit into
GCWing:mainfrom
limityan:yanzhn/cli-command-bitfun
Jul 20, 2026
Merged

feat(cli): make bitfun the cross-platform primary command#1649
limityan merged 1 commit into
GCWing:mainfrom
limityan:yanzhn/cli-command-bitfun

Conversation

@limityan

@limityan limityan commented Jul 20, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • make bitfun the primary CLI command while keeping the Cargo package/crate name bitfun-cli
  • retain bitfun-cli as a thin deprecated compatibility launcher with an exact stderr warning, argument/exit forwarding, signal-safe handoff, and an actionable incomplete-installation error
  • provide paired, transactional installers and release archives for Windows, macOS, and Linux, including rollback checks and current-shell/PATH guidance
  • publish Windows x64 ZIP artifacts with static CRT linkage and reject unexpected Visual C++ Redistributable dependencies during packaging
  • keep the five-platform native build/install/rollback/package matrix in release and explicit manual workflows, not ordinary pull-request CI

Compatibility and scope

  • existing service identifiers, data/log paths, Cargo commands, and archive naming remain bitfun-cli; only the user-facing primary executable changes
  • official installers and archives always ship bitfun and deprecated bitfun-cli as a pair; selectively installing only the compatibility launcher is unsupported and reports recovery guidance
  • Windows foreground CLI behavior is fully supported; daemon auto-start remains unchanged and is not expanded by this PR
  • Homebrew integration is a post-publication asynchronous notification. A successful repository dispatch only proves GitHub accepted the notification; the external tap owns formula rollout and readback for both entrypoints

Validation

  • cargo test -p bitfun-cli
  • cargo check --workspace
  • node scripts/check-core-boundaries.mjs
  • pnpm run check:repo-hygiene
  • pnpm run check:github-config
  • node scripts/install-cli.test.mjs
  • node scripts/cli/package-contract.test.mjs
  • native Windows install/reinstall/locked-file rollback test
  • Windows static-CRT release build and ZIP smoke test, including PE dependency inspection
  • cargo install --path src/apps/cli smoke test for both entrypoints
  • PowerShell parser checks and git diff --check

Two independent adversarial reviews were completed from senior architecture and product-design perspectives. All reported P1/P2 findings were fixed; both final reviews found no remaining blocker, P1, or P2.

@limityan
limityan force-pushed the yanzhn/cli-command-bitfun branch from 36c2b96 to bcb6b1d Compare July 20, 2026 15:03
@limityan
limityan force-pushed the yanzhn/cli-command-bitfun branch from bcb6b1d to 9eecf91 Compare July 20, 2026 15:37
@limityan
limityan marked this pull request as ready for review July 20, 2026 15:41
@limityan
limityan merged commit d9b9f96 into GCWing:main Jul 20, 2026
5 checks passed
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