@blxzer/cursor-trellis 0.3.0 → 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 +30 -0
- package/README.md +51 -10
- package/README.zh-CN.md +21 -7
- package/bin/cstl.js +1 -1
- package/bin/smart-search.js +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +17 -15
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/capability-smoke.js +2 -2
- package/dist/commands/capability-smoke.js.map +1 -1
- 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 +105 -59
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/uninstall.d.ts +3 -3
- package/dist/commands/uninstall.js +10 -10
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/commands/update.d.ts +6 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +83 -28
- package/dist/commands/update.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/index.d.ts.map +1 -1
- package/dist/configurators/index.js +1 -1
- package/dist/configurators/index.js.map +1 -1
- package/dist/configurators/shared.js +6 -6
- package/dist/configurators/shared.js.map +1 -1
- package/dist/configurators/workflow.d.ts +4 -4
- 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.3.1.json +32 -0
- package/dist/templates/common/bundled-skills/cstl-cursor2plus-setup/SKILL.md +11 -11
- package/dist/templates/common/bundled-skills/cstl-meta/SKILL.md +15 -15
- package/dist/templates/common/bundled-skills/cstl-meta/references/customize-local/add-project-local-conventions.md +12 -12
- package/dist/templates/common/bundled-skills/cstl-meta/references/customize-local/change-agents.md +2 -2
- package/dist/templates/common/bundled-skills/cstl-meta/references/customize-local/change-context-loading.md +21 -21
- package/dist/templates/common/bundled-skills/cstl-meta/references/customize-local/change-hooks.md +9 -9
- package/dist/templates/common/bundled-skills/cstl-meta/references/customize-local/change-skills-or-commands.md +7 -7
- package/dist/templates/common/bundled-skills/cstl-meta/references/customize-local/change-spec-structure.md +15 -15
- package/dist/templates/common/bundled-skills/cstl-meta/references/customize-local/change-task-lifecycle.md +27 -27
- package/dist/templates/common/bundled-skills/cstl-meta/references/customize-local/change-workflow.md +7 -7
- package/dist/templates/common/bundled-skills/cstl-meta/references/customize-local/overview.md +11 -11
- package/dist/templates/common/bundled-skills/cstl-meta/references/local-architecture/context-injection.md +12 -12
- package/dist/templates/common/bundled-skills/cstl-meta/references/local-architecture/generated-files.md +21 -21
- package/dist/templates/common/bundled-skills/cstl-meta/references/local-architecture/overview.md +14 -14
- package/dist/templates/common/bundled-skills/cstl-meta/references/local-architecture/spec-system.md +12 -12
- package/dist/templates/common/bundled-skills/cstl-meta/references/local-architecture/task-system.md +23 -23
- package/dist/templates/common/bundled-skills/cstl-meta/references/local-architecture/workflow.md +3 -3
- package/dist/templates/common/bundled-skills/cstl-meta/references/local-architecture/workspace-memory.md +16 -16
- package/dist/templates/common/bundled-skills/cstl-meta/references/platform-files/agents.md +2 -2
- package/dist/templates/common/bundled-skills/cstl-meta/references/platform-files/hooks-and-settings.md +6 -6
- package/dist/templates/common/bundled-skills/cstl-meta/references/platform-files/overview.md +5 -5
- package/dist/templates/common/bundled-skills/cstl-meta/references/platform-files/platform-map.md +3 -3
- package/dist/templates/common/bundled-skills/cstl-meta/references/platform-files/skills-and-commands.md +5 -5
- package/dist/templates/common/bundled-skills/cstl-skill-creator/SKILL.md +2 -2
- package/dist/templates/common/bundled-skills/cstl-skill-creator/references/review-checklist.md +1 -1
- package/dist/templates/common/bundled-skills/cstl-spec-bootstrap/SKILL.md +5 -5
- package/dist/templates/common/bundled-skills/cstl-spec-bootstrap/references/repository-analysis.md +1 -1
- package/dist/templates/common/bundled-skills/cstl-spec-bootstrap/references/spec-task-planning.md +3 -3
- package/dist/templates/common/bundled-skills/cstl-spec-bootstrap/references/spec-writing.md +1 -1
- package/dist/templates/common/commands/continue.md +6 -6
- package/dist/templates/common/commands/finish-work.md +5 -5
- package/dist/templates/common/commands/start.md +8 -8
- package/dist/templates/common/skills/before-dev.md +4 -4
- package/dist/templates/common/skills/brainstorm.md +5 -5
- 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/cstl-check.md +6 -6
- package/dist/templates/cursor/agents/cstl-implement.md +7 -7
- package/dist/templates/cursor/agents/cstl-research.md +9 -9
- package/dist/templates/cursor/commands/cursor2plus-setup.md +10 -10
- package/dist/templates/cursor/rules/cstl-subagent-dispatch.mdc +2 -2
- package/dist/templates/cursor/rules/cstl-triage.mdc +2 -2
- 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 +11 -11
- 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 +5 -5
- package/dist/templates/markdown/spec/guides/cursor-context-injection-guide.md.txt +3 -3
- package/dist/templates/markdown/spec/guides/cursor-semantic-compliance.md.txt +1 -1
- package/dist/templates/markdown/spec/guides/cursor-subagent-policy.md.txt +11 -11
- package/dist/templates/markdown/spec/guides/durable-learning-decision-guide.md.txt +8 -8
- package/dist/templates/markdown/spec/guides/execution-strategy.md.txt +3 -3
- 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 +1 -1
- package/dist/templates/shared-hooks/index.js +1 -1
- 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 +1 -1
- package/dist/templates/shared-hooks/inject-workflow-state.py +11 -11
- package/dist/templates/shared-hooks/research-end-retrieval-pack.py +1 -1
- package/dist/templates/shared-hooks/session-start.py +13 -13
- package/dist/templates/trellis/config.yaml +2 -22
- package/dist/templates/trellis/index.d.ts +2 -2
- package/dist/templates/trellis/index.js +2 -2
- package/dist/templates/trellis/local/README.md +3 -3
- package/dist/templates/trellis/local/patch_wpelc8.py +4 -4
- 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/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/packages_context.py +23 -23
- package/dist/templates/trellis/scripts/common/parent_orchestration.py +16 -16
- 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_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 +2 -2
- 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 +23 -23
- package/dist/templates/trellis/scripts/common/task_store.py +5 -5
- 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 +64 -64
- 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.js +5 -5
- package/dist/utils/project-capabilities.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 +2 -2
|
@@ -23,7 +23,7 @@ INJECT_NEEDLE = "});return!UbAQWn||"
|
|
|
23
23
|
def _repo_root(start: Path) -> Path:
|
|
24
24
|
cur = start.resolve()
|
|
25
25
|
for _ in range(12):
|
|
26
|
-
if (cur / ".
|
|
26
|
+
if (cur / ".cstl").is_dir():
|
|
27
27
|
return cur
|
|
28
28
|
if cur.parent == cur:
|
|
29
29
|
break
|
|
@@ -94,8 +94,8 @@ def resolve_project_models_path(bundle_dir: Path, config: dict) -> Path | None:
|
|
|
94
94
|
p = Path(config["projectModelsJson"].strip()).expanduser()
|
|
95
95
|
return p if p.is_file() else None
|
|
96
96
|
return _first_existing(
|
|
97
|
-
root / ".
|
|
98
|
-
root / ".
|
|
97
|
+
root / ".cstl" / "local" / "subagent-models.json5",
|
|
98
|
+
root / ".cstl" / "local" / "subagent-models.json",
|
|
99
99
|
)
|
|
100
100
|
|
|
101
101
|
|
|
@@ -167,7 +167,7 @@ def build_inject_block(model_map: dict[str, str]) -> str:
|
|
|
167
167
|
if not model_map:
|
|
168
168
|
raise SystemExit(
|
|
169
169
|
"model map empty — use skill cstl-cursor2plus-setup or write "
|
|
170
|
-
"~/.ccursor/trellis-task-models.json5 (see .
|
|
170
|
+
"~/.ccursor/trellis-task-models.json5 (see .cstl/local/trellis-task-models.json5.example)"
|
|
171
171
|
)
|
|
172
172
|
pairs = ",".join(f'"{k}":"{v}"' for k, v in sorted(model_map.items()))
|
|
173
173
|
return (
|
|
@@ -12,11 +12,11 @@ Usage:
|
|
|
12
12
|
<session content here>
|
|
13
13
|
EOF
|
|
14
14
|
|
|
15
|
-
Branch resolution order:
|
|
16
|
-
1. --branch CLI arg (explicit)
|
|
17
|
-
2. task.json branch field (from selected task)
|
|
18
|
-
3. git branch --show-current (auto-detect)
|
|
19
|
-
4. None (omitted gracefully)
|
|
15
|
+
Branch resolution order:
|
|
16
|
+
1. --branch CLI arg (explicit)
|
|
17
|
+
2. task.json branch field (from selected task)
|
|
18
|
+
3. git branch --show-current (auto-detect)
|
|
19
|
+
4. None (omitted gracefully)
|
|
20
20
|
"""
|
|
21
21
|
|
|
22
22
|
from __future__ import annotations
|
|
@@ -28,12 +28,12 @@ from datetime import datetime
|
|
|
28
28
|
from pathlib import Path
|
|
29
29
|
|
|
30
30
|
from common.paths import (
|
|
31
|
-
FILE_JOURNAL_PREFIX,
|
|
32
|
-
get_repo_root,
|
|
33
|
-
get_selected_task,
|
|
34
|
-
get_developer,
|
|
35
|
-
get_workspace_dir,
|
|
36
|
-
)
|
|
31
|
+
FILE_JOURNAL_PREFIX,
|
|
32
|
+
get_repo_root,
|
|
33
|
+
get_selected_task,
|
|
34
|
+
get_developer,
|
|
35
|
+
get_workspace_dir,
|
|
36
|
+
)
|
|
37
37
|
from common.developer import ensure_developer
|
|
38
38
|
from common.git import run_git
|
|
39
39
|
from common.safe_commit import (
|
|
@@ -322,11 +322,11 @@ def _auto_commit_workspace(repo_root: Path) -> None:
|
|
|
322
322
|
"""Stage Trellis-owned workspace + task paths and commit.
|
|
323
323
|
|
|
324
324
|
Path scope is restricted to specific products (journal files, index.md,
|
|
325
|
-
selected task dirs, the archive subtree). We never `git add` the whole
|
|
326
|
-
`.
|
|
325
|
+
selected task dirs, the archive subtree). We never `git add` the whole
|
|
326
|
+
`.cstl/` tree, and if `.gitignore` blocks the specific paths we
|
|
327
327
|
warn + skip — never retry with ``-f``.
|
|
328
328
|
|
|
329
|
-
Honors ``session_auto_commit`` in ``.
|
|
329
|
+
Honors ``session_auto_commit`` in ``.cstl/config.yaml``: when set to
|
|
330
330
|
``false``, this function returns immediately without touching git
|
|
331
331
|
(journal/index files are still written to disk by the caller).
|
|
332
332
|
"""
|
|
@@ -502,10 +502,10 @@ def main() -> int:
|
|
|
502
502
|
elif args.stdin:
|
|
503
503
|
extra_content = sys.stdin.read()
|
|
504
504
|
|
|
505
|
-
# Load selected task once — shared by package and branch resolution
|
|
506
|
-
repo_root = get_repo_root()
|
|
507
|
-
selected = get_selected_task(repo_root)
|
|
508
|
-
task_data = load_task(repo_root / selected) if selected else None
|
|
505
|
+
# Load selected task once — shared by package and branch resolution
|
|
506
|
+
repo_root = get_repo_root()
|
|
507
|
+
selected = get_selected_task(repo_root)
|
|
508
|
+
task_data = load_task(repo_root / selected) if selected else None
|
|
509
509
|
|
|
510
510
|
package = args.package
|
|
511
511
|
if package:
|
|
@@ -519,8 +519,8 @@ def main() -> int:
|
|
|
519
519
|
print(f"Error: unknown package '{package}'. Available: {available}", file=sys.stderr)
|
|
520
520
|
return 1
|
|
521
521
|
else:
|
|
522
|
-
# Inferred: selected task's task.json.package → default_package → None
|
|
523
|
-
task_package = task_data.package if task_data else None
|
|
522
|
+
# Inferred: selected task's task.json.package → default_package → None
|
|
523
|
+
task_package = task_data.package if task_data else None
|
|
524
524
|
package = resolve_package(task_package, repo_root)
|
|
525
525
|
|
|
526
526
|
# Resolve branch: CLI → task.json → git auto-detect → None
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"""Session-scoped selected task resolution.
|
|
3
3
|
|
|
4
4
|
The user-facing concept is a live-session "selected task". Trellis stores that
|
|
5
|
-
pointer per AI session/window under `.
|
|
5
|
+
pointer per AI session/window under `.cstl/.runtime/sessions/`; without a
|
|
6
6
|
stable session key there is no selected task.
|
|
7
7
|
"""
|
|
8
8
|
|
|
@@ -19,7 +19,7 @@ from datetime import datetime, timezone
|
|
|
19
19
|
from pathlib import Path
|
|
20
20
|
from typing import Any
|
|
21
21
|
|
|
22
|
-
DIR_WORKFLOW = ".
|
|
22
|
+
DIR_WORKFLOW = ".cstl"
|
|
23
23
|
DIR_TASKS = "tasks"
|
|
24
24
|
DIR_RUNTIME = ".runtime"
|
|
25
25
|
DIR_SESSIONS = "sessions"
|