Skip to content

feat: Add cross-platform copy_folder script - #37

Merged
hisenb3rg merged 3 commits into
devfrom
feat/copy-script
Sep 5, 2026
Merged

feat: Add cross-platform copy_folder script#37
hisenb3rg merged 3 commits into
devfrom
feat/copy-script

Conversation

@hisenb3rg

Copy link
Copy Markdown
Collaborator

Replaces #36 (merged to main by mistake, then main was reset — retargeting to dev).

Summary

  • Add skills/render-spec/scripts/copy_folder.py: copies complete folder contents to a destination (two args: source, destination), stdlib-only via shutil.copytree(..., dirs_exist_ok=True), works identically on macOS/Linux/Windows. Creates destination (incl. missing parents) if absent, merges/overwrites if present. Requires Python 3.8+ (matches skill's declared minimum).
  • Update SKILL.md Step 4.0 and Step 5 to invoke the script with an exact command instead of verbose prose / unix-only cp -r.
  • Extend SKILL.md Step 4.5 cleanup to remove installed dependency artifacts (node_modules/, .venv/, __pycache__/, …) while keeping dependency manifests and lock files.

Testing

  • New suite tests/run_copy_folder_tests.py (12 assertions, harness style): fresh copy incl. missing parents, merge keeps unrelated files and overwrites same-name files, missing/non-directory source exits 1, usage errors exit 2. Auto-discovered by tests/run_tests.py, so it runs on PR checks with the rest of the tests.
  • Full local suite green: 3 suites, 75 assertions passed.

🤖 Generated with Claude Code

hisenb3rg and others added 3 commits September 5, 2026 08:20
With a test suite in tests/run_copy_folder_tests.py, auto-discovered by
tests/run_tests.py so it runs on PR checks with the rest of the tests.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@hisenb3rg
hisenb3rg merged commit 3809030 into dev Sep 5, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant