feat: organize CLI help commands into logical groups #317
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
As a new user, I felt overwhelmed by the variety of subcommands. Lots of check* options mixed in with audit and verify. At a certain level, "check" and "verify" feel like synonyms. The --help didn't help me build a mental model for how the subcommands should be used in a workflow.
In this change, I organized the sourcetool CLI help output into four logical command groups to hopefully improve comprehension and user experience.
Changes
Command Groups
Verification Commands (2 commands)
audit
- Verifies multiple commits in the branch historyverifycommit
- Verifies the specified commit is validAssessment Commands (5 commands)
status
- Check the SLSA Source status of a repo/branchchecklevel
- Determines the SLSA Source Level of the repochecklevelprov
- Checks the given commit against policy using & creating provenancechecktag
- Checks to see if the tag operation should be allowed and issues a VSAprov
- Creates provenance for the given commit, but does not check policyPolicy Commands (2 commands)
policy
- tools to work with source policiescreatepolicy
- Creates a policy in a local copy of source-policiesConfiguration & Setup Commands (2 commands)
auth
- Manage user authenticationsetup
- configure SLSA source features in a repositoryImplementation Details
AddGroup
feature (supported in v1.10.1+)GroupID
to categorize itRationale
Why move
status
to Assessment?status
reads GitHub API controls, not VSAs (same data sources aschecklevel
)checklevel
- both evaluate controls to determine SLSA levelstatus
is essentially a read-only version ofchecklevel
Why "Assessment" instead of "Evaluation"?
Testing
Before/After
Before:
After:
Generated with assistance from Claude Code