Skip to content

Commit 260f76e

Browse files
committed
Rename hyphenated package dirs to valid Python identifiers
Rename kiro-cli → kiro_cli and cursor-agent → cursor_agent so the packages can be imported with normal Python syntax instead of importlib. The user-facing integration key (IntegrationBase.key) stays hyphenated to match the actual CLI tool / binary name. Also reorganize _register_builtins(): imports and registrations are now grouped alphabetically with clear section comments.
1 parent a107958 commit 260f76e

7 files changed

Lines changed: 36 additions & 37 deletions

File tree

src/specify_cli/integrations/__init__.py

Lines changed: 36 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -37,58 +37,57 @@ def get_integration(key: str) -> IntegrationBase | None:
3737
# -- Register built-in integrations --------------------------------------
3838

3939
def _register_builtins() -> None:
40-
"""Register all built-in integrations."""
41-
from .copilot import CopilotIntegration
42-
43-
_register(CopilotIntegration())
40+
"""Register all built-in integrations.
4441
45-
# Stage 3 — standard markdown integrations
42+
Package directories use Python-safe identifiers (e.g. ``kiro_cli``,
43+
``cursor_agent``). The user-facing integration key stored in
44+
``IntegrationBase.key`` stays hyphenated (``"kiro-cli"``,
45+
``"cursor-agent"``) to match the actual CLI tool / binary name that
46+
users install and invoke.
47+
"""
48+
# -- Imports (alphabetical) -------------------------------------------
49+
from .amp import AmpIntegration
50+
from .auggie import AuggieIntegration
51+
from .bob import BobIntegration
4652
from .claude import ClaudeIntegration
47-
from .qwen import QwenIntegration
48-
from .opencode import OpencodeIntegration
53+
from .codebuddy import CodebuddyIntegration
54+
from .copilot import CopilotIntegration
55+
from .cursor_agent import CursorAgentIntegration
56+
from .iflow import IflowIntegration
4957
from .junie import JunieIntegration
5058
from .kilocode import KilocodeIntegration
51-
from .auggie import AuggieIntegration
52-
from .roo import RooIntegration
53-
from .codebuddy import CodebuddyIntegration
59+
from .kiro_cli import KiroCliIntegration
60+
from .opencode import OpencodeIntegration
61+
from .pi import PiIntegration
5462
from .qodercli import QodercliIntegration
55-
from .amp import AmpIntegration
63+
from .qwen import QwenIntegration
64+
from .roo import RooIntegration
5665
from .shai import ShaiIntegration
57-
from .bob import BobIntegration
5866
from .trae import TraeIntegration
59-
from .pi import PiIntegration
60-
from .iflow import IflowIntegration
67+
from .vibe import VibeIntegration
68+
from .windsurf import WindsurfIntegration
6169

70+
# -- Registration (alphabetical) --------------------------------------
71+
_register(AmpIntegration())
72+
_register(AuggieIntegration())
73+
_register(BobIntegration())
6274
_register(ClaudeIntegration())
63-
_register(QwenIntegration())
64-
_register(OpencodeIntegration())
75+
_register(CodebuddyIntegration())
76+
_register(CopilotIntegration())
77+
_register(CursorAgentIntegration())
78+
_register(IflowIntegration())
6579
_register(JunieIntegration())
6680
_register(KilocodeIntegration())
67-
_register(AuggieIntegration())
68-
_register(RooIntegration())
69-
_register(CodebuddyIntegration())
81+
_register(KiroCliIntegration())
82+
_register(OpencodeIntegration())
83+
_register(PiIntegration())
7084
_register(QodercliIntegration())
71-
_register(AmpIntegration())
85+
_register(QwenIntegration())
86+
_register(RooIntegration())
7287
_register(ShaiIntegration())
73-
_register(BobIntegration())
7488
_register(TraeIntegration())
75-
_register(PiIntegration())
76-
_register(IflowIntegration())
77-
78-
# Hyphenated package names — use importlib for kiro-cli and cursor-agent
79-
import importlib
80-
81-
kiro_mod = importlib.import_module(".kiro-cli", __package__)
82-
_register(kiro_mod.KiroCliIntegration())
83-
84-
from .windsurf import WindsurfIntegration
85-
from .vibe import VibeIntegration
86-
87-
_register(WindsurfIntegration())
8889
_register(VibeIntegration())
89-
90-
cursor_mod = importlib.import_module(".cursor-agent", __package__)
91-
_register(cursor_mod.CursorAgentIntegration())
90+
_register(WindsurfIntegration())
9291

9392

9493
_register_builtins()
File renamed without changes.

src/specify_cli/integrations/cursor-agent/scripts/update-context.ps1 renamed to src/specify_cli/integrations/cursor_agent/scripts/update-context.ps1

File renamed without changes.

src/specify_cli/integrations/cursor-agent/scripts/update-context.sh renamed to src/specify_cli/integrations/cursor_agent/scripts/update-context.sh

File renamed without changes.
File renamed without changes.

src/specify_cli/integrations/kiro-cli/scripts/update-context.ps1 renamed to src/specify_cli/integrations/kiro_cli/scripts/update-context.ps1

File renamed without changes.

src/specify_cli/integrations/kiro-cli/scripts/update-context.sh renamed to src/specify_cli/integrations/kiro_cli/scripts/update-context.sh

File renamed without changes.

0 commit comments

Comments
 (0)