Files
Orchestrator/docs/MONOREPO-HEALTH-CHECKLIST.md

101 lines
3.9 KiB
Markdown

# Monorepo Health Checklist
Run this review periodically (recommended: every 2 weeks or at the start of a focused sprint).
## Quick Health Check (5 min)
```powershell
$env:PATH = "C:\Users\AndreKnie\AppData\Local\GitHubDesktop\app-3.5.8\resources\app\git\cmd;" + $env:PATH
cd "c:\Users\AndreKnie\OneDrive - Deutsche Bahn\Coden\Orchestrator"
# 1. Git status overview
git status --short | Measure-Object -Line
# 2. Untracked files by category
git status --short | Where-Object { $_ -match '^\?\?' } | ForEach-Object { ($_ -replace '^\?\?\s+"?([^/"]+).*', '$1') } | Sort-Object -Unique
# 3. Branches
git branch -v
# 4. Ahead/behind origin
git log --oneline origin/master..master | Measure-Object -Line
```
## Component Inventory (10 min)
| Check | Command | Expected |
|-------|---------|----------|
| All components have COMPONENT.md | `Get-ChildItem -Recurse -Filter COMPONENT.md` | 18 files |
| No stray .git folders (except root) | `Get-ChildItem -Recurse -Filter .git -Directory` | Only root `.git/` |
| README presence | Check each component | All have README.md |
| Package files valid | `npm ls` / `pip check` per component | No broken deps |
## Context Folders
| Context | Expected Contents | Check |
|---------|-------------------|-------|
| bahn/ | aisupport, Analyse-O2C-C2S, awesome-bahn-mcp-servers, beam-mcp, Confluence_Bot, db-planet-mcp-server, knowledge/, O2C-Harness, project-audit, teamlandkarte-mcp, wissensdatenbank | `Get-ChildItem bahn -Name` |
| dhive/ | Jury-Voting, knowledge/, Projekt-KIQ-HP | `Get-ChildItem dhive -Name` |
| privat/ | CV, knowledge/, NoteGraph | `Get-ChildItem privat -Name` |
| shared/ | AI-Orchestrator, config/, OrgMyLife, power_skills_and_more, references/, tools/ | `Get-ChildItem shared -Name` |
## Upstream Sync Status
Components with external upstreams need periodic sync:
| Component | Upstream | Sync Method |
|-----------|----------|-------------|
| bahn/wissensdatenbank | git.tech.rz.db.de/einfachbahn-lab/tools/wissensdatenbank | `git subtree pull --prefix=bahn/wissensdatenbank wissensdatenbank main --squash` |
| privat/CV | github.com/DoctoDre/CV | Add remote, fetch, `git read-tree --prefix=privat/CV/ -u cv/main` |
| dhive/Jury-Voting | github.com/DoctoDre/Jury-Voting | Manual copy or subtree |
| bahn/project-audit | git.tech.rz.db.de/AndreKnie/project-audit | Manual copy (DB GitLab) |
## Steering Files
Expected set in `.kiro/steering/`:
- `bahn-context.md` (fileMatch: bahn/**)
- `brevity.md` (manual)
- `component-docs.md` (fileMatch: **/**)
- `git-path.md` (always)
- `mcp-servers.md` (auto)
- `session-context.md` (auto)
- `workspace-context.md` (auto)
- `workspace-notes.md` (always)
## Secrets & Security
- [ ] `.secrets` exists and is gitignored
- [ ] `remarkable_token.json` is gitignored
- [ ] No plaintext secrets in tracked files: `git grep -l "password\|token\|secret\|api_key" -- ':!.secrets' ':!*.md'`
- [ ] No `Token extern.md` or similar files in `Coden/` root
## Knowledge Store Health
- [ ] Each context has `knowledge/` with `_index.yaml`
- [ ] Inbox items are being processed (not piling up indefinitely)
- [ ] `bahn/knowledge/inbox/` count is reasonable (check with `(Get-ChildItem bahn\knowledge\inbox -File).Count`)
## Workspace Consistency
- [ ] `Coden/.kiro/steering/workspace-context.md` exists for Coden workspace
- [ ] `Orchestrator/.kiro/steering/` has all 8 files
- [ ] `privat/CV/.kiro/steering/` exists for CV workspace
- [ ] No stale folders in `Coden/` (only `.kiro/` and `Orchestrator/`)
## Monorepo CLI
```powershell
cd shared\tools\monorepo-cli
python -m pytest tests/test_artifact.py tests/test_capture.py tests/test_bridge.py -x --tb=short -q
```
Expected: All pass (72+ tests).
## Actions After Review
1. Commit any untracked COMPONENT.md or generated files that should be tracked
2. Push to origin if ahead
3. Merge or close stale feature branches
4. Update `session-context.md` with current priorities
5. Run `ctx-guard components scan` to regenerate architecture overview