Add a Spectre.Console CLI (bld) for the Build submodule - #1
Merged
Conversation
Introduce buildcli with init, update, status, and tags commands so parent repos can add Ingenium Build and pin it to the latest or a specific tag. Include install scripts, CI, and git-backed tests. Co-authored-by: Matthew Abbott <[email protected]>
Repair can stash local submodule changes, reset to the parent-recorded HEAD, or fully re-initialize at a tagged version. Build invokes the Cake host in apps/Build. Extension scaffolds the build-extensions layout the Build submodule already imports. Co-authored-by: Matthew Abbott <[email protected]>
A command-less `bld` now routes to `build`, but only after checking that the Build submodule is registered and initialized. Help and version still work without starting a build. Co-authored-by: Matthew Abbott <[email protected]>
Antaris
marked this pull request as ready for review
August 16, 2026 11:28
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
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.
Adds
bld, a cross-platform C# CLI for adding, updating, repairing, and running the Ingenium Build git submodule ([email protected]:IngeniumSE/Build.git) in a parent repository.A bare
bld(no command) runsbuildafter verifying that the Build submodule is initialized. If it is missing, the CLI stops and tells you to runbld init.bld --helpandbld --versionare unchanged.Commands
bld— same asbld build(Default Cake target), after an init checkbld init— add the submodule, defaulting to the latest tagbld init --tag v1.2.3— add the submodule pinned to a specific tag, branch, or commitbld update— move an existing submodule to the latest tagbld update --tag v1.2.3— pin an existing submodule to a specific versionbld status— show path, URL, commit, current tag, and whether it is up to datebld tags— list tags advertised by the Build remotebld repair --strategy stash— stash local submodule changes, then restore the parent-recorded commitbld repair --strategy reset --yes— discard local changes and restore the parent-recorded HEADbld repair --strategy reinit --tag v1.2.3 --yes— delete and clone the submodule again at a tagged versionbld build [TARGET]— run the Cake host inapps/Build(same path./build.shuses)bld extension [NAME]— scaffoldbuild-extensions/{Name}BuildExtensionsfor the Build host wildcard importExisting
build/Buildsubmodule paths are detected automatically.init,update, andrepairstage.gitmodulesand the gitlink, but do not create a commit.Installer foundation
scripts/install.shandscripts/install.ps1publish a self-containedbldbinary and place it on PATH. The project is also packable as a .NET global tool (ToolCommandName=bld).Validation
dotnet test— 58 passing tests, including default-command routing and the pre-build submodule guard.