mirror of
https://github.com/github/spec-kit.git
synced 2026-08-15 14:02:04 +02:00
* support controlled multi-install integrations * fix: harden multi-install integration state * refactor: isolate integration runtime helpers * fix: address copilot review feedback * fix: address follow-up copilot feedback * fix: tighten integration switch semantics * fix: address final copilot review feedback * fix: harden integration manifest read errors * fix: refuse symlinked shared infra paths * test: filter expected self-test preset warning * test: address copilot review nits * refactor: centralize safe shared infra writes * fix: use no-follow writes for shared infra * fix: keep default integration atomic on template refresh * fix: harden shared infra error paths * fix: preflight shared infra and future state schemas * fix: support nested shared scripts during preflight * test: tolerate wrapped schema error output * fix: use safe default mode for shared text writes * fix: use posix paths in shared skip output * fix: share project guard for integration use * fix: centralize spec-kit project guards * fix: use posix project paths in cli output * fix: harden shared manifest and upgrade refresh
42 lines
1.1 KiB
Python
42 lines
1.1 KiB
Python
"""Trae IDE integration. — skills-based agent.
|
|
|
|
Trae IDE uses ``.trae/skills/speckit-<name>/SKILL.md`` layout.
|
|
In the Specify CLI Trae integration, explicit command support was deprecated
|
|
since v0.5.1; ``--skills`` defaults to ``True``.
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
from ..base import IntegrationOption, SkillsIntegration
|
|
|
|
|
|
class TraeIntegration(SkillsIntegration):
|
|
"""Integration for Trae IDE."""
|
|
|
|
key = "trae"
|
|
config = {
|
|
"name": "Trae",
|
|
"folder": ".trae/",
|
|
"commands_subdir": "skills",
|
|
"install_url": None,
|
|
"requires_cli": False,
|
|
}
|
|
registrar_config = {
|
|
"dir": ".trae/skills",
|
|
"format": "markdown",
|
|
"args": "$ARGUMENTS",
|
|
"extension": "/SKILL.md",
|
|
}
|
|
context_file = ".trae/rules/project_rules.md"
|
|
multi_install_safe = True
|
|
|
|
@classmethod
|
|
def options(cls) -> list[IntegrationOption]:
|
|
return [
|
|
IntegrationOption(
|
|
"--skills",
|
|
is_flag=True,
|
|
default=True,
|
|
help="Install as agent skills (default for trae since v0.5.1)",
|
|
),
|
|
]
|