Summary
Migrate operational content out of the public esolia/.github profile repo into two new private repos, eliminating public exposure of private repo names, CI architecture, and internal tooling.
Problem
The public .github repo currently exposes:
- All consumer repo names (pulse, periodic, nexus, courier, etc.) in sync and audit scripts
- Internal repo structures (
packages/hanawa-cms/, /security/assessment/)
- CI/CD pipeline architecture (scanner configs, OPA policies, evidence sink)
- Claude rules/commands revealing internal coding standards
- ASVS assessment tooling showing which security controls we check
Target state
| Repo |
Visibility |
Purpose |
.github |
public |
Profile README + community health files only |
devkit |
private (new) |
Reusable workflows, sync engine, Claude rules/commands, dev scripts, ast-grep rules, templates, evidence pipeline |
opskit |
private (new) |
PowerShell scripts (M365/Entra), batch/shell ops tools, signed tool releases |
core |
private (unchanged) |
Runtime TypeScript library (@esolia/core) |
Migration phases
- Create repos — scaffold
devkit and opskit with starter structure
- Migrate dev content — copy workflows, scripts, rules from
.github to devkit
- Migrate ops content — consolidate scattered PowerShell scripts into
opskit
- Update sync engine — repoint
sync.ts to reference devkit instead of .github
- Update consumers — update all consumer repos to reference
devkit workflows
- Clean up
.github — remove operational content, reduce to profile only
Acceptance criteria
InfoSec: eliminates public exposure of internal repo names, CI architecture, and security tooling configuration
Summary
Migrate operational content out of the public
esolia/.githubprofile repo into two new private repos, eliminating public exposure of private repo names, CI architecture, and internal tooling.Problem
The public
.githubrepo currently exposes:packages/hanawa-cms/,/security/assessment/)Target state
.githubdevkitopskitcore@esolia/core)Migration phases
devkitandopskitwith starter structure.githubtodevkitopskitsync.tsto referencedevkitinstead of.githubdevkitworkflows.github— remove operational content, reduce to profile onlyAcceptance criteria
devkitexists with all reusable workflows, scripts, and Claude rulesopskitexists with PowerShell script scaffoldingdevkitworkflows (not.github).githubcontains only profile README and community health filesgrepacross.githubfor private repo names returns nothingInfoSec: eliminates public exposure of internal repo names, CI architecture, and security tooling configuration