v24: flyt roster-agenter, .mcp.json og find-altool.ps1 fra repo til maskine

19 af 21 agent-filer, de to standard MCP-servere (al, businesscentral) og
find-altool.ps1 var byte-identiske kopier duplikeret ind i hvert af de 14
CURABIS-repos. De flyttes til ~/.claude/ (én kopi pr. maskine i stedet for
pr. repo), gated paa den eksisterende .github/.agents/bcquality.agent.md-
markoer. Kun bcquality.agent.md og feynman.agent.md forbliver repo-lokale
(Mode C support-brugere har intet ~/.claude/ at laese globalt indhold fra),
og CLAUDE.md's machine-self-heal-blok forbliver repo-lokal (den installerer
selve den globale fil, kan ikke ligge i den).

find-altool.ps1 finder nu repo-roden ved cwd-walkup til en .AL-Go-markoer
i stedet for sin egen placering, og MCP-registrering sker idempotent via
`claude mcp add --scope user`. Mode B faar en engangs-migreringssektion for
de 14 eksisterende v23-repos; .mcp.json-oprydningen kraever eksplicit
bekraeftelse af at alle udviklere paa repoet har migreret foerst, da filen
er delt.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Michael Dieringer 2026-07-30 13:06:58 +02:00
parent 34d9d765d0
commit 11b4e2ec99
5 changed files with 591 additions and 402 deletions

View file

@ -1,53 +0,0 @@
# find-altool.ps1 - CURABIS-artefakt (deployes fra BCQuality, ikke genereret
# af AL-extensionen - der findes ingen VS Code-kommando til dette).
#
# Finder altool.exe dynamisk i den NYESTE installerede AL Language extension
# og videresender alle argumenter. Scriptet er cwd-agnostisk: det ligger i
# <repo>\.vscode\ og kan derfor selv udlede repo-roden ($PSScriptRoot\..).
#
# Specialargument 'auto': erstattes med alle AL-projektmapper fundet under
# repoets apps-mappe (.apps/Apps/apps - mapper med app.json). Dermed er
# .mcp.json-entryen identisk paa tvaers af alle repos:
# ... find-altool.ps1 launchmcpserver auto --transport stdio
#
# BEMAERK: altool launchmcpserver KRAEVER projektstier - uden doer serveren.
$ext = Get-ChildItem "$env:USERPROFILE\.vscode\extensions" -Filter "ms-dynamics-smb.al-*" -Directory |
Sort-Object { [version]($_.Name -replace '^ms-dynamics-smb\.al-', '' -replace '-.*$', '') } -Descending |
Select-Object -First 1
if (-not $ext) {
Write-Error "AL Language extension ikke fundet. Installer ms-dynamics-smb.al fra VS Code Marketplace."
exit 1
}
$altool = Join-Path $ext.FullName "bin\win32\altool.exe"
if (-not (Test-Path $altool)) {
Write-Error "altool.exe ikke fundet i $($ext.FullName) - opdater AL-extensionen (MCP-serveren kraever en nyere version)."
exit 1
}
if ($args -contains 'auto') {
$repo = Split-Path $PSScriptRoot
$projects = @()
foreach ($appsName in @('.apps', 'Apps', 'apps')) {
$appsDir = Join-Path $repo $appsName
if (Test-Path $appsDir) {
$projects += Get-ChildItem $appsDir -Directory |
Where-Object { Test-Path (Join-Path $_.FullName 'app.json') } |
ForEach-Object { $_.FullName }
}
}
if (-not $projects) {
Write-Error "Ingen AL-projektmapper (med app.json) fundet under $repo\.apps|Apps|apps."
exit 1
}
$resolved = @()
foreach ($a in $args) {
if ($a -eq 'auto') { $resolved += $projects } else { $resolved += $a }
}
& $altool @resolved
} else {
& $altool @args
}