diff --git a/core/mcp/modules/FrameworkIntegrity.psm1 b/core/mcp/modules/FrameworkIntegrity.psm1 index 0ee93475..0144f60c 100644 --- a/core/mcp/modules/FrameworkIntegrity.psm1 +++ b/core/mcp/modules/FrameworkIntegrity.psm1 @@ -23,13 +23,11 @@ $script:ProtectedPaths = @( '.bot/core', '.bot/hooks', - '.bot/recipes', '.bot/settings/providers', '.bot/settings/settings.default.json', '.bot/settings/theme.default.json', '.bot/go.ps1', '.bot/init.ps1', - '.bot/workflow.yaml', '.bot/.gitignore', '.bot/.manifest.json', '.bot/README.md' diff --git a/scripts/init-project.ps1 b/scripts/init-project.ps1 index f9f8e2cc..c176b4fc 100644 --- a/scripts/init-project.ps1 +++ b/scripts/init-project.ps1 @@ -1267,7 +1267,14 @@ if ($LASTEXITCODE -ne 0) { $dirty = git -C $ProjectDir status --porcelain -- @stagePaths 2>$null if ($dirty) { Write-DotbotCommand "Committing framework file updates..." - git -C $ProjectDir add -- @stagePaths 2>$null + # Filter to paths that actually exist so git add never aborts on a + # missing pathspec (e.g. retired paths still listed in an old manifest). + $existingStagePaths = $stagePaths | Where-Object { + Test-Path -LiteralPath (Join-Path $ProjectDir $_) + } + if ($existingStagePaths) { + git -C $ProjectDir add -- @existingStagePaths + } $rc = Submit-ForceCommit -Root $ProjectDir -Message "chore: update dotbot framework files" if ($rc -eq 0) { Write-Success "Framework update committed"