Skip to content

Auto-force refresh and isolate experimental repo dir#509

Open
dustinvannoy-db wants to merge 1 commit intoexperimentalfrom
fix/experimental-install-force
Open

Auto-force refresh and isolate experimental repo dir#509
dustinvannoy-db wants to merge 1 commit intoexperimentalfrom
fix/experimental-install-force

Conversation

@dustinvannoy-db
Copy link
Copy Markdown
Collaborator

Summary

Two related changes so experimental installs always pick up the latest skills without clobbering the stable install:

  1. Separate clone directory for experimental — experimental installs now clone into ~/.ai-dev-kit/experimental-repo instead of ~/.ai-dev-kit/repo. Stable and experimental installs no longer fight over the same checkout, so a user can have both side-by-side.

  2. Default FORCE=true on experimental installs — only when the user did not explicitly pass --force or set DEVKIT_FORCE. Previously, the skills-only code path only cloned when the repo dir was missing, so reruns kept stale skill content. Now when FORCE=true, that path also refreshes via git fetch + reset --hard FETCH_HEAD, falling back to delete + re-clone if reset fails. Stable installs are unchanged.

Behavior matrix

Invocation REPO_DIR FORCE
install.sh (stable) ~/.ai-dev-kit/repo false
install.sh --experimental ~/.ai-dev-kit/experimental-repo true (auto)
install.sh --force ~/.ai-dev-kit/repo true (explicit)
DEVKIT_FORCE=false install.sh --experimental ~/.ai-dev-kit/experimental-repo false (explicit env wins)
install.ps1 --experimental (Windows) %USERPROFILE%\.ai-dev-kit\experimental-repo true (auto)

Test plan

  • Fresh install.sh --experimental clones into ~/.ai-dev-kit/experimental-repo
  • Rerunning install.sh --experimental refreshes the existing experimental-repo (not silently using stale content)
  • install.sh (stable) still uses ~/.ai-dev-kit/repo and does not auto-force
  • DEVKIT_FORCE=false install.sh --experimental does NOT refresh the cached repo (explicit env wins)
  • install.ps1 --experimental clones into %USERPROFILE%\.ai-dev-kit\experimental-repo
  • Rerunning install.ps1 --experimental refreshes the existing experimental-repo
  • Both paths still clone fresh when the repo dir doesn't exist

This pull request and its description were written by Isaac.

Two related changes for experimental installs:

1. Use a separate clone dir for experimental (~/.ai-dev-kit/experimental-repo)
   so it doesn't clobber the stable ~/.ai-dev-kit/repo. Both install.sh and
   install.ps1 derive REPO_DIR/$RepoDir from the channel after arg parsing,
   and the prompt_mcp_path / Invoke-PromptMcpPath re-derivations also honor
   the channel.

2. Default FORCE=true on experimental installs (unless the user explicitly
   passed --force or set DEVKIT_FORCE). Previously, the skills-only path
   only cloned when the repo dir was missing, so reruns kept stale skills.
   Now when FORCE=true, that path also refreshes via fetch + reset --hard
   (falling back to delete + clone). Stable installs are unchanged.

Co-authored-by: Isaac
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant