| 24 | |
| 25 | |
| 26 | def parse_args() -> argparse.Namespace: |
| 27 | parser = argparse.ArgumentParser(description=__doc__) |
| 28 | parser.add_argument("--manifest", required=True, help="Path to JSON manifest") |
| 29 | parser.add_argument("--output", required=True, help="Target pack directory") |
| 30 | parser.add_argument( |
| 31 | "--overwrite", |
| 32 | action="store_true", |
| 33 | help="Allow writing into a non-empty target directory", |
| 34 | ) |
| 35 | parser.add_argument( |
| 36 | "--zip", |
| 37 | action="store_true", |
| 38 | help="Run `npx -y @cremini/skillpack zip` after scaffolding", |
| 39 | ) |
| 40 | return parser.parse_args() |
| 41 | |
| 42 | |
| 43 | def load_manifest(path: Path) -> dict: |