83883076ff
- 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---
20 lines
535 B
Python
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) |