feat: flavor-correct rmgr scaffold; record C-15/C-23 file-wins
RMGR-WP-0004-T03: project repos get GOAL.md and a required prefix. RMGR-WP-0005-T06 implemented in state-hub consistency.
This commit is contained in:
parent
0c5177ec4c
commit
a6d4a9b615
6 changed files with 294 additions and 3 deletions
|
|
@ -75,6 +75,15 @@ def main(argv: list[str] | None = None) -> int:
|
|||
p_pref.add_argument("--root", default=".", help="Fleet root or a single repository")
|
||||
p_pref.add_argument("--registry", default=None, help="Override prefix registry YAML")
|
||||
|
||||
p_scaf = sub.add_parser("scaffold", help="Create flavor-correct repository baseline files")
|
||||
p_scaf.add_argument("--path", required=True)
|
||||
p_scaf.add_argument("--flavor", required=True, choices=["experimental", "research", "project", "tooling", "product", "business"])
|
||||
p_scaf.add_argument("--slug", default=None)
|
||||
p_scaf.add_argument("--domain", default="infotech")
|
||||
p_scaf.add_argument("--wp-prefix", default=None)
|
||||
p_scaf.add_argument("--force", action="store_true")
|
||||
p_scaf.add_argument("--no-commit", action="store_true")
|
||||
|
||||
args = parser.parse_args(argv)
|
||||
|
||||
if args.version or args.command in (None, "version"):
|
||||
|
|
@ -214,6 +223,21 @@ def main(argv: list[str] | None = None) -> int:
|
|||
print(json.dumps(report, indent=2))
|
||||
return 0 if report.get("ok") else 1
|
||||
|
||||
if args.command == "scaffold":
|
||||
from repo_manager.commands.scaffold import scaffold_repository
|
||||
|
||||
result = scaffold_repository(
|
||||
Path(args.path),
|
||||
flavor=args.flavor,
|
||||
slug=args.slug,
|
||||
domain=args.domain,
|
||||
wp_prefix=args.wp_prefix,
|
||||
force=args.force,
|
||||
commit=not args.no_commit,
|
||||
)
|
||||
print(json.dumps(result.to_dict(), indent=2))
|
||||
return 0 if result.status == "applied" else 1
|
||||
|
||||
parser.print_help()
|
||||
return 0
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue