@mindfoldhq/trellis 0.5.0-beta.14 → 0.5.0-beta.15

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.
Files changed (118) hide show
  1. package/README.md +5 -5
  2. package/dist/cli/index.js +1 -0
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/commands/init.d.ts +1 -0
  5. package/dist/commands/init.d.ts.map +1 -1
  6. package/dist/commands/init.js +24 -20
  7. package/dist/commands/init.js.map +1 -1
  8. package/dist/commands/update.d.ts.map +1 -1
  9. package/dist/commands/update.js +15 -12
  10. package/dist/commands/update.js.map +1 -1
  11. package/dist/configurators/claude.js +1 -1
  12. package/dist/configurators/claude.js.map +1 -1
  13. package/dist/configurators/codebuddy.js +1 -1
  14. package/dist/configurators/codebuddy.js.map +1 -1
  15. package/dist/configurators/codex.d.ts.map +1 -1
  16. package/dist/configurators/codex.js +3 -6
  17. package/dist/configurators/codex.js.map +1 -1
  18. package/dist/configurators/copilot.d.ts.map +1 -1
  19. package/dist/configurators/copilot.js +4 -11
  20. package/dist/configurators/copilot.js.map +1 -1
  21. package/dist/configurators/cursor.js +1 -1
  22. package/dist/configurators/cursor.js.map +1 -1
  23. package/dist/configurators/droid.js +1 -1
  24. package/dist/configurators/droid.js.map +1 -1
  25. package/dist/configurators/gemini.d.ts.map +1 -1
  26. package/dist/configurators/gemini.js +1 -3
  27. package/dist/configurators/gemini.js.map +1 -1
  28. package/dist/configurators/index.d.ts.map +1 -1
  29. package/dist/configurators/index.js +24 -38
  30. package/dist/configurators/index.js.map +1 -1
  31. package/dist/configurators/kiro.js +1 -1
  32. package/dist/configurators/kiro.js.map +1 -1
  33. package/dist/configurators/pi.d.ts +3 -0
  34. package/dist/configurators/pi.d.ts.map +1 -0
  35. package/dist/configurators/pi.js +39 -0
  36. package/dist/configurators/pi.js.map +1 -0
  37. package/dist/configurators/qoder.d.ts.map +1 -1
  38. package/dist/configurators/qoder.js +1 -3
  39. package/dist/configurators/qoder.js.map +1 -1
  40. package/dist/configurators/shared.d.ts +2 -4
  41. package/dist/configurators/shared.d.ts.map +1 -1
  42. package/dist/configurators/shared.js +6 -9
  43. package/dist/configurators/shared.js.map +1 -1
  44. package/dist/migrations/manifests/0.5.0-beta.15.json +126 -0
  45. package/dist/templates/claude/agents/trellis-research.md +1 -1
  46. package/dist/templates/claude/settings.json +0 -4
  47. package/dist/templates/codebuddy/agents/trellis-research.md +1 -1
  48. package/dist/templates/codex/agents/trellis-check.toml +0 -16
  49. package/dist/templates/codex/agents/trellis-implement.toml +0 -16
  50. package/dist/templates/codex/agents/trellis-research.toml +3 -2
  51. package/dist/templates/codex/hooks/session-start.py +51 -21
  52. package/dist/templates/codex/skills/start/SKILL.md +1 -1
  53. package/dist/templates/copilot/hooks/session-start.py +51 -21
  54. package/dist/templates/copilot/prompts/start.prompt.md +1 -1
  55. package/dist/templates/cursor/agents/trellis-check.md +1 -1
  56. package/dist/templates/cursor/agents/trellis-implement.md +1 -1
  57. package/dist/templates/cursor/agents/trellis-research.md +2 -2
  58. package/dist/templates/cursor/hooks.json +7 -1
  59. package/dist/templates/droid/droids/trellis-research.md +1 -1
  60. package/dist/templates/extract.d.ts +6 -0
  61. package/dist/templates/extract.d.ts.map +1 -1
  62. package/dist/templates/extract.js +14 -0
  63. package/dist/templates/extract.js.map +1 -1
  64. package/dist/templates/gemini/agents/trellis-research.md +1 -1
  65. package/dist/templates/kiro/agents/trellis-research.json +1 -1
  66. package/dist/templates/markdown/agents.md +11 -12
  67. package/dist/templates/markdown/gitignore.txt +3 -0
  68. package/dist/templates/opencode/agents/trellis-check.md +1 -1
  69. package/dist/templates/opencode/agents/trellis-implement.md +1 -1
  70. package/dist/templates/opencode/agents/trellis-research.md +2 -2
  71. package/dist/templates/opencode/lib/trellis-context.js +100 -13
  72. package/dist/templates/opencode/plugins/inject-subagent-context.js +54 -4
  73. package/dist/templates/opencode/plugins/inject-workflow-state.js +48 -25
  74. package/dist/templates/opencode/plugins/session-start.js +29 -16
  75. package/dist/templates/pi/agents/trellis-check.md +28 -0
  76. package/dist/templates/pi/agents/trellis-implement.md +33 -0
  77. package/dist/templates/pi/agents/trellis-research.md +25 -0
  78. package/dist/templates/pi/extensions/trellis/index.ts.txt +549 -0
  79. package/dist/templates/pi/index.d.ts +5 -0
  80. package/dist/templates/pi/index.d.ts.map +1 -0
  81. package/dist/templates/pi/index.js +12 -0
  82. package/dist/templates/pi/index.js.map +1 -0
  83. package/dist/templates/pi/settings.json +12 -0
  84. package/dist/templates/qoder/agents/trellis-research.md +1 -1
  85. package/dist/templates/shared-hooks/index.d.ts +31 -0
  86. package/dist/templates/shared-hooks/index.d.ts.map +1 -1
  87. package/dist/templates/shared-hooks/index.js +59 -0
  88. package/dist/templates/shared-hooks/index.js.map +1 -1
  89. package/dist/templates/shared-hooks/inject-shell-session-context.py +180 -0
  90. package/dist/templates/shared-hooks/inject-subagent-context.py +128 -26
  91. package/dist/templates/shared-hooks/inject-workflow-state.py +99 -62
  92. package/dist/templates/shared-hooks/session-start.py +139 -24
  93. package/dist/templates/trellis/gitignore.txt +3 -0
  94. package/dist/templates/trellis/index.d.ts +1 -0
  95. package/dist/templates/trellis/index.d.ts.map +1 -1
  96. package/dist/templates/trellis/index.js +2 -0
  97. package/dist/templates/trellis/index.js.map +1 -1
  98. package/dist/templates/trellis/scripts/common/__init__.py +8 -0
  99. package/dist/templates/trellis/scripts/common/active_task.py +593 -0
  100. package/dist/templates/trellis/scripts/common/cli_adapter.py +43 -8
  101. package/dist/templates/trellis/scripts/common/paths.py +61 -58
  102. package/dist/templates/trellis/scripts/common/session_context.py +12 -0
  103. package/dist/templates/trellis/scripts/common/task_store.py +4 -6
  104. package/dist/templates/trellis/scripts/task.py +56 -14
  105. package/dist/templates/trellis/workflow.md +30 -26
  106. package/dist/types/ai-tools.d.ts +3 -3
  107. package/dist/types/ai-tools.d.ts.map +1 -1
  108. package/dist/types/ai-tools.js +16 -0
  109. package/dist/types/ai-tools.js.map +1 -1
  110. package/dist/utils/template-fetcher.d.ts +22 -6
  111. package/dist/utils/template-fetcher.d.ts.map +1 -1
  112. package/dist/utils/template-fetcher.js +405 -27
  113. package/dist/utils/template-fetcher.js.map +1 -1
  114. package/dist/utils/template-hash.d.ts.map +1 -1
  115. package/dist/utils/template-hash.js +3 -2
  116. package/dist/utils/template-hash.js.map +1 -1
  117. package/package.json +1 -1
  118. package/dist/templates/shared-hooks/statusline.py +0 -219
@@ -1 +1 @@
1
- {"version":3,"file":"template-hash.js","sourceRoot":"","sources":["../../src/utils/template-hash.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template-hash.js","sourceRoot":"","sources":["../../src/utils/template-hash.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mindfoldhq/trellis",
3
- "version": "0.5.0-beta.14",
3
+ "version": "0.5.0-beta.15",
4
4
  "description": "AI capabilities grow like ivy — Trellis provides the structure to guide them along a disciplined path",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,219 +0,0 @@
1
- #!/usr/bin/env python3
2
- # -*- coding: utf-8 -*-
3
- """
4
- Trellis StatusLine — project-level status display for Claude Code.
5
-
6
- Reads Claude Code session JSON from stdin + Trellis task data from filesystem.
7
- Outputs 1-2 lines:
8
- With active task: [P1] Task title (status) + info line
9
- Without task: info line only
10
- Info line: model · ctx% · branch · duration · developer · tasks · rate limits
11
- """
12
- from __future__ import annotations
13
-
14
- import json
15
- import re
16
- import subprocess
17
- import sys
18
- from pathlib import Path
19
-
20
- # Fix: Windows Python defaults to GBK encoding, which corrupts UTF-8
21
- # characters like the middle dot (·). Wrap stdout/stderr with UTF-8.
22
- if sys.platform == "win32":
23
- for stream in (sys.stdout, sys.stderr):
24
- reconfigure = getattr(stream, "reconfigure", None)
25
- if callable(reconfigure):
26
- reconfigure(encoding="utf-8", errors="replace")
27
-
28
-
29
- def _read_text(path: Path) -> str:
30
- try:
31
- return path.read_text(encoding="utf-8").strip()
32
- except (FileNotFoundError, PermissionError, OSError):
33
- return ""
34
-
35
-
36
- def _read_json(path: Path) -> dict:
37
- text = _read_text(path)
38
- if not text:
39
- return {}
40
- try:
41
- return json.loads(text)
42
- except (json.JSONDecodeError, ValueError):
43
- return {}
44
-
45
-
46
- def _normalize_task_ref(task_ref: str) -> str:
47
- normalized = task_ref.strip()
48
- if not normalized:
49
- return ""
50
-
51
- path_obj = Path(normalized)
52
- if path_obj.is_absolute():
53
- return str(path_obj)
54
-
55
- normalized = normalized.replace("\\", "/")
56
- while normalized.startswith("./"):
57
- normalized = normalized[2:]
58
-
59
- if normalized.startswith("tasks/"):
60
- return f".trellis/{normalized}"
61
-
62
- return normalized
63
-
64
-
65
- def _resolve_task_dir(trellis_dir: Path, task_ref: str) -> Path:
66
- normalized = _normalize_task_ref(task_ref)
67
- path_obj = Path(normalized)
68
- if path_obj.is_absolute():
69
- return path_obj
70
- if normalized.startswith(".trellis/"):
71
- return trellis_dir.parent / path_obj
72
- return trellis_dir / "tasks" / path_obj
73
-
74
-
75
- def _find_trellis_dir() -> Path | None:
76
- """Walk up from cwd to find .trellis/ directory."""
77
- current = Path.cwd()
78
- for parent in [current, *current.parents]:
79
- candidate = parent / ".trellis"
80
- if candidate.is_dir():
81
- return candidate
82
- return None
83
-
84
-
85
- def _get_current_task(trellis_dir: Path) -> dict | None:
86
- """Load current task info. Returns dict with title/status/priority or None."""
87
- task_ref = _normalize_task_ref(_read_text(trellis_dir / ".current-task"))
88
- if not task_ref:
89
- return None
90
-
91
- # Resolve task directory
92
- task_path = _resolve_task_dir(trellis_dir, task_ref)
93
- task_data = _read_json(task_path / "task.json")
94
- if not task_data:
95
- return None
96
-
97
- return {
98
- "title": task_data.get("title") or task_data.get("name") or "unknown",
99
- "status": task_data.get("status", "unknown"),
100
- "priority": task_data.get("priority", "P2"),
101
- }
102
-
103
-
104
- def _count_active_tasks(trellis_dir: Path) -> int:
105
- """Count non-archived task directories with valid task.json."""
106
- tasks_dir = trellis_dir / "tasks"
107
- if not tasks_dir.is_dir():
108
- return 0
109
- count = 0
110
- for d in tasks_dir.iterdir():
111
- if d.is_dir() and d.name != "archive" and (d / "task.json").is_file():
112
- count += 1
113
- return count
114
-
115
-
116
- def _get_developer(trellis_dir: Path) -> str:
117
- content = _read_text(trellis_dir / ".developer")
118
- if not content:
119
- return "unknown"
120
- for line in content.splitlines():
121
- if line.startswith("name="):
122
- return line[5:].strip()
123
- return content.splitlines()[0].strip() or "unknown"
124
-
125
-
126
- def _get_git_branch() -> str:
127
- try:
128
- result = subprocess.run(
129
- ["git", "branch", "--show-current"],
130
- capture_output=True, text=True, timeout=3,
131
- )
132
- return result.stdout.strip() if result.returncode == 0 else ""
133
- except (FileNotFoundError, subprocess.TimeoutExpired):
134
- return ""
135
-
136
-
137
- def _format_ctx_size(size: int) -> str:
138
- if size >= 1_000_000:
139
- return f"{size // 1_000_000}M"
140
- if size >= 1_000:
141
- return f"{size // 1_000}K"
142
- return str(size)
143
-
144
-
145
- def _format_duration(ms: int) -> str:
146
- secs = ms // 1000
147
- hours, remainder = divmod(secs, 3600)
148
- mins = remainder // 60
149
- if hours > 0:
150
- return f"{hours}h{mins}m"
151
- return f"{mins}m"
152
-
153
-
154
- def main() -> None:
155
- # Read Claude Code session JSON from stdin
156
- try:
157
- cc_data = json.loads(sys.stdin.read())
158
- except (json.JSONDecodeError, ValueError):
159
- cc_data = {}
160
-
161
- trellis_dir = _find_trellis_dir()
162
- SEP = " \033[90m·\033[0m "
163
-
164
- # --- Trellis data ---
165
- task = _get_current_task(trellis_dir) if trellis_dir else None
166
- dev = _get_developer(trellis_dir) if trellis_dir else ""
167
- task_count = _count_active_tasks(trellis_dir) if trellis_dir else 0
168
-
169
- # --- CC session data ---
170
- model = cc_data.get("model", {}).get("display_name", "?")
171
- ctx_pct = int(cc_data.get("context_window", {}).get("used_percentage") or 0)
172
- ctx_size = _format_ctx_size(cc_data.get("context_window", {}).get("context_window_size") or 0)
173
- duration = _format_duration(cc_data.get("cost", {}).get("total_duration_ms") or 0)
174
- branch = _get_git_branch()
175
-
176
- # Avoid "Opus 4.6 (1M context) (1M)"
177
- if re.search(r"\d+[KMG]\b", model, re.IGNORECASE):
178
- model_label = model
179
- else:
180
- model_label = f"{model} ({ctx_size})"
181
-
182
- # Context % with color
183
- if ctx_pct >= 90:
184
- ctx_color = "\033[31m"
185
- elif ctx_pct >= 70:
186
- ctx_color = "\033[33m"
187
- else:
188
- ctx_color = "\033[32m"
189
-
190
- # Build info line: model · ctx · branch · duration · dev · tasks [· rate limits]
191
- parts = [
192
- model_label,
193
- f"ctx {ctx_color}{ctx_pct}%\033[0m",
194
- ]
195
- if branch:
196
- parts.append(f"\033[35m{branch}\033[0m")
197
- parts.append(duration)
198
- if dev:
199
- parts.append(f"\033[32m{dev}\033[0m")
200
- if task_count:
201
- parts.append(f"{task_count} task(s)")
202
-
203
- five_hr = cc_data.get("rate_limits", {}).get("five_hour", {}).get("used_percentage")
204
- if five_hr is not None:
205
- parts.append(f"5h {int(five_hr)}%")
206
- seven_day = cc_data.get("rate_limits", {}).get("seven_day", {}).get("used_percentage")
207
- if seven_day is not None:
208
- parts.append(f"7d {int(seven_day)}%")
209
-
210
- info_line = SEP.join(parts)
211
-
212
- # Output: task line (only if active) + info line
213
- if task:
214
- print(f"\033[36m[{task['priority']}]\033[0m {task['title']} \033[33m({task['status']})\033[0m")
215
- print(info_line)
216
-
217
-
218
- if __name__ == "__main__":
219
- main()