mirror of
https://github.com/microsoft/BCQuality.git
synced 2026-10-05 14:46:55 +01:00
Setup v7: BCQuality knowledge-mirror er maskin-lokal, ikke repo-lokal
- curabis-standard.agent.md v6 -> v7: mirror deployes til ~/.claude/bcquality-knowledge/ (delt af alle repoer paa maskinen) i stedet for .github/.agents/bcquality-knowledge/ i hvert repo - CLAUDE.md-templaten peger paa maskin-mirroren via %USERPROFILE% (aldrig literal udviklersti) og faar self-heal-instruktion - Mode B: v6-aera-oprydning (fjern committet repo-mirror, gitignore stien, foreslaa CLAUDE.md-migrering) + genkend hardcodede udviklerstier og raa-URL-lister som foraeldede CLAUDE.md-former - sync-bcquality-knowledge.ps1: fast destination $env:USERPROFILE \.claude\bcquality-knowledge i stedet for $PSScriptRoot-relativ (det var dobbelttydigheden der skabte repo-mirrors) - Ny regel: bcquality-knowledge-must-mirror-to-machine-not-repo - Setup-artefakter skal fetches som raa bytes (Invoke-WebRequest -OutFile) - aldrig via strengindhold, som dobbelt-encoder UTF-8 Begrundelse: udviklere skifter repo mange gange dagligt; N repo- mirrors er permanent ude af sync, een maskin-mirror kraever een sync pr. upstream-aendring. CI/cloud-agenter henter selv reglerne via .github/bcquality.config.yaml. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
4ee1af5d12
commit
41c6187c4f
3 changed files with 153 additions and 39 deletions
|
|
@ -0,0 +1,68 @@
|
|||
---
|
||||
bc-version: [all]
|
||||
domain: architecture
|
||||
keywords: [bcquality, knowledge-mirror, machine-local, repo-hygiene, sync, curabis-standard, claude-md]
|
||||
technologies: [al]
|
||||
countries: [w1]
|
||||
application-area: [all]
|
||||
---
|
||||
|
||||
## Description
|
||||
|
||||
The three-layer BCQuality knowledge mirror (custom/community/microsoft +
|
||||
INDEX.md) can technically live in two places: inside each project repository
|
||||
(`.github/.agents/bcquality-knowledge/`, setup v6) or once per developer
|
||||
machine (`~/.claude/bcquality-knowledge/`, setup v7+). CURABIS developers
|
||||
switch between many repositories every day. With per-repo mirrors, every repo
|
||||
carries its own copy that goes stale on its own schedule — N repos are
|
||||
permanently out of sync with each other and with upstream, every re-sync
|
||||
pollutes the project's git history with hundreds of files of upstream rule
|
||||
churn, and a review can be judged by whichever rule vintage that particular
|
||||
repo happens to carry.
|
||||
|
||||
## Rule
|
||||
|
||||
The BCQuality knowledge mirror is machine-local, never repo-local. It lives at
|
||||
`~/.claude/bcquality-knowledge/` on each developer's machine, populated by
|
||||
`~/.claude/sync-bcquality-knowledge.ps1`, and is shared by every CURABIS repo
|
||||
on that machine. One sync per machine per upstream change covers all repos.
|
||||
|
||||
Project CLAUDE.md files point at the machine mirror using
|
||||
`~/.claude/...` / `%USERPROFILE%` — never a literal `C:\Users\<name>\...`
|
||||
path — and include the self-heal instruction (if the mirror or sync script is
|
||||
missing, fetch the script as raw bytes from BCQuality and run it) so a fresh
|
||||
clone works on a fresh machine.
|
||||
|
||||
CI and cloud agents have no developer machine: they fetch the rules themselves
|
||||
via `.github/bcquality.config.yaml` (repo + ref + enabled-layers) — not from a
|
||||
committed mirror.
|
||||
|
||||
## What NOT to do
|
||||
|
||||
- Do not commit `.github/.agents/bcquality-knowledge/` (or any knowledge
|
||||
mirror) into a project repository
|
||||
- Do not point a project CLAUDE.md at one developer's literal profile path
|
||||
(`C:\Users\mid\...`) — that breaks every other developer on the project
|
||||
- Do not deploy `sync-bcquality-knowledge.ps1` into `.github/.agents/` — its
|
||||
destination follows the script's own location, which is what created
|
||||
repo-local mirrors in the first place
|
||||
- Do not assume "the repo builds, so the rules are current" — mirror freshness
|
||||
is a machine concern, gated by the machine's BCQuality version marker
|
||||
|
||||
## Signal to watch for
|
||||
|
||||
At session start or during Mode B, any of these means the project predates
|
||||
setup v7 and needs the Mode B v6-era cleanup (remove the repo mirror,
|
||||
gitignore the path, repoint CLAUDE.md at the machine mirror):
|
||||
|
||||
- `.github/.agents/bcquality-knowledge/` exists in the repository
|
||||
- CLAUDE.md contains a literal developer profile path (`C:\Users\<name>\.claude\...`)
|
||||
- CLAUDE.md points its BCQuality section at `.github/.agents/bcquality-knowledge/`
|
||||
|
||||
## Message to developer
|
||||
|
||||
When a repo-local mirror or hardcoded mirror path is found, tell the developer
|
||||
before continuing: this repo uses an obsolete BCQuality mirror model
|
||||
(repo-local mirror and/or hardcoded developer path in CLAUDE.md); the standard
|
||||
is the machine-local mirror in `~/.claude/bcquality-knowledge/`; offer to run
|
||||
"Opdater CURABIS Standard fra BCQuality" to migrate now.
|
||||
Loading…
Add table
Add a link
Reference in a new issue