@blxzer/cursor-trellis 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +124 -5
- package/README.zh-CN.md +170 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +1 -33
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/init.d.ts +0 -13
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +7 -14
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/uninstall.d.ts.map +1 -1
- package/dist/commands/uninstall.js +3 -32
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +7 -84
- package/dist/commands/update.js.map +1 -1
- package/dist/configurators/index.d.ts +7 -8
- package/dist/configurators/index.d.ts.map +1 -1
- package/dist/configurators/index.js +11 -236
- package/dist/configurators/index.js.map +1 -1
- package/dist/configurators/workflow.d.ts.map +1 -1
- package/dist/configurators/workflow.js +5 -1
- package/dist/configurators/workflow.js.map +1 -1
- package/dist/migrations/manifests/0.1.1.json +9 -0
- package/dist/migrations/manifests/0.1.2.json +9 -0
- package/dist/templates/common/bundled-skills/smart-search-cli/SKILL.md +3 -3
- package/dist/templates/common/bundled-skills/trellis-meta/SKILL.md +4 -2
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-agents.md +8 -15
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-hooks.md +7 -7
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-skills-or-commands.md +18 -21
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/overview.md +2 -2
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/generated-files.md +10 -7
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/overview.md +4 -4
- package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/agents.md +20 -31
- package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/hooks-and-settings.md +20 -31
- package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/overview.md +24 -40
- package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/platform-map.md +28 -59
- package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/skills-and-commands.md +12 -28
- package/dist/templates/common/bundled-skills/trellis-skill-creator/references/trellis-skill-locations.md +2 -2
- package/dist/templates/cursor/hooks.json +6 -0
- package/dist/templates/cursor/rules/retrieval-routing.mdc +57 -0
- package/dist/templates/extract.d.ts +0 -14
- package/dist/templates/extract.d.ts.map +1 -1
- package/dist/templates/extract.js +0 -34
- package/dist/templates/extract.js.map +1 -1
- package/dist/templates/markdown/agents.md +2 -6
- package/dist/templates/markdown/index.d.ts +1 -0
- package/dist/templates/markdown/index.d.ts.map +1 -1
- package/dist/templates/markdown/index.js +1 -0
- package/dist/templates/markdown/index.js.map +1 -1
- package/dist/templates/markdown/prompts/run-semantic-slice-12.md.txt +41 -0
- package/dist/templates/markdown/spec/guides/code-reuse-thinking-guide.md.txt +14 -14
- package/dist/templates/markdown/spec/guides/cross-layer-thinking-guide.md.txt +8 -20
- package/dist/templates/markdown/spec/guides/cross-platform-thinking-guide.md.txt +15 -14
- package/dist/templates/markdown/spec/guides/cursor-context-injection-guide.md.txt +4 -2
- package/dist/templates/markdown/spec/guides/cursor-semantic-compliance.md.txt +49 -0
- package/dist/templates/markdown/spec/guides/cursor-subagent-policy.md.txt +18 -5
- package/dist/templates/markdown/spec/guides/retrieval-daily-guide.md.txt +68 -20
- package/dist/templates/shared-hooks/index.d.ts +1 -1
- package/dist/templates/shared-hooks/index.d.ts.map +1 -1
- package/dist/templates/shared-hooks/index.js +1 -0
- package/dist/templates/shared-hooks/index.js.map +1 -1
- package/dist/templates/shared-hooks/inject-retrieval-plan.py +163 -0
- package/dist/templates/shared-hooks/inject-subagent-context.py +31 -567
- package/dist/templates/shared-hooks/research-end-retrieval-pack.py +2 -11
- package/dist/templates/trellis/index.d.ts +12 -0
- package/dist/templates/trellis/index.d.ts.map +1 -1
- package/dist/templates/trellis/index.js +24 -0
- package/dist/templates/trellis/index.js.map +1 -1
- package/dist/templates/trellis/scripts/aggregate_retrieval_telemetry.py +342 -0
- package/dist/templates/trellis/scripts/batch_plan_envelope.py +105 -0
- package/dist/templates/trellis/scripts/codegraph_session_smoke.py +76 -0
- package/dist/templates/trellis/scripts/common/active_task.py +116 -147
- package/dist/templates/trellis/scripts/common/cli_adapter.py +34 -710
- package/dist/templates/trellis/scripts/common/codebase_retrieval_router.py +49 -106
- package/dist/templates/trellis/scripts/common/git_context.py +17 -2
- package/dist/templates/trellis/scripts/common/project_file_stats.py +91 -0
- package/dist/templates/trellis/scripts/common/retrieval_adapter_metadata.py +9 -11
- package/dist/templates/trellis/scripts/common/retrieval_agent_instructions.py +313 -0
- package/dist/templates/trellis/scripts/common/retrieval_pack.py +0 -6
- package/dist/templates/trellis/scripts/common/retrieval_pack_context.py +0 -4
- package/dist/templates/trellis/scripts/common/retrieval_plan_gate.py +76 -0
- package/dist/templates/trellis/scripts/common/retrieval_result_ranking.py +253 -0
- package/dist/templates/trellis/scripts/common/retrieval_tool_classification.py +157 -0
- package/dist/templates/trellis/scripts/common/semantic_plan_gate.py +52 -0
- package/dist/templates/trellis/scripts/common/subagent_dispatch.py +527 -0
- package/dist/templates/trellis/scripts/common/task_store.py +32 -0
- package/dist/templates/trellis/scripts/common/workflow_phase.py +3 -24
- package/dist/templates/trellis/scripts/rank_retrieval_candidates.py +80 -0
- package/dist/templates/trellis/scripts/route_codebase_retrieval.py +38 -11
- package/dist/templates/trellis/scripts/score_evidence.py +112 -0
- package/dist/templates/trellis/scripts/task.py +26 -0
- package/dist/templates/trellis/workflow.md +844 -960
- package/dist/types/ai-tools.d.ts +13 -16
- package/dist/types/ai-tools.d.ts.map +1 -1
- package/dist/types/ai-tools.js +5 -238
- package/dist/types/ai-tools.js.map +1 -1
- package/dist/utils/codebase-retrieval-router.d.ts +1 -8
- package/dist/utils/codebase-retrieval-router.d.ts.map +1 -1
- package/dist/utils/codebase-retrieval-router.js +39 -180
- package/dist/utils/codebase-retrieval-router.js.map +1 -1
- package/dist/utils/project-capabilities.d.ts.map +1 -1
- package/dist/utils/project-capabilities.js +10 -24
- package/dist/utils/project-capabilities.js.map +1 -1
- package/dist/utils/retrieval-agent-instructions.d.ts +14 -0
- package/dist/utils/retrieval-agent-instructions.d.ts.map +1 -0
- package/dist/utils/retrieval-agent-instructions.js +221 -0
- package/dist/utils/retrieval-agent-instructions.js.map +1 -0
- package/dist/utils/retrieval-execution-telemetry.d.ts +43 -85
- package/dist/utils/retrieval-execution-telemetry.d.ts.map +1 -1
- package/dist/utils/retrieval-execution-telemetry.js +289 -22
- package/dist/utils/retrieval-execution-telemetry.js.map +1 -1
- package/dist/utils/retrieval-result-ranking.js +1 -1
- package/dist/utils/retrieval-result-ranking.js.map +1 -1
- package/dist/utils/retrieval-tool-classification.d.ts +32 -0
- package/dist/utils/retrieval-tool-classification.d.ts.map +1 -0
- package/dist/utils/retrieval-tool-classification.js +113 -0
- package/dist/utils/retrieval-tool-classification.js.map +1 -0
- package/dist/utils/uninstall-scrubbers.d.ts +0 -36
- package/dist/utils/uninstall-scrubbers.d.ts.map +1 -1
- package/dist/utils/uninstall-scrubbers.js +0 -184
- package/dist/utils/uninstall-scrubbers.js.map +1 -1
- package/package.json +4 -2
- package/dist/commands/mem.d.ts +0 -30
- package/dist/commands/mem.d.ts.map +0 -1
- package/dist/commands/mem.js +0 -424
- package/dist/commands/mem.js.map +0 -1
- package/dist/configurators/antigravity.d.ts +0 -7
- package/dist/configurators/antigravity.d.ts.map +0 -1
- package/dist/configurators/antigravity.js +0 -19
- package/dist/configurators/antigravity.js.map +0 -1
- package/dist/configurators/claude.d.ts +0 -9
- package/dist/configurators/claude.d.ts.map +0 -1
- package/dist/configurators/claude.js +0 -72
- package/dist/configurators/claude.js.map +0 -1
- package/dist/configurators/codebuddy.d.ts +0 -10
- package/dist/configurators/codebuddy.d.ts.map +0 -1
- package/dist/configurators/codebuddy.js +0 -30
- package/dist/configurators/codebuddy.js.map +0 -1
- package/dist/configurators/codex.d.ts +0 -8
- package/dist/configurators/codex.d.ts.map +0 -1
- package/dist/configurators/codex.js +0 -87
- package/dist/configurators/codex.js.map +0 -1
- package/dist/configurators/copilot.d.ts +0 -10
- package/dist/configurators/copilot.d.ts.map +0 -1
- package/dist/configurators/copilot.js +0 -51
- package/dist/configurators/copilot.js.map +0 -1
- package/dist/configurators/droid.d.ts +0 -10
- package/dist/configurators/droid.d.ts.map +0 -1
- package/dist/configurators/droid.js +0 -30
- package/dist/configurators/droid.js.map +0 -1
- package/dist/configurators/gemini.d.ts +0 -16
- package/dist/configurators/gemini.d.ts.map +0 -1
- package/dist/configurators/gemini.js +0 -38
- package/dist/configurators/gemini.js.map +0 -1
- package/dist/configurators/kilo.d.ts +0 -7
- package/dist/configurators/kilo.d.ts.map +0 -1
- package/dist/configurators/kilo.js +0 -19
- package/dist/configurators/kilo.js.map +0 -1
- package/dist/configurators/kiro.d.ts +0 -8
- package/dist/configurators/kiro.d.ts.map +0 -1
- package/dist/configurators/kiro.js +0 -24
- package/dist/configurators/kiro.js.map +0 -1
- package/dist/configurators/opencode.d.ts +0 -14
- package/dist/configurators/opencode.d.ts.map +0 -1
- package/dist/configurators/opencode.js +0 -96
- package/dist/configurators/opencode.js.map +0 -1
- package/dist/configurators/pi.d.ts +0 -3
- package/dist/configurators/pi.d.ts.map +0 -1
- package/dist/configurators/pi.js +0 -45
- package/dist/configurators/pi.js.map +0 -1
- package/dist/configurators/qoder.d.ts +0 -11
- package/dist/configurators/qoder.d.ts.map +0 -1
- package/dist/configurators/qoder.js +0 -31
- package/dist/configurators/qoder.js.map +0 -1
- package/dist/configurators/windsurf.d.ts +0 -7
- package/dist/configurators/windsurf.d.ts.map +0 -1
- package/dist/configurators/windsurf.js +0 -19
- package/dist/configurators/windsurf.js.map +0 -1
- package/dist/templates/claude/agents/trellis-check.md +0 -124
- package/dist/templates/claude/agents/trellis-implement.md +0 -110
- package/dist/templates/claude/agents/trellis-research.md +0 -137
- package/dist/templates/claude/index.d.ts +0 -22
- package/dist/templates/claude/index.d.ts.map +0 -1
- package/dist/templates/claude/index.js +0 -46
- package/dist/templates/claude/index.js.map +0 -1
- package/dist/templates/claude/settings.json +0 -84
- package/dist/templates/codebuddy/agents/trellis-check.md +0 -115
- package/dist/templates/codebuddy/agents/trellis-implement.md +0 -110
- package/dist/templates/codebuddy/agents/trellis-research.md +0 -137
- package/dist/templates/codebuddy/index.d.ts +0 -15
- package/dist/templates/codebuddy/index.d.ts.map +0 -1
- package/dist/templates/codebuddy/index.js +0 -15
- package/dist/templates/codebuddy/index.js.map +0 -1
- package/dist/templates/codebuddy/settings.json +0 -70
- package/dist/templates/codex/agents/trellis-check.toml +0 -67
- package/dist/templates/codex/agents/trellis-implement.toml +0 -40
- package/dist/templates/codex/agents/trellis-research.toml +0 -73
- package/dist/templates/codex/config.toml +0 -28
- package/dist/templates/codex/hooks/session-start.py +0 -575
- package/dist/templates/codex/hooks.json +0 -15
- package/dist/templates/codex/index.d.ts +0 -39
- package/dist/templates/codex/index.d.ts.map +0 -1
- package/dist/templates/codex/index.js +0 -85
- package/dist/templates/codex/index.js.map +0 -1
- package/dist/templates/codex/skills/before-dev/SKILL.md +0 -40
- package/dist/templates/codex/skills/brainstorm/SKILL.md +0 -112
- package/dist/templates/codex/skills/break-loop/SKILL.md +0 -130
- package/dist/templates/codex/skills/check/SKILL.md +0 -98
- package/dist/templates/codex/skills/check-cross-layer/SKILL.md +0 -158
- package/dist/templates/codex/skills/create-command/SKILL.md +0 -101
- package/dist/templates/codex/skills/finish-work/SKILL.md +0 -90
- package/dist/templates/codex/skills/improve-ut/SKILL.md +0 -69
- package/dist/templates/codex/skills/integrate-skill/SKILL.md +0 -221
- package/dist/templates/codex/skills/onboard/SKILL.md +0 -363
- package/dist/templates/codex/skills/record-session/SKILL.md +0 -67
- package/dist/templates/codex/skills/start/SKILL.md +0 -66
- package/dist/templates/codex/skills/update-spec/SKILL.md +0 -335
- package/dist/templates/copilot/hooks/session-start.py +0 -557
- package/dist/templates/copilot/hooks.json +0 -19
- package/dist/templates/copilot/index.d.ts +0 -23
- package/dist/templates/copilot/index.d.ts.map +0 -1
- package/dist/templates/copilot/index.js +0 -54
- package/dist/templates/copilot/index.js.map +0 -1
- package/dist/templates/copilot/prompts/before-dev.prompt.md +0 -39
- package/dist/templates/copilot/prompts/brainstorm.prompt.md +0 -111
- package/dist/templates/copilot/prompts/break-loop.prompt.md +0 -129
- package/dist/templates/copilot/prompts/check-cross-layer.prompt.md +0 -157
- package/dist/templates/copilot/prompts/check.prompt.md +0 -97
- package/dist/templates/copilot/prompts/create-command.prompt.md +0 -116
- package/dist/templates/copilot/prompts/finish-work.prompt.md +0 -99
- package/dist/templates/copilot/prompts/integrate-skill.prompt.md +0 -223
- package/dist/templates/copilot/prompts/onboard.prompt.md +0 -362
- package/dist/templates/copilot/prompts/parallel.prompt.md +0 -204
- package/dist/templates/copilot/prompts/record-session.prompt.md +0 -66
- package/dist/templates/copilot/prompts/start.prompt.md +0 -63
- package/dist/templates/copilot/prompts/update-spec.prompt.md +0 -358
- package/dist/templates/droid/droids/trellis-check.md +0 -107
- package/dist/templates/droid/droids/trellis-implement.md +0 -102
- package/dist/templates/droid/droids/trellis-research.md +0 -137
- package/dist/templates/droid/index.d.ts +0 -15
- package/dist/templates/droid/index.d.ts.map +0 -1
- package/dist/templates/droid/index.js +0 -15
- package/dist/templates/droid/index.js.map +0 -1
- package/dist/templates/droid/settings.json +0 -70
- package/dist/templates/gemini/agents/trellis-check.md +0 -107
- package/dist/templates/gemini/agents/trellis-implement.md +0 -102
- package/dist/templates/gemini/agents/trellis-research.md +0 -136
- package/dist/templates/gemini/index.d.ts +0 -13
- package/dist/templates/gemini/index.d.ts.map +0 -1
- package/dist/templates/gemini/index.js +0 -13
- package/dist/templates/gemini/index.js.map +0 -1
- package/dist/templates/gemini/settings.json +0 -28
- package/dist/templates/kiro/agents/trellis-check.json +0 -26
- package/dist/templates/kiro/agents/trellis-implement.json +0 -26
- package/dist/templates/kiro/agents/trellis-research.json +0 -30
- package/dist/templates/kiro/index.d.ts +0 -18
- package/dist/templates/kiro/index.d.ts.map +0 -1
- package/dist/templates/kiro/index.js +0 -18
- package/dist/templates/kiro/index.js.map +0 -1
- package/dist/templates/opencode/agents/trellis-check.md +0 -122
- package/dist/templates/opencode/agents/trellis-implement.md +0 -118
- package/dist/templates/opencode/agents/trellis-research.md +0 -145
- package/dist/templates/opencode/lib/session-utils.js +0 -667
- package/dist/templates/opencode/lib/trellis-context.js +0 -336
- package/dist/templates/opencode/package.json +0 -5
- package/dist/templates/opencode/plugins/inject-subagent-context.js +0 -495
- package/dist/templates/opencode/plugins/inject-workflow-state.js +0 -159
- package/dist/templates/opencode/plugins/session-start.js +0 -101
- package/dist/templates/pi/agents/trellis-check.md +0 -37
- package/dist/templates/pi/agents/trellis-implement.md +0 -42
- package/dist/templates/pi/agents/trellis-research.md +0 -25
- package/dist/templates/pi/extensions/trellis/index.ts.txt +0 -1600
- package/dist/templates/pi/index.d.ts +0 -5
- package/dist/templates/pi/index.d.ts.map +0 -1
- package/dist/templates/pi/index.js +0 -12
- package/dist/templates/pi/index.js.map +0 -1
- package/dist/templates/pi/settings.json +0 -12
- package/dist/templates/qoder/agents/trellis-check.md +0 -108
- package/dist/templates/qoder/agents/trellis-implement.md +0 -103
- package/dist/templates/qoder/agents/trellis-research.md +0 -137
- package/dist/templates/qoder/index.d.ts +0 -15
- package/dist/templates/qoder/index.d.ts.map +0 -1
- package/dist/templates/qoder/index.js +0 -15
- package/dist/templates/qoder/index.js.map +0 -1
- package/dist/templates/qoder/settings.json +0 -47
|
@@ -2,46 +2,20 @@
|
|
|
2
2
|
* Platform Registry — Single source of truth for platform functions and derived helpers
|
|
3
3
|
*
|
|
4
4
|
* All platform-specific lists (backup dirs, template dirs, configured platforms, etc.)
|
|
5
|
-
* are derived from AI_TOOLS in types/ai-tools.
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* 3. Creating the configurator file + template directory
|
|
5
|
+
* are derived from AI_TOOLS in types/ai-tools.js.
|
|
6
|
+
*
|
|
7
|
+
* Cursor-only fork: only the Cursor configurator and templates are wired.
|
|
9
8
|
*/
|
|
10
9
|
import fs from "node:fs";
|
|
11
10
|
import path from "node:path";
|
|
12
11
|
import { AI_TOOLS, getManagedPaths, } from "../types/ai-tools.js";
|
|
13
12
|
// Platform configurators
|
|
14
|
-
import { configureClaude } from "./claude.js";
|
|
15
13
|
import { configureCursor } from "./cursor.js";
|
|
16
|
-
import { configureOpenCode, collectOpenCodeTemplates } from "./opencode.js";
|
|
17
|
-
import { configureCodex } from "./codex.js";
|
|
18
|
-
import { configureKilo } from "./kilo.js";
|
|
19
|
-
import { configureKiro } from "./kiro.js";
|
|
20
|
-
import { configureGemini } from "./gemini.js";
|
|
21
|
-
import { configureAntigravity } from "./antigravity.js";
|
|
22
|
-
import { configureWindsurf } from "./windsurf.js";
|
|
23
|
-
import { configureQoder } from "./qoder.js";
|
|
24
|
-
import { configureCodebuddy } from "./codebuddy.js";
|
|
25
|
-
import { configureCopilot } from "./copilot.js";
|
|
26
|
-
import { configureDroid } from "./droid.js";
|
|
27
|
-
import { configurePi, collectPiTemplates } from "./pi.js";
|
|
28
14
|
// Shared utilities
|
|
29
|
-
import { replacePythonCommandLiterals, resolvePlaceholders,
|
|
30
|
-
//
|
|
31
|
-
import { getAllAgents as getClaudeAgents, getSettingsTemplate as getClaudeSettings, } from "../templates/claude/index.js";
|
|
32
|
-
import { getAllAgents as getCodexAgents, getAllCodexSkills as getCodexPlatformSkills, getAllHooks as getCodexHooks, getConfigTemplate as getCodexConfigTemplate, getHooksConfig as getCodexHooksConfig, } from "../templates/codex/index.js";
|
|
33
|
-
import { getAllHooks as getCopilotHooks, getHooksConfig as getCopilotHooksConfig, } from "../templates/copilot/index.js";
|
|
34
|
-
import { getAllAgents as getQoderAgents, getSettingsTemplate as getQoderSettings, } from "../templates/qoder/index.js";
|
|
35
|
-
import { getAllAgents as getCodebuddyAgents, getSettingsTemplate as getCodebuddySettings, } from "../templates/codebuddy/index.js";
|
|
36
|
-
import { getAllDroids as getDroidDroids, getSettingsTemplate as getDroidSettings, } from "../templates/droid/index.js";
|
|
15
|
+
import { replacePythonCommandLiterals, resolvePlaceholders, resolveCommands, } from "./shared.js";
|
|
16
|
+
// Cursor-specific template content (agents, rules, hooks, settings, commands)
|
|
37
17
|
import { getAllAgents as getCursorAgents, getAllRules as getCursorRules, getCursorCommands, getHooksConfig as getCursorHooksConfig, getWorktreesConfig, } from "../templates/cursor/index.js";
|
|
38
|
-
import { getAllAgents as getGeminiAgents, getSettingsTemplate as getGeminiSettings, } from "../templates/gemini/index.js";
|
|
39
|
-
import { getAllAgents as getKiroAgents } from "../templates/kiro/index.js";
|
|
40
18
|
import { getSharedHookScriptsForPlatform, } from "../templates/shared-hooks/index.js";
|
|
41
|
-
/**
|
|
42
|
-
* Platform functions registry — maps each AITool to its behavior.
|
|
43
|
-
* When adding a new platform, add an entry here.
|
|
44
|
-
*/
|
|
45
19
|
/** Helper: collect the shared hook scripts that `platform` actually
|
|
46
20
|
* registers. Keyed off SHARED_HOOKS_BY_PLATFORM so runtime install
|
|
47
21
|
* (writeSharedHooks) and update diff (collectSharedHooks) never drift.
|
|
@@ -61,35 +35,11 @@ function replaceInMap(map) {
|
|
|
61
35
|
}
|
|
62
36
|
return result;
|
|
63
37
|
}
|
|
64
|
-
/**
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
const filePath = cmdPath(cmd.name);
|
|
69
|
-
files.set(filePath, wrapCmd ? wrapCmd(filePath, cmd.content) : cmd.content);
|
|
70
|
-
}
|
|
71
|
-
for (const [filePath, content] of collectSkillTemplates(skillRoot, resolveSkills(ctx), resolveBundledSkills(ctx))) {
|
|
72
|
-
files.set(filePath, content);
|
|
73
|
-
}
|
|
74
|
-
return files;
|
|
75
|
-
}
|
|
38
|
+
/**
|
|
39
|
+
* Platform functions registry — maps each AITool to its behavior.
|
|
40
|
+
* Cursor-only fork: only the Cursor entry is registered.
|
|
41
|
+
*/
|
|
76
42
|
const PLATFORM_FUNCTIONS = {
|
|
77
|
-
"claude-code": {
|
|
78
|
-
configure: configureClaude,
|
|
79
|
-
collectTemplates: () => {
|
|
80
|
-
const ctx = AI_TOOLS["claude-code"].templateContext;
|
|
81
|
-
const files = collectBothTemplates(ctx, (n) => `.claude/commands/trellis/${n}.md`, ".claude/skills");
|
|
82
|
-
for (const agent of getClaudeAgents()) {
|
|
83
|
-
files.set(`.claude/agents/${agent.name}.md`, agent.content);
|
|
84
|
-
}
|
|
85
|
-
for (const [k, v] of collectSharedHooks(".claude/hooks", "claude")) {
|
|
86
|
-
files.set(k, v);
|
|
87
|
-
}
|
|
88
|
-
const settings = getClaudeSettings();
|
|
89
|
-
files.set(`.claude/${settings.targetPath}`, resolvePlaceholders(settings.content));
|
|
90
|
-
return files;
|
|
91
|
-
},
|
|
92
|
-
},
|
|
93
43
|
cursor: {
|
|
94
44
|
configure: configureCursor,
|
|
95
45
|
collectTemplates: () => {
|
|
@@ -120,181 +70,6 @@ const PLATFORM_FUNCTIONS = {
|
|
|
120
70
|
return files;
|
|
121
71
|
},
|
|
122
72
|
},
|
|
123
|
-
opencode: {
|
|
124
|
-
configure: configureOpenCode,
|
|
125
|
-
collectTemplates: () => collectOpenCodeTemplates(),
|
|
126
|
-
},
|
|
127
|
-
codex: {
|
|
128
|
-
configure: configureCodex,
|
|
129
|
-
collectTemplates: () => {
|
|
130
|
-
const files = new Map();
|
|
131
|
-
const ctx = AI_TOOLS.codex.templateContext;
|
|
132
|
-
for (const [filePath, content] of collectSkillTemplates(".agents/skills", resolveAllAsSkillsNeutral(ctx), resolveBundledSkills(ctx))) {
|
|
133
|
-
files.set(filePath, content);
|
|
134
|
-
}
|
|
135
|
-
// Mirror configureCodex's extra trellis-start write so `trellis update`
|
|
136
|
-
// picks up the file (was missing pre-0.5.7 — upgrade path silently
|
|
137
|
-
// dropped the skill).
|
|
138
|
-
const trellisStart = resolveCodexTrellisStartSkill(ctx);
|
|
139
|
-
if (trellisStart) {
|
|
140
|
-
files.set(`.agents/skills/${trellisStart.name}/SKILL.md`, trellisStart.content);
|
|
141
|
-
}
|
|
142
|
-
for (const skill of getCodexPlatformSkills()) {
|
|
143
|
-
files.set(`.codex/skills/${skill.name}/SKILL.md`, skill.content);
|
|
144
|
-
}
|
|
145
|
-
for (const agent of applyPullBasedPreludeToml(getCodexAgents())) {
|
|
146
|
-
files.set(`.codex/agents/${agent.name}.toml`, agent.content);
|
|
147
|
-
}
|
|
148
|
-
for (const hook of getCodexHooks()) {
|
|
149
|
-
files.set(`.codex/hooks/${hook.name}`, hook.content);
|
|
150
|
-
}
|
|
151
|
-
// Shared hooks (inject-workflow-state.py only) — mirror configureCodex
|
|
152
|
-
for (const [k, v] of collectSharedHooks(".codex/hooks", "codex")) {
|
|
153
|
-
files.set(k, v);
|
|
154
|
-
}
|
|
155
|
-
files.set(".codex/hooks.json", resolvePlaceholders(getCodexHooksConfig()));
|
|
156
|
-
const config = getCodexConfigTemplate();
|
|
157
|
-
files.set(`.codex/${config.targetPath}`, config.content);
|
|
158
|
-
return files;
|
|
159
|
-
},
|
|
160
|
-
},
|
|
161
|
-
kilo: {
|
|
162
|
-
configure: configureKilo,
|
|
163
|
-
collectTemplates: () => collectBothTemplates(AI_TOOLS.kilo.templateContext, (n) => `.kilocode/workflows/${n}.md`, ".kilocode/skills"),
|
|
164
|
-
},
|
|
165
|
-
kiro: {
|
|
166
|
-
configure: configureKiro,
|
|
167
|
-
collectTemplates: () => {
|
|
168
|
-
const files = new Map();
|
|
169
|
-
const ctx = AI_TOOLS.kiro.templateContext;
|
|
170
|
-
for (const [filePath, content] of collectSkillTemplates(".kiro/skills", resolveAllAsSkills(ctx), resolveBundledSkills(ctx))) {
|
|
171
|
-
files.set(filePath, content);
|
|
172
|
-
}
|
|
173
|
-
for (const agent of getKiroAgents()) {
|
|
174
|
-
files.set(`.kiro/agents/${agent.name}.json`, resolvePlaceholders(agent.content));
|
|
175
|
-
}
|
|
176
|
-
for (const [k, v] of collectSharedHooks(".kiro/hooks", "kiro")) {
|
|
177
|
-
files.set(k, v);
|
|
178
|
-
}
|
|
179
|
-
return files;
|
|
180
|
-
},
|
|
181
|
-
},
|
|
182
|
-
gemini: {
|
|
183
|
-
configure: configureGemini,
|
|
184
|
-
collectTemplates: () => {
|
|
185
|
-
const ctx = AI_TOOLS.gemini.templateContext;
|
|
186
|
-
const files = new Map();
|
|
187
|
-
for (const cmd of resolveCommands(ctx)) {
|
|
188
|
-
const toml = `description = "Trellis: ${cmd.name}"\n\nprompt = """\n${cmd.content}\n"""\n`;
|
|
189
|
-
files.set(`.gemini/commands/trellis/${cmd.name}.toml`, toml);
|
|
190
|
-
}
|
|
191
|
-
// Shared skills written to `.agents/skills/` (Gemini CLI 0.40+ workspace
|
|
192
|
-
// alias). Neutral resolver keeps content byte-identical to Codex's writes
|
|
193
|
-
// for the same skill names.
|
|
194
|
-
for (const [filePath, content] of collectSkillTemplates(".agents/skills", resolveSkillsNeutral(ctx), resolveBundledSkills(ctx))) {
|
|
195
|
-
files.set(filePath, content);
|
|
196
|
-
}
|
|
197
|
-
for (const agent of applyPullBasedPreludeMarkdown(getGeminiAgents())) {
|
|
198
|
-
files.set(`.gemini/agents/${agent.name}.md`, agent.content);
|
|
199
|
-
}
|
|
200
|
-
for (const [k, v] of collectSharedHooks(".gemini/hooks", "gemini")) {
|
|
201
|
-
files.set(k, v);
|
|
202
|
-
}
|
|
203
|
-
files.set(".gemini/settings.json", resolvePlaceholders(getGeminiSettings()));
|
|
204
|
-
return files;
|
|
205
|
-
},
|
|
206
|
-
},
|
|
207
|
-
antigravity: {
|
|
208
|
-
configure: configureAntigravity,
|
|
209
|
-
collectTemplates: () => collectBothTemplates(AI_TOOLS.antigravity.templateContext, (n) => `.agent/workflows/${n}.md`, ".agent/skills"),
|
|
210
|
-
},
|
|
211
|
-
windsurf: {
|
|
212
|
-
configure: configureWindsurf,
|
|
213
|
-
collectTemplates: () => collectBothTemplates(AI_TOOLS.windsurf.templateContext, (n) => `.windsurf/workflows/trellis-${n}.md`, ".windsurf/skills"),
|
|
214
|
-
},
|
|
215
|
-
qoder: {
|
|
216
|
-
configure: configureQoder,
|
|
217
|
-
collectTemplates: () => {
|
|
218
|
-
const files = collectBothTemplates(AI_TOOLS.qoder.templateContext, (n) => `.qoder/commands/trellis-${n}.md`, ".qoder/skills", (filePath, content) => {
|
|
219
|
-
const name = path.basename(filePath, ".md");
|
|
220
|
-
return wrapWithCommandFrontmatter(name, content);
|
|
221
|
-
});
|
|
222
|
-
for (const agent of applyPullBasedPreludeMarkdown(getQoderAgents())) {
|
|
223
|
-
files.set(`.qoder/agents/${agent.name}.md`, agent.content);
|
|
224
|
-
}
|
|
225
|
-
for (const [k, v] of collectSharedHooks(".qoder/hooks", "qoder")) {
|
|
226
|
-
files.set(k, v);
|
|
227
|
-
}
|
|
228
|
-
const settings = getQoderSettings();
|
|
229
|
-
files.set(`.qoder/${settings.targetPath}`, resolvePlaceholders(settings.content));
|
|
230
|
-
return files;
|
|
231
|
-
},
|
|
232
|
-
},
|
|
233
|
-
codebuddy: {
|
|
234
|
-
configure: configureCodebuddy,
|
|
235
|
-
collectTemplates: () => {
|
|
236
|
-
const files = collectBothTemplates(AI_TOOLS.codebuddy.templateContext, (n) => `.codebuddy/commands/trellis/${n}.md`, ".codebuddy/skills");
|
|
237
|
-
for (const agent of getCodebuddyAgents()) {
|
|
238
|
-
files.set(`.codebuddy/agents/${agent.name}.md`, agent.content);
|
|
239
|
-
}
|
|
240
|
-
for (const [k, v] of collectSharedHooks(".codebuddy/hooks", "codebuddy")) {
|
|
241
|
-
files.set(k, v);
|
|
242
|
-
}
|
|
243
|
-
const settings = getCodebuddySettings();
|
|
244
|
-
files.set(`.codebuddy/${settings.targetPath}`, resolvePlaceholders(settings.content));
|
|
245
|
-
return files;
|
|
246
|
-
},
|
|
247
|
-
},
|
|
248
|
-
copilot: {
|
|
249
|
-
configure: configureCopilot,
|
|
250
|
-
collectTemplates: () => {
|
|
251
|
-
const ctx = AI_TOOLS.copilot.templateContext;
|
|
252
|
-
const files = new Map();
|
|
253
|
-
for (const cmd of resolveCommands(ctx)) {
|
|
254
|
-
files.set(`.github/prompts/${cmd.name}.prompt.md`, cmd.content);
|
|
255
|
-
}
|
|
256
|
-
for (const [filePath, content] of collectSkillTemplates(".github/skills", resolveSkills(ctx), resolveBundledSkills(ctx))) {
|
|
257
|
-
files.set(filePath, content);
|
|
258
|
-
}
|
|
259
|
-
// Copilot's own session-start hook
|
|
260
|
-
for (const hook of getCopilotHooks()) {
|
|
261
|
-
files.set(`.github/copilot/hooks/${hook.name}`, hook.content);
|
|
262
|
-
}
|
|
263
|
-
// Shared hooks (inject-workflow-state.py only). Copilot bundles its own
|
|
264
|
-
// session-start.py above; sub-agent context is pull-based (class-2).
|
|
265
|
-
for (const [k, v] of collectSharedHooks(".github/copilot/hooks", "copilot")) {
|
|
266
|
-
files.set(k, v);
|
|
267
|
-
}
|
|
268
|
-
// Agents: reuse Cursor content + prepend pull-based prelude, then
|
|
269
|
-
// normalize Cursor's Claude-style tools frontmatter for Copilot.
|
|
270
|
-
for (const agent of applyPullBasedPreludeMarkdown(normalizeCopilotMarkdownAgents(getCursorAgents()))) {
|
|
271
|
-
files.set(`.github/agents/${agent.name}.agent.md`, agent.content);
|
|
272
|
-
}
|
|
273
|
-
const hooksConfig = resolvePlaceholders(getCopilotHooksConfig());
|
|
274
|
-
files.set(".github/copilot/hooks.json", hooksConfig);
|
|
275
|
-
files.set(".github/hooks/trellis.json", hooksConfig);
|
|
276
|
-
return files;
|
|
277
|
-
},
|
|
278
|
-
},
|
|
279
|
-
droid: {
|
|
280
|
-
configure: configureDroid,
|
|
281
|
-
collectTemplates: () => {
|
|
282
|
-
const files = collectBothTemplates(AI_TOOLS.droid.templateContext, (n) => `.factory/commands/trellis/${n}.md`, ".factory/skills");
|
|
283
|
-
for (const droid of getDroidDroids()) {
|
|
284
|
-
files.set(`.factory/droids/${droid.name}.md`, droid.content);
|
|
285
|
-
}
|
|
286
|
-
for (const [k, v] of collectSharedHooks(".factory/hooks", "droid")) {
|
|
287
|
-
files.set(k, v);
|
|
288
|
-
}
|
|
289
|
-
const settings = getDroidSettings();
|
|
290
|
-
files.set(`.factory/${settings.targetPath}`, resolvePlaceholders(settings.content));
|
|
291
|
-
return files;
|
|
292
|
-
},
|
|
293
|
-
},
|
|
294
|
-
pi: {
|
|
295
|
-
configure: configurePi,
|
|
296
|
-
collectTemplates: () => collectPiTemplates(),
|
|
297
|
-
},
|
|
298
73
|
};
|
|
299
74
|
// =============================================================================
|
|
300
75
|
// Derived Helpers — all derived from AI_TOOLS registry
|
|
@@ -305,7 +80,7 @@ export const PLATFORM_IDS = Object.keys(AI_TOOLS);
|
|
|
305
80
|
export const FIRST_CLASS_PLATFORM_IDS = PLATFORM_IDS.filter((id) => AI_TOOLS[id].tier === "first-class");
|
|
306
81
|
/** Legacy adapter IDs retained for explicit compatibility, not default targeting. */
|
|
307
82
|
export const LEGACY_PLATFORM_IDS = PLATFORM_IDS.filter((id) => AI_TOOLS[id].tier === "legacy");
|
|
308
|
-
/** All platform config directory names (e.g., [".
|
|
83
|
+
/** All platform config directory names (e.g., [".cursor"]) */
|
|
309
84
|
export const CONFIG_DIRS = PLATFORM_IDS.map((id) => AI_TOOLS[id].configDir);
|
|
310
85
|
/** All managed paths for every platform (primary configDir + extra managed paths). */
|
|
311
86
|
export const PLATFORM_MANAGED_DIRS = PLATFORM_IDS.flatMap((id) => getManagedPaths(id));
|
|
@@ -387,7 +162,7 @@ export function getInitToolChoices() {
|
|
|
387
162
|
}));
|
|
388
163
|
}
|
|
389
164
|
/**
|
|
390
|
-
* Resolve CLI flag name to AITool id (e.g., "
|
|
165
|
+
* Resolve CLI flag name to AITool id (e.g., "cursor" → "cursor")
|
|
391
166
|
*/
|
|
392
167
|
export function resolveCliFlag(flag) {
|
|
393
168
|
return PLATFORM_IDS.find((id) => AI_TOOLS[id].cliFlag === flag);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/configurators/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/configurators/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/configurators/workflow.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/configurators/workflow.ts"],"names":[],"mappings":"AA2CA,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,eAAe,EACrB,MAAM,8BAA8B,CAAC;AAOtC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,yCAAyC;IACzC,WAAW,EAAE,WAAW,CAAC;IACzB,yFAAyF;IACzF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kEAAkE;IAClE,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,0EAA0E;IAC1E,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACjC;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,IAAI,CAAC,CAwDf"}
|
|
@@ -10,7 +10,7 @@ backendIndexContent, backendDirectoryStructureContent, backendDatabaseGuidelines
|
|
|
10
10
|
// Frontend structure (multi-doc)
|
|
11
11
|
frontendIndexContent, frontendDirectoryStructureContent, frontendTypeSafetyContent, frontendHookGuidelinesContent, frontendComponentGuidelinesContent, frontendQualityGuidelinesContent, frontendStateManagementContent,
|
|
12
12
|
// Guides structure
|
|
13
|
-
guidesIndexContent, guidesCrossLayerThinkingGuideContent, guidesCodeReuseThinkingGuideContent, guidesDurableLearningDecisionGuideContent, guidesRetrievalDailyGuideContent, guidesCursorSubagentPolicyContent, } from "../templates/markdown/index.js";
|
|
13
|
+
guidesIndexContent, guidesCrossLayerThinkingGuideContent, guidesCodeReuseThinkingGuideContent, guidesDurableLearningDecisionGuideContent, guidesRetrievalDailyGuideContent, guidesCursorSemanticComplianceContent, guidesCursorSubagentPolicyContent, } from "../templates/markdown/index.js";
|
|
14
14
|
import { writeFile, ensureDir } from "../utils/file-writer.js";
|
|
15
15
|
import { replacePythonCommandLiterals } from "./shared.js";
|
|
16
16
|
import { writeCursor2plusLocalBundle } from "./cursor2plus-local.js";
|
|
@@ -152,6 +152,10 @@ async function createSpecTemplates(cwd, projectType, packages, remoteSpecPackage
|
|
|
152
152
|
name: "retrieval-daily-guide.md",
|
|
153
153
|
content: guidesRetrievalDailyGuideContent,
|
|
154
154
|
},
|
|
155
|
+
{
|
|
156
|
+
name: "cursor-semantic-compliance.md",
|
|
157
|
+
content: guidesCursorSemanticComplianceContent,
|
|
158
|
+
},
|
|
155
159
|
{
|
|
156
160
|
name: "cursor-subagent-policy.md",
|
|
157
161
|
content: guidesCursorSubagentPolicyContent,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/configurators/workflow.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/configurators/workflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.1.1",
|
|
3
|
+
"description": "v0.1.1 — Cursor-only platform reduction. Trellis templates, CLI init/update/uninstall, retrieval router, and docs converge on Cursor as the sole managed platform.",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "**Cursor-only product trim.**\n\n- refactor(cli): platform registry, init, uninstall/update, and template dirs reduced to Cursor-only (S1–S11).\n- refactor(retrieval): drop `--platform` / non-Cursor dead branches from codebase retrieval planner (R12).\n- refactor(core): remove mem module export (R13).\n- docs/spec: workflow, AGENTS, README, and guides aligned to cursor-only surface.\n\nRun `trellis update` in each project to sync templates and scripts.",
|
|
7
|
+
"migrations": [],
|
|
8
|
+
"notes": "Backfilled manifest for npm 0.1.1 (published without local manifest). No automated migrations; template sync via `trellis update`."
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.1.2",
|
|
3
|
+
"description": "v0.1.2 — Agent dispatch context assembly: `generate-dispatch-prompt` CLI (Layer 2) plus shared subagent_dispatch builder and slim preToolUse hook.",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "**Subagent dispatch Layer 2 (Agent-facing).**\n\n- feat(cli): `task.py generate-dispatch-prompt <task-dir> <role>` assembles full Task prompts (marker, Selected task, prd/jsonl/spec embed).\n- refactor(scripts): `common/subagent_dispatch.py` single builder; hook is thin wrapper with marker dedup.\n- docs: workflow Phase 2.1/2.2 orchestrator contract; cursor-context-injection-guide + cursor-subagent-policy Layer 2 rows.\n\nFull/Parent implement/check on Cursor: main session should run dispatch CLI before `Task(trellis-*)`. Hook remains best-effort.",
|
|
7
|
+
"migrations": [],
|
|
8
|
+
"notes": "No user README changes. Run `trellis update` in each project to sync `.trellis/scripts` and hooks."
|
|
9
|
+
}
|
|
@@ -262,10 +262,10 @@ Use this when the user wants work that can be inspected, resumed, or audited.
|
|
|
262
262
|
- Prefer the CLI's local config file managed by `smart-search setup` / `smart-search config`.
|
|
263
263
|
- Environment variables remain supported for CI and advanced users, and override the local config file.
|
|
264
264
|
- Do not ask users to set Windows global API-key environment variables by default.
|
|
265
|
-
- If keys are changed with `smart-search config set`, rerun the CLI; no
|
|
266
|
-
- If PATH is changed, a new terminal or
|
|
265
|
+
- If keys are changed with `smart-search config set`, rerun the CLI; no Cursor reload is needed.
|
|
266
|
+
- If PATH is changed, a new terminal or Cursor reload may be needed.
|
|
267
267
|
- On Windows, the default local config file is `%LOCALAPPDATA%\smart-search\config.json`. Linux/macOS default to `~/.config/smart-search/config.json`.
|
|
268
|
-
- In sandboxed runtimes (
|
|
268
|
+
- In sandboxed runtimes (Cursor agent-sandbox subprocesses, containers, CI) where the default config directory is not writable or must be pinned, set `SMART_SEARCH_CONFIG_DIR` to an absolute writable path. The CLI uses it for both config and relative logs and skips default-directory selection.
|
|
269
269
|
- The default research evidence root is `evidence` under the active config directory. Set `SMART_SEARCH_EVIDENCE_DIR` only when evidence needs a separate absolute location; `config path` and `doctor` report both the configured and resolved evidence paths.
|
|
270
270
|
- Earlier Windows source defaults used `~\.config\smart-search\config.json`, while some installs were already pinned to `%LOCALAPPDATA%\smart-search` through `SMART_SEARCH_CONFIG_DIR`. If the new default file is missing but the old file exists, `doctor` reports `legacy_windows_home` as the active source so upgrades do not silently lose configuration. It also reports the override value and whether it matches the current default.
|
|
271
271
|
- Use `smart-search doctor --format json` for agent/script parsing and `smart-search doctor --format markdown` when a human wants a detailed diagnostic report.
|
|
@@ -10,8 +10,10 @@ This skill is for local Trellis users who have already run `trellis init` in a p
|
|
|
10
10
|
The default operating scope is local files in the user project:
|
|
11
11
|
|
|
12
12
|
- `.trellis/`: workflow, config, tasks, spec, workspace, scripts, and runtime state.
|
|
13
|
-
- Platform
|
|
14
|
-
- Shared skill layer: `.agents/skills
|
|
13
|
+
- Platform directory: `.cursor/` — skills, agents, hooks, commands, rules.
|
|
14
|
+
- Shared skill layer: `.agents/skills/` (industry skill-sharing path, kept when present but not extended by new Trellis behavior).
|
|
15
|
+
|
|
16
|
+
Trellis previously supported many AI-platform adapter directories (`.claude/`, `.codex/`, `.opencode/`, `.kiro/`, `.gemini/`, `.qoder/`, `.codebuddy/`, `.github/`, `.factory/`, `.pi/`, `.kilocode/`, `.agent/`, `.windsurf/`). The project has converged on **Cursor-only**. Legacy adapter directories in upgraded projects are preserved by `trellis update` but new Trellis behavior ships to `.cursor/` only.
|
|
15
17
|
|
|
16
18
|
Do not assume the user has the Trellis source repository. Do not default to modifying the global npm install directory or `node_modules`.
|
|
17
19
|
|
|
@@ -6,24 +6,17 @@ When the user wants to change `trellis-research`, `trellis-implement`, or `trell
|
|
|
6
6
|
|
|
7
7
|
1. Target platform agent directory
|
|
8
8
|
2. `.trellis/workflow.md` Phase 2 / research routing
|
|
9
|
-
3. Selected task `prd.md`
|
|
10
|
-
4. Selected task `implement.jsonl` / `check.jsonl`
|
|
9
|
+
3. Selected task `prd.md`
|
|
10
|
+
4. Selected task `implement.jsonl` / `check.jsonl`
|
|
11
11
|
5. Relevant hook or agent prelude
|
|
12
12
|
|
|
13
13
|
## Common Paths
|
|
14
14
|
|
|
15
15
|
| Platform | Path |
|
|
16
16
|
| --- | --- |
|
|
17
|
-
| Claude Code | `.claude/agents/trellis-*.md` |
|
|
18
17
|
| Cursor | `.cursor/agents/trellis-*.md` |
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
| Kiro | `.kiro/agents/trellis-*.json` |
|
|
22
|
-
| Gemini CLI | `.gemini/agents/trellis-*.md` |
|
|
23
|
-
| Qoder | `.qoder/agents/trellis-*.md` |
|
|
24
|
-
| CodeBuddy | `.codebuddy/agents/trellis-*.md` |
|
|
25
|
-
| Factory Droid | `.factory/droids/trellis-*.md` |
|
|
26
|
-
| Pi Agent | `.pi/agents/trellis-*.md` |
|
|
18
|
+
|
|
19
|
+
If a user project still contains legacy platform agent directories (`.claude/agents/`, `.codex/agents/`, etc.), inspect them but route new agent definitions to `.cursor/agents/`.
|
|
27
20
|
|
|
28
21
|
Use the actual paths in the user project as authoritative.
|
|
29
22
|
|
|
@@ -41,14 +34,14 @@ Use the actual paths in the user project as authoritative.
|
|
|
41
34
|
|
|
42
35
|
1. **Preserve role boundaries**: research investigates and persists; implement writes implementation; check reviews and fixes.
|
|
43
36
|
2. **Do not hard-code project specs into agents**: long-term specs belong in `.trellis/spec/`; agents are responsible for reading them.
|
|
44
|
-
3. **Make read order explicit**: selected task -> PRD -> info -> JSONL -> spec/research.
|
|
37
|
+
3. **Make read order explicit**: selected task -> PRD -> info -> JSONL -> spec/research.
|
|
45
38
|
4. **Make write boundaries explicit**: which directories may be written and which may not.
|
|
46
|
-
5. **
|
|
39
|
+
5. **Treat dogfood + published copies consistently**: `.cursor/agents/trellis-*.md` (dogfooded) and `packages/cli/src/templates/cursor/agents/trellis-*.md` (published template) must stay in sync — see `cross-layer-thinking-guide.md.txt` → Cross-Package Template Consistency.
|
|
47
40
|
|
|
48
|
-
## Agent Pull
|
|
41
|
+
## Agent Pull Mode
|
|
49
42
|
|
|
50
43
|
If an agent file contains a prelude for "read task/context after startup," do not remove those steps when editing. Otherwise the agent will work only from chat context and bypass Trellis's core mechanism.
|
|
51
44
|
|
|
52
|
-
## Hook Push
|
|
45
|
+
## Hook Push Mode
|
|
53
46
|
|
|
54
47
|
If context is injected by a hook, the agent file should still retain responsibility boundaries. Do not remove PRD/spec requirements from the agent just because a hook injects context.
|
package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-hooks.md
CHANGED
|
@@ -4,7 +4,7 @@ Hooks are the automation layer that connects a platform to Trellis. When the use
|
|
|
4
4
|
|
|
5
5
|
## Read These Files First
|
|
6
6
|
|
|
7
|
-
1. Target platform settings/config
|
|
7
|
+
1. Target platform settings/config: `.cursor/hooks.json`
|
|
8
8
|
2. Target platform hooks directory
|
|
9
9
|
3. `.trellis/scripts/common/active_task.py`
|
|
10
10
|
4. `.trellis/scripts/common/session_context.py`
|
|
@@ -32,8 +32,8 @@ Hooks are the automation layer that connects a platform to Trellis. When the use
|
|
|
32
32
|
First find the session-start hook:
|
|
33
33
|
|
|
34
34
|
```text
|
|
35
|
-
.
|
|
36
|
-
.
|
|
35
|
+
.cursor/hooks.json
|
|
36
|
+
.cursor/hooks/session-start.py
|
|
37
37
|
```
|
|
38
38
|
|
|
39
39
|
If the hook ultimately calls `.trellis/scripts/get_context.py` or `session_context.py`, editing the local script is usually more robust than hard-coding content in the hook.
|
|
@@ -43,15 +43,15 @@ If the hook ultimately calls `.trellis/scripts/get_context.py` or `session_conte
|
|
|
43
43
|
First confirm:
|
|
44
44
|
|
|
45
45
|
```bash
|
|
46
|
-
python3 ./.trellis/scripts/task.py selected --source
|
|
47
|
-
python3 ./.trellis/scripts/task.py validate <task>
|
|
48
|
-
```
|
|
46
|
+
python3 ./.trellis/scripts/task.py selected --source
|
|
47
|
+
python3 ./.trellis/scripts/task.py validate <task>
|
|
48
|
+
```
|
|
49
49
|
|
|
50
50
|
If the task and JSONL are correct, determine whether the platform uses hook push or agent pull. For hook push, edit `inject-subagent-context`; for agent pull, edit the agent file.
|
|
51
51
|
|
|
52
52
|
## Notes
|
|
53
53
|
|
|
54
54
|
- Settings handle registration, hook scripts handle behavior; inspect both together.
|
|
55
|
-
-
|
|
55
|
+
- Cursor's hook event surface has changed between releases; confirm against the current Cursor build before wiring a new event.
|
|
56
56
|
- Hooks should read project-local `.trellis/`; they should not depend on Trellis upstream source paths.
|
|
57
57
|
- Hook failures should produce visible errors so AI does not silently lose context.
|
|
@@ -18,9 +18,9 @@ When the user wants to change AI entry points, auto-trigger rules, or explicit c
|
|
|
18
18
|
| Team project conventions | Prefer `.trellis/spec/` or a project-local skill. |
|
|
19
19
|
| Change Trellis flow semantics | Synchronize `.trellis/workflow.md`. |
|
|
20
20
|
|
|
21
|
-
## Modify A Skill
|
|
22
|
-
|
|
23
|
-
A skill is usually:
|
|
21
|
+
## Modify A Skill
|
|
22
|
+
|
|
23
|
+
A skill is usually:
|
|
24
24
|
|
|
25
25
|
```text
|
|
26
26
|
<skill-name>/
|
|
@@ -28,14 +28,14 @@ A skill is usually:
|
|
|
28
28
|
└── references/
|
|
29
29
|
```
|
|
30
30
|
|
|
31
|
-
`SKILL.md` should be short and responsible for triggering/routing. Put long content in `references/` so AI can read it on demand.
|
|
32
|
-
|
|
33
|
-
For detailed skill authoring and review rules, use `trellis-skill-creator`. This `trellis-meta` page only identifies where local Trellis skill, command, prompt, and workflow changes belong.
|
|
34
|
-
|
|
35
|
-
The frontmatter description should specify when to use the skill. Example:
|
|
36
|
-
|
|
37
|
-
```yaml
|
|
38
|
-
description: "Use when customizing this project's deployment workflow and release checklist."
|
|
31
|
+
`SKILL.md` should be short and responsible for triggering/routing. Put long content in `references/` so AI can read it on demand.
|
|
32
|
+
|
|
33
|
+
For detailed skill authoring and review rules, use `trellis-skill-creator`. This `trellis-meta` page only identifies where local Trellis skill, command, prompt, and workflow changes belong.
|
|
34
|
+
|
|
35
|
+
The frontmatter description should specify when to use the skill. Example:
|
|
36
|
+
|
|
37
|
+
```yaml
|
|
38
|
+
description: "Use when customizing this project's deployment workflow and release checklist."
|
|
39
39
|
```
|
|
40
40
|
|
|
41
41
|
Do not write vague descriptions such as "helpful project skill"; they can trigger incorrectly.
|
|
@@ -55,26 +55,23 @@ If a command only repeats workflow rules, prefer making it reference/read `.trel
|
|
|
55
55
|
|
|
56
56
|
| Platform | Entry directories |
|
|
57
57
|
| --- | --- |
|
|
58
|
-
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
| Codex | `.agents/skills/`, `.codex/skills/` |
|
|
62
|
-
| GitHub Copilot | `.github/skills/`, `.github/prompts/` |
|
|
63
|
-
| Kilo / Antigravity / Windsurf | workflows + skills |
|
|
58
|
+
| Cursor | `.cursor/skills/` (preferred); `.cursor/commands/` is legacy compatibility-only |
|
|
59
|
+
|
|
60
|
+
If a user project still contains legacy platform skill directories (`.claude/skills/`, `.codex/skills/`, etc.), inspect them but route new skill additions to `.cursor/skills/`.
|
|
64
61
|
|
|
65
62
|
## Add A Project-Local Skill
|
|
66
63
|
|
|
67
64
|
If the user wants to document team-private customizations, create a project-local skill, for example:
|
|
68
65
|
|
|
69
66
|
```text
|
|
70
|
-
.
|
|
67
|
+
.cursor/skills/project-trellis-local/
|
|
71
68
|
└── SKILL.md
|
|
72
69
|
```
|
|
73
70
|
|
|
74
|
-
For
|
|
71
|
+
For shared skill layers across tools, consider `.agents/skills/` on platforms that read that path — but do not extend new Trellis behavior there; new Trellis behavior ships to `.cursor/skills/`.
|
|
75
72
|
|
|
76
73
|
## Notes
|
|
77
74
|
|
|
78
|
-
- Do not mix
|
|
79
|
-
- Do not change only
|
|
75
|
+
- Do not mix platform-specific syntax from removed adapters into the Cursor skill files.
|
|
76
|
+
- Do not change only the dogfooded `.cursor/skills/` copy while forgetting to mirror the published template `packages/cli/src/templates/cursor/skills/` (and vice versa); see `cross-layer-thinking-guide.md.txt` → Cross-Package Template Consistency.
|
|
80
77
|
- Do not hide long-term engineering conventions inside a command; write them to `.trellis/spec/`.
|
package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/overview.md
CHANGED
|
@@ -17,7 +17,7 @@ This directory is for local AI working in a user project where Trellis was insta
|
|
|
17
17
|
|
|
18
18
|
## General Operation Order
|
|
19
19
|
|
|
20
|
-
1. **Confirm platform and directories**: inspect which directories exist
|
|
20
|
+
1. **Confirm platform and directories**: inspect which directories exist; on a fresh `trellis init --cursor` only `.cursor/` and `.trellis/` are created.
|
|
21
21
|
2. **Confirm the selected task**: run `python3 ./.trellis/scripts/task.py selected --source`.
|
|
22
22
|
3. **Read the local source of truth**: prefer `.trellis/workflow.md`, `.trellis/config.yaml`, and relevant platform files.
|
|
23
23
|
4. **Modify narrowly**: edit only files related to the user's request.
|
|
@@ -32,7 +32,7 @@ This directory is for local AI working in a user project where Trellis was insta
|
|
|
32
32
|
| Task material | `.trellis/tasks/<task>/` |
|
|
33
33
|
| Project specs | `.trellis/spec/` |
|
|
34
34
|
| Runtime scripts | `.trellis/scripts/` |
|
|
35
|
-
| Platform integration | `.
|
|
35
|
+
| Platform integration | `.cursor/` plus legacy adapter directories preserved by `trellis update` |
|
|
36
36
|
| Shared skill | `.agents/skills/` |
|
|
37
37
|
|
|
38
38
|
## Things Not To Do By Default
|