Summary
Allow each org that forks the blueprint to define their own blended salary rates for manager and user roles. All ROI values in the catalog and READMEs auto-recalculate based on those rates — so every org's time savings numbers reflect their actual labor costs.
Cross-posted from OITApps/claude-config#21 (reference implementation).
Why This Matters for Blueprint Adopters
A law firm at $120k/yr blended sees 3× the dollar ROI of an MSP at $55k/yr for the same tool. Hardcoded rates make the ROI numbers meaningless to anyone who isn't OIT. Configurable rates make every org's README a credible business case.
What Ships in the Blueprint
salary-config.json template with placeholder values and setup instructions
- CODEOWNERS stub:
salary-config.json @YOUR-ORG/admins — restrict to repo admins so no one self-approves a salary bump
scripts/calculate-roi.js — reads config + catalog, writes computed ROI values to catalog entries and README rollup
npm run roi shortcut
- GitHub Action that runs
calculate-roi on every merge to main
- README section: "Configuring ROI for your org"
Salary Config Format
{
"salaries": {
"user": { "annual": 70000, "hourly": 33.65 },
"manager": { "annual": 85000, "hourly": 40.87 }
},
"currency": "USD",
"last_updated": "YYYY-MM-DD",
"updated_by": "your@email.com"
}
Security
salary-config.json is CODEOWNERS-protected. Any PR modifying it requires review from the designated admin/approver team. Each forked org sets their own team — OITApps uses @oitray, Acme Widget Co sets @acme/admins. No one can change the salary basis without an approver sign-off.
Acceptance Criteria
Summary
Allow each org that forks the blueprint to define their own blended salary rates for manager and user roles. All ROI values in the catalog and READMEs auto-recalculate based on those rates — so every org's time savings numbers reflect their actual labor costs.
Cross-posted from OITApps/claude-config#21 (reference implementation).
Why This Matters for Blueprint Adopters
A law firm at $120k/yr blended sees 3× the dollar ROI of an MSP at $55k/yr for the same tool. Hardcoded rates make the ROI numbers meaningless to anyone who isn't OIT. Configurable rates make every org's README a credible business case.
What Ships in the Blueprint
salary-config.jsontemplate with placeholder values and setup instructionssalary-config.json @YOUR-ORG/admins— restrict to repo admins so no one self-approves a salary bumpscripts/calculate-roi.js— reads config + catalog, writes computed ROI values to catalog entries and README rollupnpm run roishortcutcalculate-roion every merge to mainSalary Config Format
{ "salaries": { "user": { "annual": 70000, "hourly": 33.65 }, "manager": { "annual": 85000, "hourly": 40.87 } }, "currency": "USD", "last_updated": "YYYY-MM-DD", "updated_by": "your@email.com" }Security
salary-config.jsonis CODEOWNERS-protected. Any PR modifying it requires review from the designated admin/approver team. Each forked org sets their own team — OITApps uses@oitray, Acme Widget Co sets@acme/admins. No one can change the salary basis without an approver sign-off.Acceptance Criteria
salary-config.jsontemplate ships with blueprintscripts/calculate-roi.jsincluded and documented