Add accessible Author CLI with full AuthorTool parity - #1
Draft
buu420 wants to merge 12 commits into
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
AccessibilityModManager.Authoringassembly so the graphical tool and command line use the same validation, trust gates, and publishing workflowsamm-author, an accessible, scriptable Windows CLI covering project, author, game, dependency, lifecycle script, package, release, index, GitHub, Patreon, server, and signing workflowsamm-author-adminvariant for signed global-registry maintenance; ordinary builds cannot perform privileged registry mutationsWhy
Authoring and publishing were available only through the WPF AuthorTool. That made the workflow difficult to use nonvisually and impossible to automate safely. The underlying services were also coupled to the GUI project, so adding a thin CLI alone would have duplicated policy and risked behavior drifting between interfaces.
This change moves the shared behavior into one non-UI authoring layer, then makes both interfaces call that layer. The CLI therefore preserves the same package validation, signing, trust, locking, reconciliation, and publication rules instead of creating a second implementation.
Behavior and compatibility
master/ manager 1.18.1, preserving the newer catalog-source work--yesconfirms an already validated operation; it does not bypass safety or trust checksValidation
dotnet test AccessibilityModManager.slnx -c Release --no-restoreinstaller/build-author-cli.ps1 -SelfContainedinstaller/build-author-cli.ps1 -SelfContained -Adminrelease publishto build, validate, upload, reconcile, save, publish, and live-verify both Blind Soldier 0.1.1 x64 and x86 packages and their catalog entriesReview notes
The commits are intentionally layered: design and plan, shared-service extraction, CLI foundation, command groups, complete publication workflow, admin/signing support, parity hardening, then packaging. The two design documents under
docs/superpowersdescribe command coverage, trust boundaries, and the rollout in detail.