@blxzer/cursor-trellis 0.2.9 → 0.3.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/CHANGELOG.md +94 -0
- package/README.md +85 -19
- package/README.zh-CN.md +60 -21
- package/bin/smart-search.js +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +46 -18
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/capability-smoke.d.ts +24 -0
- package/dist/commands/capability-smoke.d.ts.map +1 -0
- package/dist/commands/capability-smoke.js +83 -0
- package/dist/commands/capability-smoke.js.map +1 -0
- package/dist/commands/channel/agent-loader.d.ts +1 -1
- package/dist/commands/channel/agent-loader.js +4 -4
- package/dist/commands/channel/agent-loader.js.map +1 -1
- package/dist/commands/channel/guard.d.ts +2 -2
- package/dist/commands/channel/guard.js +3 -3
- package/dist/commands/channel/guard.js.map +1 -1
- package/dist/commands/channel/index.js +3 -3
- package/dist/commands/channel/index.js.map +1 -1
- package/dist/commands/channel/list.d.ts +1 -1
- package/dist/commands/channel/list.js +1 -1
- package/dist/commands/channel/rm.d.ts +1 -1
- package/dist/commands/channel/rm.js +1 -1
- package/dist/commands/channel/store/lock.d.ts +1 -1
- package/dist/commands/channel/store/lock.js +1 -1
- package/dist/commands/channel/store/paths.js +1 -1
- package/dist/commands/channel/store/paths.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +197 -91
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/uninstall.d.ts +4 -4
- package/dist/commands/uninstall.js +12 -12
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/commands/update.d.ts +7 -2
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +161 -61
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/upgrade.js +2 -2
- package/dist/commands/upgrade.js.map +1 -1
- package/dist/commands/workflow.d.ts +4 -4
- package/dist/commands/workflow.d.ts.map +1 -1
- package/dist/commands/workflow.js +10 -9
- package/dist/commands/workflow.js.map +1 -1
- package/dist/configurators/cursor.d.ts +2 -2
- package/dist/configurators/cursor.js +4 -4
- package/dist/configurators/cursor.js.map +1 -1
- package/dist/configurators/index.d.ts.map +1 -1
- package/dist/configurators/index.js +4 -4
- package/dist/configurators/index.js.map +1 -1
- package/dist/configurators/shared.d.ts +10 -10
- package/dist/configurators/shared.d.ts.map +1 -1
- package/dist/configurators/shared.js +32 -32
- package/dist/configurators/shared.js.map +1 -1
- package/dist/configurators/workflow.d.ts +6 -6
- package/dist/configurators/workflow.js +1 -1
- package/dist/constants/paths.d.ts +24 -24
- package/dist/constants/paths.d.ts.map +1 -1
- package/dist/constants/paths.js +16 -16
- package/dist/constants/paths.js.map +1 -1
- package/dist/migrations/manifests/0.2.10.json +374 -0
- package/dist/migrations/manifests/0.3.0.json +89 -0
- package/dist/migrations/manifests/0.3.1.json +32 -0
- package/dist/templates/common/bundled-skills/{trellis-cursor2plus-setup → cstl-cursor2plus-setup}/SKILL.md +15 -14
- package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/SKILL.md +75 -75
- package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/customize-local/add-project-local-conventions.md +19 -19
- package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/customize-local/change-agents.md +8 -8
- package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/customize-local/change-context-loading.md +26 -26
- package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/customize-local/change-hooks.md +9 -9
- package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/customize-local/change-skills-or-commands.md +8 -8
- package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/customize-local/change-spec-structure.md +17 -17
- package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/customize-local/change-task-lifecycle.md +46 -46
- package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/customize-local/change-workflow.md +18 -18
- package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/customize-local/overview.md +55 -55
- package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/local-architecture/context-injection.md +20 -20
- package/dist/templates/common/bundled-skills/cstl-meta/references/local-architecture/generated-files.md +83 -0
- package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/local-architecture/overview.md +15 -15
- package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/local-architecture/spec-system.md +12 -12
- package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/local-architecture/task-system.md +34 -34
- package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/local-architecture/workflow.md +8 -8
- package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/local-architecture/workspace-memory.md +19 -19
- package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/platform-files/agents.md +12 -12
- package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/platform-files/hooks-and-settings.md +7 -7
- package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/platform-files/overview.md +9 -9
- package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/platform-files/platform-map.md +7 -7
- package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/platform-files/skills-and-commands.md +19 -19
- package/dist/templates/common/bundled-skills/{trellis-micro-grill → cstl-micro-grill}/SKILL.md +62 -47
- package/dist/templates/common/bundled-skills/{trellis-skill-creator → cstl-skill-creator}/SKILL.md +44 -44
- package/dist/templates/common/bundled-skills/{trellis-skill-creator → cstl-skill-creator}/references/authoring-rules.md +97 -97
- package/dist/templates/common/bundled-skills/{trellis-skill-creator/references/trellis-skill-locations.md → cstl-skill-creator/references/cstl-skill-locations.md} +52 -52
- package/dist/templates/common/bundled-skills/{trellis-skill-creator → cstl-skill-creator}/references/review-checklist.md +47 -47
- package/dist/templates/common/bundled-skills/{trellis-spec-bootstrap → cstl-spec-bootstrap}/SKILL.md +6 -6
- package/dist/templates/common/bundled-skills/{trellis-spec-bootstrap → cstl-spec-bootstrap}/references/repository-analysis.md +1 -1
- package/dist/templates/common/bundled-skills/{trellis-spec-bootstrap → cstl-spec-bootstrap}/references/spec-task-planning.md +3 -3
- package/dist/templates/common/bundled-skills/{trellis-spec-bootstrap → cstl-spec-bootstrap}/references/spec-writing.md +1 -1
- package/dist/templates/common/commands/continue.md +24 -24
- package/dist/templates/common/commands/finish-work.md +5 -5
- package/dist/templates/common/commands/start.md +20 -20
- package/dist/templates/common/index.d.ts +1 -1
- package/dist/templates/common/index.d.ts.map +1 -1
- package/dist/templates/common/skills/before-dev.md +4 -4
- package/dist/templates/common/skills/brainstorm.md +188 -164
- package/dist/templates/common/skills/break-loop.md +3 -3
- package/dist/templates/common/skills/check.md +5 -5
- package/dist/templates/common/skills/update-spec.md +4 -4
- package/dist/templates/cursor/agents/{trellis-check.md → cstl-check.md} +14 -14
- package/dist/templates/cursor/agents/{trellis-implement.md → cstl-implement.md} +14 -14
- package/dist/templates/cursor/agents/{trellis-research.md → cstl-research.md} +11 -11
- package/dist/templates/cursor/commands/cursor2plus-setup.md +15 -15
- package/dist/templates/cursor/fixtures/expected-rules.d.ts +1 -1
- package/dist/templates/cursor/fixtures/expected-rules.d.ts.map +1 -1
- package/dist/templates/cursor/fixtures/expected-rules.js +2 -2
- package/dist/templates/cursor/fixtures/expected-rules.js.map +1 -1
- package/dist/templates/cursor/rules/{trellis-subagent-dispatch.mdc → cstl-subagent-dispatch.mdc} +4 -4
- package/dist/templates/cursor/rules/{trellis-triage.mdc → cstl-triage.mdc} +3 -3
- package/dist/templates/cursor/rules/retrieval-routing.mdc +4 -4
- package/dist/templates/extract.d.ts +1 -1
- package/dist/templates/extract.js +1 -1
- package/dist/templates/markdown/agents.md +13 -13
- package/dist/templates/markdown/prompts/run-semantic-slice-12.md.txt +1 -1
- package/dist/templates/markdown/spec/guides/cross-platform-thinking-guide.md.txt +634 -634
- package/dist/templates/markdown/spec/guides/cursor-context-injection-guide.md.txt +5 -5
- package/dist/templates/markdown/spec/guides/cursor-semantic-compliance.md.txt +7 -1
- package/dist/templates/markdown/spec/guides/cursor-subagent-policy.md.txt +393 -391
- package/dist/templates/markdown/spec/guides/durable-learning-decision-guide.md.txt +14 -14
- package/dist/templates/markdown/spec/guides/execution-strategy.md.txt +5 -5
- package/dist/templates/markdown/spec/guides/index.md.txt +3 -2
- package/dist/templates/markdown/spec/guides/retrieval-daily-guide.md.txt +10 -10
- package/dist/templates/markdown/workspace-index.md +3 -3
- package/dist/templates/markdown/worktree.yaml.txt +1 -1
- package/dist/templates/shared-hooks/index.d.ts +2 -2
- package/dist/templates/shared-hooks/index.js +2 -2
- package/dist/templates/shared-hooks/inject-retrieval-plan.py +3 -3
- package/dist/templates/shared-hooks/inject-shell-session-context.py +7 -7
- package/dist/templates/shared-hooks/inject-subagent-context.py +4 -4
- package/dist/templates/shared-hooks/inject-workflow-state.py +37 -37
- package/dist/templates/shared-hooks/research-end-retrieval-pack.py +2 -2
- package/dist/templates/shared-hooks/session-start.py +16 -16
- package/dist/templates/trellis/config/execution-strategy-rules.json +1 -1
- package/dist/templates/trellis/config.yaml +5 -25
- package/dist/templates/trellis/index.d.ts +2 -2
- package/dist/templates/trellis/index.js +2 -2
- package/dist/templates/trellis/local/README.md +15 -13
- package/dist/templates/trellis/local/patch_wpelc8.py +7 -7
- package/dist/templates/trellis/local/subagent-models.json.example +1 -1
- package/dist/templates/trellis/local/trellis-task-models.json.example +3 -3
- package/dist/templates/trellis/local/trellis-task-models.json5.example +5 -5
- package/dist/templates/trellis/local/trellis_task_models_config.py +6 -6
- package/dist/templates/trellis/scripts/add_session.py +20 -20
- package/dist/templates/trellis/scripts/common/active_task.py +2 -2
- package/dist/templates/trellis/scripts/common/artifact_search.py +587 -587
- package/dist/templates/trellis/scripts/common/cli_adapter.py +3 -3
- package/dist/templates/trellis/scripts/common/codebase_retrieval_router.py +6 -6
- package/dist/templates/trellis/scripts/common/config.py +3 -3
- package/dist/templates/trellis/scripts/common/developer.py +2 -2
- package/dist/templates/trellis/scripts/common/execution_strategy.py +1 -1
- package/dist/templates/trellis/scripts/common/packages_context.py +23 -23
- package/dist/templates/trellis/scripts/common/parent_orchestration.py +702 -702
- package/dist/templates/trellis/scripts/common/paths.py +107 -107
- package/dist/templates/trellis/scripts/common/project_file_stats.py +1 -1
- package/dist/templates/trellis/scripts/common/retrieval_agent_instructions.py +1 -1
- package/dist/templates/trellis/scripts/common/safe_commit.py +31 -31
- package/dist/templates/trellis/scripts/common/session_context.py +1159 -1159
- package/dist/templates/trellis/scripts/common/session_memory.py +360 -360
- package/dist/templates/trellis/scripts/common/smart_search_evidence.py +514 -514
- package/dist/templates/trellis/scripts/common/smart_search_resolve.py +1 -1
- package/dist/templates/trellis/scripts/common/subagent_dispatch.py +7 -7
- package/dist/templates/trellis/scripts/common/task_context.py +1 -1
- package/dist/templates/trellis/scripts/common/task_dashboard.py +140 -140
- package/dist/templates/trellis/scripts/common/task_gates.py +2056 -2034
- package/dist/templates/trellis/scripts/common/task_store.py +1594 -1594
- package/dist/templates/trellis/scripts/common/task_utils.py +3 -3
- package/dist/templates/trellis/scripts/common/tasks.py +1 -1
- package/dist/templates/trellis/scripts/common/trellis_config.py +3 -3
- package/dist/templates/trellis/scripts/common/workflow_phase.py +1 -1
- package/dist/templates/trellis/scripts/cursor_retrieval_probe.py +3 -3
- package/dist/templates/trellis/scripts/cursor_retrieval_probe_prompt.md +11 -11
- package/dist/templates/trellis/scripts/hooks/linear_sync.py +8 -8
- package/dist/templates/trellis/scripts/init_developer.py +2 -2
- package/dist/templates/trellis/scripts/retrieval_probe_matrix_template.json +4 -4
- package/dist/templates/trellis/scripts/route_codebase_retrieval.py +1 -1
- package/dist/templates/trellis/scripts/task.py +918 -918
- package/dist/templates/trellis/tasks/templates/release-readiness/implement.md +2 -2
- package/dist/templates/trellis/workflow.md +805 -805
- package/dist/types/ai-tools.d.ts +1 -1
- package/dist/types/ai-tools.d.ts.map +1 -1
- package/dist/types/ai-tools.js +1 -1
- package/dist/types/ai-tools.js.map +1 -1
- package/dist/types/migration.d.ts +1 -1
- package/dist/types/migration.d.ts.map +1 -1
- package/dist/utils/agents-md.d.ts +37 -0
- package/dist/utils/agents-md.d.ts.map +1 -0
- package/dist/utils/agents-md.js +82 -0
- package/dist/utils/agents-md.js.map +1 -0
- package/dist/utils/codebase-retrieval-router.js +5 -5
- package/dist/utils/codebase-retrieval-router.js.map +1 -1
- package/dist/utils/manifest-prune.d.ts +2 -2
- package/dist/utils/manifest-prune.js +4 -4
- package/dist/utils/manifest-prune.js.map +1 -1
- package/dist/utils/mirror-check.d.ts +3 -1
- package/dist/utils/mirror-check.d.ts.map +1 -1
- package/dist/utils/mirror-check.js +22 -11
- package/dist/utils/mirror-check.js.map +1 -1
- package/dist/utils/project-capabilities.d.ts +14 -3
- package/dist/utils/project-capabilities.d.ts.map +1 -1
- package/dist/utils/project-capabilities.js +127 -17
- package/dist/utils/project-capabilities.js.map +1 -1
- package/dist/utils/readiness.d.ts +10 -0
- package/dist/utils/readiness.d.ts.map +1 -1
- package/dist/utils/readiness.js +6 -3
- package/dist/utils/readiness.js.map +1 -1
- package/dist/utils/retrieval-agent-instructions.js +1 -1
- package/dist/utils/retrieval-agent-instructions.js.map +1 -1
- package/dist/utils/retrieval-execution-telemetry.js +1 -1
- package/dist/utils/retrieval-execution-telemetry.js.map +1 -1
- package/dist/utils/template-fetcher.js +1 -1
- package/dist/utils/template-fetcher.js.map +1 -1
- package/dist/utils/template-hash.d.ts +2 -2
- package/dist/utils/template-hash.d.ts.map +1 -1
- package/dist/utils/template-hash.js +12 -10
- package/dist/utils/template-hash.js.map +1 -1
- package/dist/utils/workflow-dir.d.ts +13 -0
- package/dist/utils/workflow-dir.d.ts.map +1 -0
- package/dist/utils/workflow-dir.js +35 -0
- package/dist/utils/workflow-dir.js.map +1 -0
- package/dist/utils/workflow-ownership.d.ts +36 -0
- package/dist/utils/workflow-ownership.d.ts.map +1 -0
- package/dist/utils/workflow-ownership.js +137 -0
- package/dist/utils/workflow-ownership.js.map +1 -0
- package/dist/utils/workflow-resolver.d.ts +1 -1
- package/dist/utils/workflow-resolver.js +1 -1
- package/package.json +3 -4
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/generated-files.md +0 -83
- /package/bin/{trellis.js → cstl.js} +0 -0
- /package/dist/templates/common/bundled-skills/{trellis-spec-bootstrap → cstl-spec-bootstrap}/references/mcp-setup.md +0 -0
|
@@ -46,15 +46,15 @@ class CLIAdapter:
|
|
|
46
46
|
def get_commands_path(self, project_root: Path, *parts: str) -> Path:
|
|
47
47
|
if not parts:
|
|
48
48
|
return self.get_config_dir(project_root) / "commands"
|
|
49
|
-
if len(parts) >= 2 and parts[0] == "
|
|
49
|
+
if len(parts) >= 2 and parts[0] == "cstl":
|
|
50
50
|
filename = parts[-1]
|
|
51
51
|
return (
|
|
52
|
-
self.get_config_dir(project_root) / "commands" / f"
|
|
52
|
+
self.get_config_dir(project_root) / "commands" / f"cstl-{filename}"
|
|
53
53
|
)
|
|
54
54
|
return self.get_config_dir(project_root) / "commands" / Path(*parts)
|
|
55
55
|
|
|
56
56
|
def get_trellis_command_path(self, name: str) -> str:
|
|
57
|
-
return f".cursor/commands/
|
|
57
|
+
return f".cursor/commands/cstl-{name}.md"
|
|
58
58
|
|
|
59
59
|
def get_non_interactive_env(self) -> dict[str, str]:
|
|
60
60
|
return {}
|
|
@@ -350,7 +350,7 @@ def _verification_for_intents(intents: list[dict[str, object]]) -> list[dict[str
|
|
|
350
350
|
"id": "policy-doc-top1",
|
|
351
351
|
"requirement": (
|
|
352
352
|
"For policy/document intents, confirm Top-1 policy evidence from "
|
|
353
|
-
"AGENTS.md or .
|
|
353
|
+
"AGENTS.md or .cstl/spec before ranking implementation modules first."
|
|
354
354
|
),
|
|
355
355
|
"appliesToRoles": ["exact", "semantic"],
|
|
356
356
|
},
|
|
@@ -561,7 +561,7 @@ def _ordered_routes(
|
|
|
561
561
|
"sourceFamily": "policy-docs",
|
|
562
562
|
"commands": [
|
|
563
563
|
'rg -i "storage default|sidecar|sqlite only" AGENTS.md "**/AGENTS.md" '
|
|
564
|
-
"README.md CONTRIBUTING.md .
|
|
564
|
+
"README.md CONTRIBUTING.md .cstl/spec"
|
|
565
565
|
],
|
|
566
566
|
"rationale": "Policy/document intent: search instruction and spec docs first.",
|
|
567
567
|
})
|
|
@@ -589,7 +589,7 @@ def _ordered_routes(
|
|
|
589
589
|
"sourceFamily": "policy-docs",
|
|
590
590
|
"commands": [
|
|
591
591
|
'rg -i "storage default|sidecar|sqlite only" AGENTS.md "**/AGENTS.md" '
|
|
592
|
-
"README.md CONTRIBUTING.md .
|
|
592
|
+
"README.md CONTRIBUTING.md .cstl/spec"
|
|
593
593
|
],
|
|
594
594
|
"rationale": "Policy/document intent: search instruction and spec docs first.",
|
|
595
595
|
})
|
|
@@ -615,7 +615,7 @@ def _ordered_routes(
|
|
|
615
615
|
"sourceFamily": "policy-docs",
|
|
616
616
|
"commands": [
|
|
617
617
|
'rg -i "storage default|sidecar|sqlite only" AGENTS.md "**/AGENTS.md" '
|
|
618
|
-
"README.md CONTRIBUTING.md .
|
|
618
|
+
"README.md CONTRIBUTING.md .cstl/spec"
|
|
619
619
|
],
|
|
620
620
|
"rationale": "Policy/document branch after exact-primary when both intents match.",
|
|
621
621
|
})
|
|
@@ -733,7 +733,7 @@ def _fallback_hints(
|
|
|
733
733
|
if any(str(item["id"]) == INTENT_POLICY for item in intents):
|
|
734
734
|
hints.append({
|
|
735
735
|
"when": "semantic Top-1 is implementation-only for policy query",
|
|
736
|
-
"action": "Fall back to policy-doc rg and AGENTS.md/.
|
|
736
|
+
"action": "Fall back to policy-doc rg and AGENTS.md/.cstl/spec reads.",
|
|
737
737
|
"replacesRole": "semantic",
|
|
738
738
|
})
|
|
739
739
|
semantic_route = next(
|
|
@@ -861,7 +861,7 @@ def codebase_retrieval_selected_from_capabilities(
|
|
|
861
861
|
def load_capabilities_json(repo_root: Path | None) -> dict[str, Any] | None:
|
|
862
862
|
if repo_root is None:
|
|
863
863
|
return None
|
|
864
|
-
path = repo_root / ".
|
|
864
|
+
path = repo_root / ".cstl" / "capabilities.json"
|
|
865
865
|
if not path.is_file():
|
|
866
866
|
return None
|
|
867
867
|
try:
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"""
|
|
3
3
|
Trellis configuration reader.
|
|
4
4
|
|
|
5
|
-
Reads settings from .
|
|
5
|
+
Reads settings from .cstl/config.yaml with sensible defaults.
|
|
6
6
|
"""
|
|
7
7
|
|
|
8
8
|
from __future__ import annotations
|
|
@@ -219,7 +219,7 @@ def get_session_auto_commit(repo_root: Path | None = None) -> bool:
|
|
|
219
219
|
``task_store.py:_auto_commit_archive``.
|
|
220
220
|
|
|
221
221
|
Default: ``True`` (existing behavior — auto-stage + auto-commit).
|
|
222
|
-
Set ``session_auto_commit: false`` in ``.
|
|
222
|
+
Set ``session_auto_commit: false`` in ``.cstl/config.yaml`` to skip
|
|
223
223
|
auto-staging entirely; the journal/archive files are still written to
|
|
224
224
|
disk, but the user manages ``git add`` / ``git commit`` themselves.
|
|
225
225
|
|
|
@@ -370,7 +370,7 @@ def is_monorepo(repo_root: Path | None = None) -> bool:
|
|
|
370
370
|
|
|
371
371
|
|
|
372
372
|
def get_spec_base(package: str | None = None, repo_root: Path | None = None) -> str:
|
|
373
|
-
"""Get the spec directory base path relative to .
|
|
373
|
+
"""Get the spec directory base path relative to .cstl/.
|
|
374
374
|
|
|
375
375
|
Single-repo: returns "spec"
|
|
376
376
|
Monorepo with package: returns "spec/<package>"
|
|
@@ -34,8 +34,8 @@ def init_developer(name: str, repo_root: Path | None = None) -> bool:
|
|
|
34
34
|
"""Initialize developer.
|
|
35
35
|
|
|
36
36
|
Creates:
|
|
37
|
-
- .
|
|
38
|
-
- .
|
|
37
|
+
- .cstl/.developer file with developer info
|
|
38
|
+
- .cstl/workspace/<name>/ directory structure
|
|
39
39
|
- Initial journal file and index.md
|
|
40
40
|
|
|
41
41
|
Args:
|
|
@@ -195,7 +195,7 @@ def suggest_execution_strategy(
|
|
|
195
195
|
elif profile == "full":
|
|
196
196
|
mode = "worker"
|
|
197
197
|
iso = "main-worktree"
|
|
198
|
-
reasons.append("Full task touching code → worker (
|
|
198
|
+
reasons.append("Full task touching code → worker (cstl-implement / check sub-agents)")
|
|
199
199
|
else:
|
|
200
200
|
mode = "inline"
|
|
201
201
|
iso = "main-worktree"
|
|
@@ -14,12 +14,12 @@ from __future__ import annotations
|
|
|
14
14
|
from pathlib import Path
|
|
15
15
|
|
|
16
16
|
from .config import _is_true_config_value, get_default_package, get_packages, get_spec_scope
|
|
17
|
-
from .paths import (
|
|
18
|
-
DIR_SPEC,
|
|
19
|
-
DIR_WORKFLOW,
|
|
20
|
-
get_selected_task,
|
|
21
|
-
get_repo_root,
|
|
22
|
-
)
|
|
17
|
+
from .paths import (
|
|
18
|
+
DIR_SPEC,
|
|
19
|
+
DIR_WORKFLOW,
|
|
20
|
+
get_selected_task,
|
|
21
|
+
get_repo_root,
|
|
22
|
+
)
|
|
23
23
|
from .tasks import load_task
|
|
24
24
|
|
|
25
25
|
|
|
@@ -41,13 +41,13 @@ def _scan_spec_layers(spec_dir: Path, package: str | None = None) -> list[str]:
|
|
|
41
41
|
)
|
|
42
42
|
|
|
43
43
|
|
|
44
|
-
def _get_selected_task_package(repo_root: Path) -> str | None:
|
|
45
|
-
"""Get the package field from the selected task's task.json."""
|
|
46
|
-
selected = get_selected_task(repo_root)
|
|
47
|
-
if not selected:
|
|
48
|
-
return None
|
|
49
|
-
ct = load_task(repo_root / selected)
|
|
50
|
-
return ct.package if ct and ct.package else None
|
|
44
|
+
def _get_selected_task_package(repo_root: Path) -> str | None:
|
|
45
|
+
"""Get the package field from the selected task's task.json."""
|
|
46
|
+
selected = get_selected_task(repo_root)
|
|
47
|
+
if not selected:
|
|
48
|
+
return None
|
|
49
|
+
ct = load_task(repo_root / selected)
|
|
50
|
+
return ct.package if ct and ct.package else None
|
|
51
51
|
|
|
52
52
|
|
|
53
53
|
def _resolve_scope_set(
|
|
@@ -175,7 +175,7 @@ def get_context_packages_text(repo_root: Path | None = None) -> str:
|
|
|
175
175
|
packages_dict = get_packages(repo_root) or {}
|
|
176
176
|
default_pkg = get_default_package(repo_root)
|
|
177
177
|
spec_scope = get_spec_scope(repo_root)
|
|
178
|
-
task_pkg = _get_selected_task_package(repo_root)
|
|
178
|
+
task_pkg = _get_selected_task_package(repo_root)
|
|
179
179
|
scope_set = _resolve_scope_set(packages_dict, spec_scope, task_pkg, default_pkg)
|
|
180
180
|
|
|
181
181
|
lines.append("## PACKAGES")
|
|
@@ -195,7 +195,7 @@ def get_context_packages_text(repo_root: Path | None = None) -> str:
|
|
|
195
195
|
if pkg["specLayers"]:
|
|
196
196
|
lines.append(f"Spec layers: {', '.join(pkg['specLayers'])}")
|
|
197
197
|
for layer in pkg["specLayers"]:
|
|
198
|
-
lines.append(f" - .
|
|
198
|
+
lines.append(f" - .cstl/spec/{pkg['name']}/{layer}/index.md")
|
|
199
199
|
else:
|
|
200
200
|
lines.append("Spec: not configured")
|
|
201
201
|
lines.append("")
|
|
@@ -204,7 +204,7 @@ def get_context_packages_text(repo_root: Path | None = None) -> str:
|
|
|
204
204
|
guides_dir = repo_root / DIR_WORKFLOW / DIR_SPEC / "guides"
|
|
205
205
|
if guides_dir.is_dir():
|
|
206
206
|
lines.append("### Shared Guides (always included)")
|
|
207
|
-
lines.append("Path: .
|
|
207
|
+
lines.append("Path: .cstl/spec/guides/index.md")
|
|
208
208
|
lines.append("")
|
|
209
209
|
|
|
210
210
|
return "\n".join(lines)
|
|
@@ -230,10 +230,10 @@ def get_context_packages_json(repo_root: Path | None = None) -> dict:
|
|
|
230
230
|
task_pkg = _get_active_task_package(repo_root)
|
|
231
231
|
|
|
232
232
|
return {
|
|
233
|
-
"mode": "monorepo",
|
|
234
|
-
"packages": pkg_info,
|
|
235
|
-
"defaultPackage": default_pkg,
|
|
236
|
-
"specScope": spec_scope,
|
|
237
|
-
"activeTaskPackage": task_pkg,
|
|
238
|
-
"selectedTaskPackage": task_pkg,
|
|
239
|
-
}
|
|
233
|
+
"mode": "monorepo",
|
|
234
|
+
"packages": pkg_info,
|
|
235
|
+
"defaultPackage": default_pkg,
|
|
236
|
+
"specScope": spec_scope,
|
|
237
|
+
"activeTaskPackage": task_pkg,
|
|
238
|
+
"selectedTaskPackage": task_pkg,
|
|
239
|
+
}
|