Commit Graph

15 Commits

Author SHA1 Message Date
Manfred Riem
1a0f8b17ea Applying review recommendations 2026-03-13 10:16:04 -05:00
Manfred Riem
6da1375396 fix: address Copilot PR review comments (round 3)
- Fix PS Resolve-Template fallback to skip dot-prefixed dirs (.cache)
- Rename _catalog to _catalog_name for consistency with extension system
- Enforce install_allowed policy in CLI preset add and download_pack()
- Fix shell injection: pass registry path via env var instead of string interpolation
2026-03-10 17:06:34 -05:00
Manfred Riem
da6e7d2283 fix: address Copilot PR review comments (round 2)
- Fix init --preset error masking: distinguish "not found" from real errors
- Fix bash resolve_template: skip hidden dirs in extensions (match Python/PS)
- Fix temp dir leaks in tests: use temp_dir fixture instead of mkdtemp
- Fix self-test catalog entry: add note that it's local-only (no download_url)
- Fix Windows path issue in resolve_with_source: use Path.relative_to()
- Fix skill restore path: use project's .specify/templates/commands/ not source tree
- Add encoding="utf-8" to all file read/write in agents.py
- Update test to set up core command templates for skill restoration
2026-03-10 16:35:17 -05:00
Manfred Riem
52f137ce84 fix: address Copilot PR review comments
- Move save_init_options() before preset install so skills propagation
  works during 'specify init --preset --ai-skills'
- Clean up downloaded ZIP after successful preset install during init
- Validate --from URL scheme (require HTTPS, HTTP only for localhost)
- Expose unregister_commands() on extensions.py CommandRegistrar wrapper
  instead of reaching into private _registrar field
- Use _get_merged_packs() for search() and get_pack_info() so all
  active catalogs are searched, not just the highest-priority one
- Fix fetch_catalog() cache to verify cached URL matches current URL
- Fix PresetResolver: script resolution uses .sh extension, consistent
  file extensions throughout resolve(), and resolve_with_source()
  delegates to resolve() to honor template_type parameter
- Fix bash common.sh: fall through to directory scan when python3
  returns empty preset list
- Fix PowerShell Resolve-Template: filter out dot-folders and sort
  extensions deterministically
2026-03-10 15:11:31 -05:00
Manfred Riem
abf4aebdb3 feat(presets): pluggable preset system with template/command overrides, catalog, and resolver
- Rename 'template packs' to 'presets' to avoid naming collision with core templates
- PresetManifest, PresetRegistry, PresetManager, PresetCatalog, PresetResolver in presets.py
- Extract CommandRegistrar to agents.py as shared infrastructure
- CLI: specify preset list/add/remove/search/resolve/info
- CLI: specify preset catalog list/add/remove
- --preset option on specify init
- Priority-based preset stacking (--priority, lower = higher precedence)
- Command overrides registered into all detected agent directories (17+ agents)
- Extension command safety: skip registration if target extension not installed
- Multi-catalog support: env var, project config, user config, built-in defaults
- resolve_template() / Resolve-Template in bash/PowerShell scripts
- Self-test preset: overrides all 6 core templates + 1 command
- Scaffold with 4 examples: core/extension template and command overrides
- Preset catalog (catalog.json, catalog.community.json)
- Documentation: README.md, ARCHITECTURE.md, PUBLISHING.md
- 110 preset tests, 253 total tests passing
2026-03-10 14:17:44 -05:00
copilot-swe-agent[bot]
2e8a4d6432 feat(templates): add pluggable template system with packs, catalog, resolver, and CLI commands
Co-authored-by: mnriem <15701806+mnriem@users.noreply.github.com>
2026-03-09 21:02:52 +00:00
San Gillis
2a7c2e9398 Unset CDPATH while getting SCRIPT_DIR 2025-10-25 11:34:26 +02:00
Den Delimarsky
3b000fce4d Merge pull request #881 from github/localden/fixes
Updates to templates and scripts
2025-10-15 10:56:49 -07:00
den (work)
36ff7e6505 Update files 2025-10-14 11:52:26 -07:00
Luiz Costa
47e5f7c2e2 Use the number prefix to find the right spec 2025-10-07 06:45:25 -03:00
Den Delimarsky
da60d35bc1 Update scripts/bash/common.sh
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-21 00:46:22 -07:00
Den Delimarsky 🌺
1a71b03195 Script and template tweaks 2025-09-20 15:04:25 -07:00
Den Delimarsky 🌺
2d242b4732 Update config 2025-09-20 13:57:05 -07:00
Den Delimarsky 🌺
505b956bfd Script cleanup 2025-09-20 12:14:42 -07:00
Den Delimarsky 🌺
5787bb5537 Refactor with platform-specific constraints 2025-09-12 10:27:43 -07:00