Problem
primer.config.json supports areas, policies, and defaults — but there's no command to scaffold one. A new user discovering the config format has to read docs and write it manually. Compare with primer eval --init which scaffolds primer.eval.json from analysis.
Suggestion
Add primer init --config (or primer generate config) that:
- Runs
analyzeRepo() to detect monorepo areas
- Generates a
primer.config.json with detected areas and sensible defaults
- Uses
safeWriteFile() with --force semantics
Example output:
{
"areas": [
{ "name": "frontend", "description": "React frontend app", "applyTo": ["apps/web/**"] },
{ "name": "api", "description": "Express API server", "applyTo": ["packages/api/**"] }
],
"policies": []
}
This mirrors the eval --init pattern and helps users discover the config format.
Problem
primer.config.jsonsupports areas, policies, and defaults — but there's no command to scaffold one. A new user discovering the config format has to read docs and write it manually. Compare withprimer eval --initwhich scaffoldsprimer.eval.jsonfrom analysis.Suggestion
Add
primer init --config(orprimer generate config) that:analyzeRepo()to detect monorepo areasprimer.config.jsonwith detected areas and sensible defaultssafeWriteFile()with--forcesemanticsExample output:
{ "areas": [ { "name": "frontend", "description": "React frontend app", "applyTo": ["apps/web/**"] }, { "name": "api", "description": "Express API server", "applyTo": ["packages/api/**"] } ], "policies": [] }This mirrors the
eval --initpattern and helps users discover the config format.