Skip to content

Commit 93c93e2

Browse files
committed
v0.4.6: Extension bundling unification + version bug fix
- Unified fork extensions to core_pack/extensions/ (like git extension) - Fixed 'Invalid version: unknown' error in check_compatibility() - Updated search paths in cli_customization.py - Version bump to 0.4.6
1 parent 16b6ff7 commit 93c93e2

3 files changed

Lines changed: 20 additions & 12 deletions

File tree

pyproject.toml

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "agentic-sdlc-specify-cli"
3-
version = "0.4.2"
3+
version = "0.4.6"
44
description = "Specify CLI (tikalk fork). Agentic SDLC toolkit for Spec-Driven Development with pre-installed extensions and AI integrations."
55
requires-python = ">=3.11"
66
dependencies = [
@@ -28,12 +28,13 @@ packages = ["src/specify_cli"]
2828

2929
# Include bundled extensions, presets, and core assets in the wheel
3030
[tool.hatch.build.targets.wheel.force-include]
31-
# Tikalk bundled extensions and presets
32-
"extensions/levelup" = "specify_cli/bundled_extensions/levelup"
33-
"extensions/architect" = "specify_cli/bundled_extensions/architect"
34-
"extensions/quick" = "specify_cli/bundled_extensions/quick"
35-
"extensions/product" = "specify_cli/bundled_extensions/product"
36-
"extensions/tdd" = "specify_cli/bundled_extensions/tdd"
31+
# Tikalk bundled extensions (unified with git extension approach)
32+
"extensions/levelup" = "specify_cli/core_pack/extensions/levelup"
33+
"extensions/architect" = "specify_cli/core_pack/extensions/architect"
34+
"extensions/quick" = "specify_cli/core_pack/extensions/quick"
35+
"extensions/product" = "specify_cli/core_pack/extensions/product"
36+
"extensions/tdd" = "specify_cli/core_pack/extensions/tdd"
37+
# Tikalk bundled presets
3738
"presets/agentic-sdlc" = "specify_cli/bundled_presets/agentic-sdlc"
3839
# Core pack assets for offline/air-gapped scaffolding
3940
"templates/agent-file-template.md" = "specify_cli/core_pack/templates/agent-file-template.md"

src/specify_cli/cli_customization.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -382,14 +382,15 @@ def _install_bundled_extensions(
382382

383383
project_extensions_dir = project_path / ".specify" / "extensions"
384384

385+
# Search paths for bundled extensions (now unified in core_pack/extensions/)
385386
search_paths = [
386387
(
387-
Path(__file__).parent.parent.parent / "extensions",
388-
Path(__file__).parent.parent.parent / "extensions" / "catalog.json",
388+
Path(__file__).parent / "core_pack" / "extensions",
389+
Path(__file__).parent / "core_pack" / "extensions" / "catalog.json",
389390
),
390391
(
391-
Path(__file__).parent / "bundled_extensions",
392-
Path(__file__).parent / "bundled_extensions" / "catalog.json",
392+
Path(__file__).parent.parent.parent / "extensions",
393+
Path(__file__).parent.parent.parent / "extensions" / "catalog.json",
393394
),
394395
(project_extensions_dir, project_extensions_dir / "catalog.json"),
395396
]

src/specify_cli/extensions.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1011,6 +1011,10 @@ def check_compatibility(
10111011
Raises:
10121012
CompatibilityError: If extension is incompatible
10131013
"""
1014+
# Skip check for unknown versions (bundled extensions are guaranteed compatible)
1015+
if speckit_version == "unknown":
1016+
return True
1017+
10141018
required = manifest.requires_speckit_version
10151019
current = pkg_version.Version(speckit_version)
10161020

@@ -2259,7 +2263,9 @@ def _render_hook_invocation(self, command: Any) -> str:
22592263
init_options.get("ai_skills")
22602264
)
22612265
kimi_skill_mode = selected_ai == "kimi"
2262-
cursor_skill_mode = selected_ai == "cursor-agent" and bool(init_options.get("ai_skills"))
2266+
cursor_skill_mode = selected_ai == "cursor-agent" and bool(
2267+
init_options.get("ai_skills")
2268+
)
22632269

22642270
skill_name = self._skill_name_from_command(command_id)
22652271
if codex_skill_mode and skill_name:

0 commit comments

Comments
 (0)