skills/sssf/scripts/make_config.py
INDigitalStudio 2cc766aabe Add sssf skill, installable via the skills CLI
Port the sssf skill from ~/.agents/skills/sssf into this repo so it can be
distributed and installed with the skills CLI (skills add INDigitalStudio/skills
--skill sssf).

- Copy the skill (SKILL.md, cookbooks, references, scripts, templates, and the
  visualizer app source) into sssf/.
- Gitignore build/runtime artifacts: the visualizer's node_modules/ and dist/,
  Python bytecode, and the machine-specific repos.json.
- Make the skill location-independent: install.py now stamps the skill's real
  path into the stamped justfile's skill_dir (replacing the hardcoded
  ~/.agents/skills/sssf), so 'just obs' finds the visualizer wherever the CLI
  installed the skill.
- Update cookbooks to use <skill>/scripts/... instead of the hardcoded path,
  and document the skills CLI install command.
- Update the repo README with install instructions.
2026-08-09 21:00:28 +00:00

35 lines
908 B
Python

#!/usr/bin/env -S uv run
# /// script
# dependencies = []
# ///
"""make_config — generate adws/adw_sssf_config/sssf.config.yaml with great defaults.
Usage:
uv run <skill>/scripts/make_config.py [--force]
"""
import argparse
import shutil
import sys
from pathlib import Path
TEMPLATE = Path(__file__).resolve().parent.parent / "templates" / "sssf.config.yaml"
def main() -> int:
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument("--force", action="store_true")
args = parser.parse_args()
dest = Path.cwd() / "adws" / "adw_sssf_config" / "sssf.config.yaml"
if dest.exists() and not args.force:
print(f"{dest} already exists — use --force to overwrite")
return 1
dest.parent.mkdir(parents=True, exist_ok=True)
shutil.copy2(TEMPLATE, dest)
print(f"wrote {dest}")
return 0
if __name__ == "__main__":
sys.exit(main())