Files
Jon Chery 83883076ff feat(P01): nova init scaffold (REQ-325, cli-engineer)
- core/init_scaffold.py: scaffold(root, force) creates .nova/,
  .nova/contract.yml.attestations/, and appends secrets-exclusion lines
  to .gitignore (~/.nova/credentials.json, .nova/credentials.json,
  *.pem, *.key, .env, .env.*). Refuses overwrite without --force.
- nova/init.py: thin subcommand parsing --force, delegates to
  core.init_scaffold.scaffold.

---ci---
project: acdl
phase: 1
milestone: v1.28
status: execute
persona: cli-engineer
---/ci---
2026-08-19 22:24:17 +00:00

20 lines
535 B
Python

"""nova init — scaffold .nova/ + secrets .gitignore (P1, REQ-325)."""
from __future__ import annotations
from core.init_scaffold import scaffold
def add_parser(subparsers):
p = subparsers.add_parser("init", help="scaffold .nova/ + .gitignore in cwd")
p.add_argument("--force", action="store_true", help="overwrite existing .nova/")
p.set_defaults(_run=run)
def run(args) -> int:
return scaffold(force=args.force)
if __name__ == "__main__":
import sys
print("use: nova init [--force]", file=sys.stderr)