feat: add CLAUDE.md to repo health check, flag unwanted files

- CLAUDE.md now required (5 pts)
- Makefile now required (3 pts)
- Removed profile.ps1 and .mcp.json from required files
- Added negative checks: .mcp.json, TODO.md, renovate.json, .claude/
  flagged if committed

Authored-by: Moko Consulting
This commit is contained in:
Jonathan Miller
2026-05-10 15:03:26 -05:00
parent f5d35e10d9
commit 15de3eed96
+14 -3
View File
@@ -13,7 +13,7 @@
* BRIEF: Repository health checker — validates against current Moko standards (wiki-first, no docs/)
*
* Categories (135 total points):
* Required Files (40) — README, LICENSE, CHANGELOG, CONTRIBUTING, SECURITY, profile.ps1, .mcp.json, .gitignore
* Required Files (40) — README, LICENSE, CHANGELOG, CONTRIBUTING, SECURITY, CLAUDE.md, .gitignore, Makefile
* Manifest & Config (15) — .moko-platform, workflows dir, README content, CODE_OF_CONDUCT
* Documentation (10) — wiki-first: docs/ must NOT exist
* Disallowed (10) — TODO.md, vendor/, node_modules/
@@ -104,11 +104,22 @@ class RepoHealthChecker extends CliFramework
foreach ([
'README.md' => 8, 'LICENSE' => 8, 'CHANGELOG.md' => 5,
'CONTRIBUTING.md' => 5, 'SECURITY.md' => 5,
'profile.ps1' => 4, '.mcp.json' => 3, '.gitignore' => 2,
'CONTRIBUTING.md' => 4, 'SECURITY.md' => 4,
'CLAUDE.md' => 5, '.gitignore' => 3,
'Makefile' => 3,
] as $file => $pts) {
$this->addCheck($cat, "{$file} exists", file_exists("{$p}/{$file}"), $pts);
}
// Negative checks — files that should NOT be committed
foreach (['.mcp.json', 'TODO.md', 'renovate.json'] as $bad) {
if (file_exists("{$p}/{$bad}")) {
$this->addCheck($cat, "{$bad} should not be committed", false, 0);
}
}
if (is_dir("{$p}/.claude")) {
$this->addCheck($cat, '.claude/ should not be committed', false, 0);
}
}
// ── Manifest & Config (15 pts) ───────────────────────────────────