feat(tools): add upgrade subcommand for in-place AI-DLC install upgrades#535
Open
Rwindows wants to merge 2 commits into
Open
feat(tools): add upgrade subcommand for in-place AI-DLC install upgrades#535Rwindows wants to merge 2 commits into
upgrade subcommand for in-place AI-DLC install upgrades#535Rwindows wants to merge 2 commits into
Conversation
…rades
Replaces the manual "download the release zip and `cp -r dist/<harness>/`
into your project" recipe every prior CHANGELOG entry has documented. One
command fetches the newest tag in the installed major series from the
upstream tags API, auto-detects the harness (.claude / .kiro / .codex),
and copies new files in — PRESERVING any file whose local bytes differ
from the incoming upstream file (the user-modification signal).
Two shapes:
aidlc-utility upgrade → run the upgrade (writes files)
aidlc-utility upgrade --dry-run → preview only, no writes
Design notes:
- Uses the tags API, not `releases/latest` (which answers the v1 line
for this repo); picks the newest v<installed-major>.* tag.
- Cross-major (2.x → 3.x) upgrades are refused deliberately; pre-
release tags (-rc1, etc.) are filtered out.
- Installed version is read from the target project's aidlc-version.ts,
not the tool binary's imported constant, so `upgrade` reports the
truth for the install being operated on even when invoked from
outside it.
- No backup dir is created — users bring their own snapshot (git
commit, manual copy) if they want rollback insurance. Standard
"trust your VCS" default.
- System `tar` for extraction; Windows requires Git Bash or WSL.
Bumps aidlc-version.ts (2.2.10 → 2.2.11), CHANGELOG heading, and the
README badge in the same commit per changelog policy (t68 pin).
upgrade subcommand for in-place AI-DLC install upgrades
…issues - Remove leftover conflict markers from CHANGELOG.md (lines 92-95) - Remove trailing whitespace in README.md line 64 - Remove extra blank line at EOF in t-ide-kiro-checkpoint.serial.test.ts These are cleanup changes for v2 to allow PR awslabs#535 to merge cleanly.
Author
|
conflicts resolved |
Author
|
@apackeer this is resolved please take a look at it. |
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
Adds a new
upgradesubcommand toaidlc-utilitythat replaces the manual "download the release zip andcp -r dist/<harness>/into your project" recipe every prior CHANGELOG entry has documented. One command fetches thenewest tag in the installed major series from the upstream tags API, auto-detects the harness (
.claude/.kiro/.codex), and copies new files in — preserving any file the user has modified.Two shapes:
aidlc-utility upgrade— runs the upgrade (writes files)aidlc-utility upgrade --dry-run— preview only, no writesMotivation
Every
## [N.N.N]release note in this repo ends with the same line: "Upgrade: re-copy yourdist/<harness>/shell into the project." That manual step is universal — every AI-DLC user hits it on every release. This PR
turns it into one command.
Design decisions
releases/latest. Thereleases/latestendpoint answers the v1 line for this repo; the tagsAPI is the honest source for v2 development.
aidlc-version.ts, not the tool binary's importedconstant.
v2.3.0-rc1is ignored.Keeps the harness dir clean.
copy wins.
--harness <name>overrides when multiple are present.Verification
tests/unit/t213-upgrade-subcommand.test.ts) cover all shapes with mocked GitHub + realfilesystem.
modified
settings.local.json; both preserved untouched.bun scripts/package.ts --checkclean (dist trees regenerated).bun tests/run-tests.ts --smoke --unit: 140 files / 2409 assertions / 0 failures.t68-version-changelog-syncpasses (version bump / CHANGELOG / README badge in sync).Notes
tarfor extraction).By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution,
under the terms of the project license.