Skip to content

Prepare rustuse-cli 0.2.0-beta.1 release#1

Draft
CloudBranch wants to merge 9 commits into
mainfrom
release/rustuse-cli-0.2.0-beta.1
Draft

Prepare rustuse-cli 0.2.0-beta.1 release#1
CloudBranch wants to merge 9 commits into
mainfrom
release/rustuse-cli-0.2.0-beta.1

Conversation

@CloudBranch

@CloudBranch CloudBranch commented Jun 27, 2026

Copy link
Copy Markdown
Member

Summary

Prepares the rustuse-cli 0.2.0-beta.1 release by refactoring the CLI command architecture, moving RustUse maintainer logic out of command modules, and wiring current report workflows for root and facade repositories.

Affected set or crate

  • rustuse-cli
  • CLI command routing
  • Root and facade reporting
  • RustUse maintainer workflow documentation
  • GitHub Actions workflow files

Type of change

  • Feature
  • Refactor
  • Documentation
  • CI / workflow maintenance

Changes

  • Moved RustUse domain logic out of src/commands/dev and into src/rustuse.
  • Added new command modules for catalog, check, CI, facade, report, and scan workflows.
  • Wired top-level report routing for auto, root, facade, catalog, and CI report kinds.
  • Added facade report support through rustuse facade report.
  • Made root reports write rustuse-root-report.md.
  • Kept facade reports writing rustuse-report.md.
  • Compacted root manifest reporting with top manifest offenders instead of full warning dumps.
  • Removed duplicated root standards policy in favor of facade/shared standards analysis.
  • Updated README documentation around the current command surface and report workflow.
  • Added CodeQL and Trivy workflow files.
  • Added standard repository ignore/license files.
  • Updated existing adoption command modules to align with the new CLI structure.

Validation

Locally verified:

cargo fmt
cargo build
cargo install --path . --force

The CLI builds and installs successfully. Current build output still includes warnings for unused planned/future command surfaces.

Documentation and release notes

  • README updated.
  • Report workflow documented.
  • Root and facade report output filenames documented.

Dependency changes

No dependency changes intended beyond the release/workflow updates already included on this branch.

Breaking changes

No user-facing breaking change intended for the adoption command surface.

The internal maintainer/development module layout changed significantly. Existing unstable dev internals should be treated as implementation details for this beta.

Additional review notes

This PR is intentionally broad because it prepares the CLI structure for the 0.2.0-beta.1 release. Follow-up work should focus on smaller feature branches, especially:

  • --output support for reports
  • root/facade --verbose report modes
  • facade inspect and check
  • facade sync --dry-run
  • reducing unused-code warnings as planned command surfaces are wired

ci: update GitHub Actions for Node 24 runners

* Upgrade checkout, upload-artifact, and download-artifact actions to Node 24-compatible versions
* Replace floating latest runner labels with explicit OS versions
* Pin macOS CI and release jobs to avoid macos-latest migration warnings
* Clean release packaging directories before creating artifacts
@CloudBranch CloudBranch marked this pull request as draft June 27, 2026 20:05
Refactor CLI command architecture and reporting

- Move RustUse domain logic out of src/commands/dev and into src/rustuse
- Add new command modules for catalog, check, ci, facade, report, and scan workflows
- Wire top-level report routing for auto, root, facade, catalog, and CI report kinds
- Add facade report support through rustuse facade report
- Make root reports write rustuse-root-report.md
- Keep facade reports writing rustuse-report.md
- Compact root manifest reporting with top manifest offenders instead of full warning dumps
- Remove duplicated root standards policy in favor of facade/shared standards analysis
- Update CLI README to document the current command surface and report workflow
- Add CodeQL and Trivy workflow files plus standard repository ignore/license files
- Update existing adoption command modules to align with the new CLI structure
- Verified cargo fmt, cargo build, and local install; build currently passes with warnings
@github-advanced-security

Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

Add Ferris greeting command

- Add rustuse ferris command
- Add crab emoji alias for rustuse 🦀
- Route the command through the standard command module path
- Verify both ferris and 🦀 invocations print the greeting
Makes subcommands optional so running `rustuse` opens a guided interactive menu, while still failing fast in non-interactive contexts. The command runner now routes through a shared dispatcher, and new `interaction` helpers wrap common prompt patterns via `dialoguer`.

Also refactors cargo-subcommand argument normalization into a reusable/tested helper, adds coverage for cargo invocation shapes, and cleans up stale commented/dead code in facade/report and GitHub model modules.
This replaces placeholder behavior with real command wiring for interactive, scan, and report paths, including shared facade auto-detection and `report --stdout` support via a common report destination type. The catalog was refactored to use generated in-memory indexed data (no filesystem discovery), with lookup/search APIs updated accordingly. It also removes unused adapter/config surface and replaces the monolithic CLI help test with focused integration test files plus shared test helpers.
Replaced several placeholders with real command wiring: `catalog info/search` now query the catalog backend, and `facade inspect/check/report` now run actual facade logic (including `--deny-warnings` failure behavior). Updated interactive root behavior so `--yes` without a subcommand runs a safe default `doctor .` flow, while non-interactive mode still requires an explicit command.

Also standardized staged output markers for not-yet-wired CI/catalog paths, tightened utils module visibility to `pub(crate)`, removed the unused `yaml_serde` dependency, and expanded integration coverage across catalog, CI, docs, facade, ferris, list, and root `--yes` behavior.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants