@jahanxu/trellis 0.5.8 → 0.5.9
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/dist/configurators/index.js +1 -1
- package/dist/configurators/index.js.map +1 -1
- package/dist/migrations/manifests/0.3.0-beta.0.json +60 -41
- package/dist/migrations/manifests/0.3.0.json +2 -2
- package/dist/migrations/manifests/0.3.1.json +9 -0
- package/dist/templates/claude/settings.json +20 -0
- package/dist/templates/iflow/settings.json +20 -0
- package/dist/templates/markdown/spec/guides/code-reuse-thinking-guide.md.txt +13 -0
- package/package.json +1 -1
|
@@ -79,7 +79,7 @@ const PLATFORM_FUNCTIONS = {
|
|
|
79
79
|
const files = new Map();
|
|
80
80
|
// Commands
|
|
81
81
|
for (const cmd of getIflowCommands()) {
|
|
82
|
-
files.set(`.iflow/commands/${cmd.name}.md`, cmd.content);
|
|
82
|
+
files.set(`.iflow/commands/trellis/${cmd.name}.md`, cmd.content);
|
|
83
83
|
}
|
|
84
84
|
// Agents
|
|
85
85
|
for (const agent of getIflowAgents()) {
|
|
@@ -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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"}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
"description": "Command path namespace migration + Shell to Python script migration",
|
|
4
4
|
"breaking": true,
|
|
5
5
|
"recommendMigrate": true,
|
|
6
|
-
"changelog": "BREAKING: All shell scripts (.sh) have been replaced by Python scripts (.py). Requires Python 3.10+. The multi-agent/ directory is now multi_agent/ (underscore). Run with --migrate to
|
|
7
|
-
"migrationGuide": "# Migration Guide: v0.3.0 Shell to Python\n\n## Overview\n\nAll shell scripts (.sh) have been replaced by Python scripts (.py). This affects any custom workflows, slash commands, or documentation that references the old scripts.\n\n## Requirements\n\n- Python 3.10 or higher\n\n## What Changed\n\n### Script Extensions\n\n| Old Path | New Path |\n|----------|----------|\n| `.trellis/scripts/*.sh` | `.trellis/scripts/*.py` |\n| `.trellis/scripts/common/*.sh` | `.trellis/scripts/common/*.py` |\n| `.trellis/scripts/multi-agent/*.sh` | `.trellis/scripts/multi_agent/*.py` |\n\n### Directory Rename\n\n| Old | New |\n|-----|-----|\n| `multi-agent/` (hyphen) | `multi_agent/` (underscore) |\n\n### Invocation Change\n\n| Old | New |\n|-----|-----|\n| `./script.sh` | `python3 ./script.py` |\n| `./.trellis/scripts/task.sh` | `python3 ./.trellis/scripts/task.py` |\n\n## Files to Check\n\nSearch your project for these patterns and update them:\n\n```bash\n# Find files with old .sh references\ngrep -r '\\.trellis/scripts.*\\.sh' .claude/ .cursor/ .trellis/\n\n# Find files with old multi-agent directory\ngrep -r 'multi-agent/' .claude/ .cursor/ .trellis/\n```\n\n## Common Replacements\n\n```\n# Task management\n./.trellis/scripts/task.sh → python3 ./.trellis/scripts/task.py\n\n# Context\n./.trellis/scripts/get-context.sh → python3 ./.trellis/scripts/get_context.py\n\n# Developer\n./.trellis/scripts/get-developer.sh → python3 ./.trellis/scripts/get_developer.py\n./.trellis/scripts/init-developer.sh → python3 ./.trellis/scripts/init_developer.py\n\n# Session\n./.trellis/scripts/add-session.sh → python3 ./.trellis/scripts/add_session.py\n\n# Multi-agent\n./.trellis/scripts/multi-agent/start.sh → python3 ./.trellis/scripts/multi_agent/start.py\n./.trellis/scripts/multi-agent/status.sh → python3 ./.trellis/scripts/multi_agent/status.py\n./.trellis/scripts/multi-agent/plan.sh → python3 ./.trellis/scripts/multi_agent/plan.py\n./.trellis/scripts/multi-agent/cleanup.sh → python3 ./.trellis/scripts/multi_agent/cleanup.py\n./.trellis/scripts/multi-agent/create-pr.sh → python3 ./.trellis/scripts/multi_agent/create_pr.py\n```\n\n## After Migration\n\nRun `trellis update --migrate` to
|
|
6
|
+
"changelog": "BREAKING: All shell scripts (.sh) have been replaced by Python scripts (.py). Requires Python 3.10+. The multi-agent/ directory is now multi_agent/ (underscore). Run with --migrate to archive legacy shell scripts to scripts-shell-archive/.",
|
|
7
|
+
"migrationGuide": "# Migration Guide: v0.3.0 Shell to Python\n\n## Overview\n\nAll shell scripts (.sh) have been replaced by Python scripts (.py). This affects any custom workflows, slash commands, or documentation that references the old scripts.\n\n## Requirements\n\n- Python 3.10 or higher\n\n## What Changed\n\n### Script Extensions\n\n| Old Path | New Path |\n|----------|----------|\n| `.trellis/scripts/*.sh` | `.trellis/scripts/*.py` |\n| `.trellis/scripts/common/*.sh` | `.trellis/scripts/common/*.py` |\n| `.trellis/scripts/multi-agent/*.sh` | `.trellis/scripts/multi_agent/*.py` |\n\n### Directory Rename\n\n| Old | New |\n|-----|-----|\n| `multi-agent/` (hyphen) | `multi_agent/` (underscore) |\n\n### Invocation Change\n\n| Old | New |\n|-----|-----|\n| `./script.sh` | `python3 ./script.py` |\n| `./.trellis/scripts/task.sh` | `python3 ./.trellis/scripts/task.py` |\n\n## Files to Check\n\nSearch your project for these patterns and update them:\n\n```bash\n# Find files with old .sh references\ngrep -r '\\.trellis/scripts.*\\.sh' .claude/ .cursor/ .trellis/\n\n# Find files with old multi-agent directory\ngrep -r 'multi-agent/' .claude/ .cursor/ .trellis/\n```\n\n## Common Replacements\n\n```\n# Task management\n./.trellis/scripts/task.sh → python3 ./.trellis/scripts/task.py\n\n# Context\n./.trellis/scripts/get-context.sh → python3 ./.trellis/scripts/get_context.py\n\n# Developer\n./.trellis/scripts/get-developer.sh → python3 ./.trellis/scripts/get_developer.py\n./.trellis/scripts/init-developer.sh → python3 ./.trellis/scripts/init_developer.py\n\n# Session\n./.trellis/scripts/add-session.sh → python3 ./.trellis/scripts/add_session.py\n\n# Multi-agent\n./.trellis/scripts/multi-agent/start.sh → python3 ./.trellis/scripts/multi_agent/start.py\n./.trellis/scripts/multi-agent/status.sh → python3 ./.trellis/scripts/multi_agent/status.py\n./.trellis/scripts/multi-agent/plan.sh → python3 ./.trellis/scripts/multi_agent/plan.py\n./.trellis/scripts/multi-agent/cleanup.sh → python3 ./.trellis/scripts/multi_agent/cleanup.py\n./.trellis/scripts/multi-agent/create-pr.sh → python3 ./.trellis/scripts/multi_agent/create_pr.py\n```\n\n## After Migration\n\nRun `trellis update --migrate` to archive the old shell scripts to `.trellis/scripts-shell-archive/`.",
|
|
8
8
|
"aiInstructions": "1. Search for files containing old patterns:\n - `.trellis/scripts/*.sh` references\n - `multi-agent/` directory references (should be `multi_agent/`)\n - `python script.py` without `python3` (Windows compatibility)\n2. For each file found, apply the replacements from the migration guide\n3. IMPORTANT: Always use `python3` explicitly, not just `python` or relying on shebang (Windows doesn't support shebang)\n4. Check ALL locations: docstrings, help text, error messages, markdown docs\n5. Verify the changes compile/work correctly\n6. After all files are updated, remind user to run `trellis update --migrate`",
|
|
9
9
|
"migrations": [
|
|
10
10
|
{
|
|
@@ -177,102 +177,121 @@
|
|
|
177
177
|
},
|
|
178
178
|
|
|
179
179
|
{
|
|
180
|
-
"type": "
|
|
180
|
+
"type": "rename",
|
|
181
181
|
"from": ".trellis/scripts/get-developer.sh",
|
|
182
|
-
"
|
|
182
|
+
"to": ".trellis/scripts-shell-archive/get-developer.sh",
|
|
183
|
+
"description": "Archive legacy shell script (replaced by Python)"
|
|
183
184
|
},
|
|
184
185
|
{
|
|
185
|
-
"type": "
|
|
186
|
+
"type": "rename",
|
|
186
187
|
"from": ".trellis/scripts/init-developer.sh",
|
|
187
|
-
"
|
|
188
|
+
"to": ".trellis/scripts-shell-archive/init-developer.sh",
|
|
189
|
+
"description": "Archive legacy shell script (replaced by Python)"
|
|
188
190
|
},
|
|
189
191
|
{
|
|
190
|
-
"type": "
|
|
192
|
+
"type": "rename",
|
|
191
193
|
"from": ".trellis/scripts/get-context.sh",
|
|
192
|
-
"
|
|
194
|
+
"to": ".trellis/scripts-shell-archive/get-context.sh",
|
|
195
|
+
"description": "Archive legacy shell script (replaced by Python)"
|
|
193
196
|
},
|
|
194
197
|
{
|
|
195
|
-
"type": "
|
|
198
|
+
"type": "rename",
|
|
196
199
|
"from": ".trellis/scripts/task.sh",
|
|
197
|
-
"
|
|
200
|
+
"to": ".trellis/scripts-shell-archive/task.sh",
|
|
201
|
+
"description": "Archive legacy shell script (replaced by Python)"
|
|
198
202
|
},
|
|
199
203
|
{
|
|
200
|
-
"type": "
|
|
204
|
+
"type": "rename",
|
|
201
205
|
"from": ".trellis/scripts/add-session.sh",
|
|
202
|
-
"
|
|
206
|
+
"to": ".trellis/scripts-shell-archive/add-session.sh",
|
|
207
|
+
"description": "Archive legacy shell script (replaced by Python)"
|
|
203
208
|
},
|
|
204
209
|
{
|
|
205
|
-
"type": "
|
|
210
|
+
"type": "rename",
|
|
206
211
|
"from": ".trellis/scripts/create-bootstrap.sh",
|
|
207
|
-
"
|
|
212
|
+
"to": ".trellis/scripts-shell-archive/create-bootstrap.sh",
|
|
213
|
+
"description": "Archive legacy shell script (replaced by Python)"
|
|
208
214
|
},
|
|
209
215
|
|
|
210
216
|
{
|
|
211
|
-
"type": "
|
|
217
|
+
"type": "rename",
|
|
212
218
|
"from": ".trellis/scripts/common/paths.sh",
|
|
213
|
-
"
|
|
219
|
+
"to": ".trellis/scripts-shell-archive/common/paths.sh",
|
|
220
|
+
"description": "Archive legacy shell script (replaced by Python)"
|
|
214
221
|
},
|
|
215
222
|
{
|
|
216
|
-
"type": "
|
|
223
|
+
"type": "rename",
|
|
217
224
|
"from": ".trellis/scripts/common/developer.sh",
|
|
218
|
-
"
|
|
225
|
+
"to": ".trellis/scripts-shell-archive/common/developer.sh",
|
|
226
|
+
"description": "Archive legacy shell script (replaced by Python)"
|
|
219
227
|
},
|
|
220
228
|
{
|
|
221
|
-
"type": "
|
|
229
|
+
"type": "rename",
|
|
222
230
|
"from": ".trellis/scripts/common/git-context.sh",
|
|
223
|
-
"
|
|
231
|
+
"to": ".trellis/scripts-shell-archive/common/git-context.sh",
|
|
232
|
+
"description": "Archive legacy shell script (replaced by Python)"
|
|
224
233
|
},
|
|
225
234
|
{
|
|
226
|
-
"type": "
|
|
235
|
+
"type": "rename",
|
|
227
236
|
"from": ".trellis/scripts/common/worktree.sh",
|
|
228
|
-
"
|
|
237
|
+
"to": ".trellis/scripts-shell-archive/common/worktree.sh",
|
|
238
|
+
"description": "Archive legacy shell script (replaced by Python)"
|
|
229
239
|
},
|
|
230
240
|
{
|
|
231
|
-
"type": "
|
|
241
|
+
"type": "rename",
|
|
232
242
|
"from": ".trellis/scripts/common/task-queue.sh",
|
|
233
|
-
"
|
|
243
|
+
"to": ".trellis/scripts-shell-archive/common/task-queue.sh",
|
|
244
|
+
"description": "Archive legacy shell script (replaced by Python)"
|
|
234
245
|
},
|
|
235
246
|
{
|
|
236
|
-
"type": "
|
|
247
|
+
"type": "rename",
|
|
237
248
|
"from": ".trellis/scripts/common/task-utils.sh",
|
|
238
|
-
"
|
|
249
|
+
"to": ".trellis/scripts-shell-archive/common/task-utils.sh",
|
|
250
|
+
"description": "Archive legacy shell script (replaced by Python)"
|
|
239
251
|
},
|
|
240
252
|
{
|
|
241
|
-
"type": "
|
|
253
|
+
"type": "rename",
|
|
242
254
|
"from": ".trellis/scripts/common/phase.sh",
|
|
243
|
-
"
|
|
255
|
+
"to": ".trellis/scripts-shell-archive/common/phase.sh",
|
|
256
|
+
"description": "Archive legacy shell script (replaced by Python)"
|
|
244
257
|
},
|
|
245
258
|
{
|
|
246
|
-
"type": "
|
|
259
|
+
"type": "rename",
|
|
247
260
|
"from": ".trellis/scripts/common/registry.sh",
|
|
248
|
-
"
|
|
261
|
+
"to": ".trellis/scripts-shell-archive/common/registry.sh",
|
|
262
|
+
"description": "Archive legacy shell script (replaced by Python)"
|
|
249
263
|
},
|
|
250
264
|
|
|
251
265
|
{
|
|
252
|
-
"type": "
|
|
266
|
+
"type": "rename",
|
|
253
267
|
"from": ".trellis/scripts/multi-agent/start.sh",
|
|
254
|
-
"
|
|
268
|
+
"to": ".trellis/scripts-shell-archive/multi-agent/start.sh",
|
|
269
|
+
"description": "Archive legacy shell script (replaced by Python in multi_agent/)"
|
|
255
270
|
},
|
|
256
271
|
{
|
|
257
|
-
"type": "
|
|
272
|
+
"type": "rename",
|
|
258
273
|
"from": ".trellis/scripts/multi-agent/plan.sh",
|
|
259
|
-
"
|
|
274
|
+
"to": ".trellis/scripts-shell-archive/multi-agent/plan.sh",
|
|
275
|
+
"description": "Archive legacy shell script (replaced by Python in multi_agent/)"
|
|
260
276
|
},
|
|
261
277
|
{
|
|
262
|
-
"type": "
|
|
278
|
+
"type": "rename",
|
|
263
279
|
"from": ".trellis/scripts/multi-agent/status.sh",
|
|
264
|
-
"
|
|
280
|
+
"to": ".trellis/scripts-shell-archive/multi-agent/status.sh",
|
|
281
|
+
"description": "Archive legacy shell script (replaced by Python in multi_agent/)"
|
|
265
282
|
},
|
|
266
283
|
{
|
|
267
|
-
"type": "
|
|
284
|
+
"type": "rename",
|
|
268
285
|
"from": ".trellis/scripts/multi-agent/create-pr.sh",
|
|
269
|
-
"
|
|
286
|
+
"to": ".trellis/scripts-shell-archive/multi-agent/create-pr.sh",
|
|
287
|
+
"description": "Archive legacy shell script (replaced by Python in multi_agent/)"
|
|
270
288
|
},
|
|
271
289
|
{
|
|
272
|
-
"type": "
|
|
290
|
+
"type": "rename",
|
|
273
291
|
"from": ".trellis/scripts/multi-agent/cleanup.sh",
|
|
274
|
-
"
|
|
292
|
+
"to": ".trellis/scripts-shell-archive/multi-agent/cleanup.sh",
|
|
293
|
+
"description": "Archive legacy shell script (replaced by Python in multi_agent/)"
|
|
275
294
|
}
|
|
276
295
|
],
|
|
277
|
-
"notes": "Part 1: Command namespace migration - Claude Code uses subdirectory namespacing (.claude/commands/trellis/), Cursor uses filename prefix (.cursor/commands/trellis-*). Part 2: Shell to Python migration - All .trellis/scripts/*.sh files are
|
|
296
|
+
"notes": "Part 1: Command namespace migration - Claude Code uses subdirectory namespacing (.claude/commands/trellis/), Cursor uses filename prefix (.cursor/commands/trellis-*). Part 2: Shell to Python migration - All .trellis/scripts/*.sh files are archived to .trellis/scripts-shell-archive/ (not deleted). The multi-agent/ directory (with hyphen) is replaced by multi_agent/ (with underscore). Empty source directories are automatically cleaned up after rename."
|
|
278
297
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"recommendMigrate": false,
|
|
6
6
|
"changelog": "**BREAKING: Shell to Python Migration**\n- All `.trellis/scripts/*.sh` replaced by Python equivalents (requires Python 3.10+)\n- Directory rename: `multi-agent/` → `multi_agent/` (underscore)\n- Command namespace migration: Claude uses `.claude/commands/trellis/` subdirectory, Cursor uses `trellis-` prefix\n\n**New Platforms (9 total):**\n- Codex (`.agents/skills/`) — OpenAI's CLI agent\n- Kilo (`.kilocode/commands/trellis/`) — commands-only platform\n- Kiro (`.kiro/skills/`) — skills-based platform\n- Gemini CLI (`.gemini/commands/trellis/*.toml`) — TOML-format commands\n- Antigravity (`.agent/workflows/`) — workflow-based platform\n- Plus existing: Claude Code, Cursor, iFlow, OpenCode\n\n**Architecture:**\n- Centralized platform registry replacing scattered init/update logic\n- Extracted `resolvePlaceholders()` to shared module\n- Deduplicated `compareVersions()` to `utils/compare-versions.ts`\n- Remote spec templates from docs repo\n\n**Key Fixes:**\n- Windows encoding: `_configure_stream` with reconfigure/detach fallback for stdout/stderr\n- Windows subprocess: `CREATE_NEW_PROCESS_GROUP` on win32, `start_new_session` on Unix\n- Template placeholder roundtrip (`{{PYTHON_CMD}}` resolution)\n- CLI version comparison for prerelease versions\n- add_session.py table separator tolerance for formatted markdown\n\n**Quality:**\n- 312+ tests across 17+ files (unit, integration, regression)\n- @vitest/coverage-v8 support\n- Executable spec enforcement (7-section structure)",
|
|
7
7
|
"migrations": [],
|
|
8
|
-
"migrationGuide": "# Migration Guide: v0.2.x → v0.3.0\n\n## Overview\n\nAll shell scripts (.sh) have been replaced by Python scripts (.py). This affects any custom workflows, slash commands, or documentation that references the old scripts.\n\n## Requirements\n\n- Python 3.10 or higher\n\n## What Changed\n\n### Script Extensions\n\n| Old Path | New Path |\n|----------|----------|\n| `.trellis/scripts/*.sh` | `.trellis/scripts/*.py` |\n| `.trellis/scripts/common/*.sh` | `.trellis/scripts/common/*.py` |\n| `.trellis/scripts/multi-agent/*.sh` | `.trellis/scripts/multi_agent/*.py` |\n\n### Directory Rename\n\n| Old | New |\n|-----|-----|\n| `multi-agent/` (hyphen) | `multi_agent/` (underscore) |\n\n### Invocation Change\n\n| Old | New |\n|-----|-----|\n| `./script.sh` | `python3 ./script.py` |\n| `./.trellis/scripts/task.sh` | `python3 ./.trellis/scripts/task.py` |\n\n## After Migration\n\nRun `trellis update --migrate` to
|
|
8
|
+
"migrationGuide": "# Migration Guide: v0.2.x → v0.3.0\n\n## Overview\n\nAll shell scripts (.sh) have been replaced by Python scripts (.py). This affects any custom workflows, slash commands, or documentation that references the old scripts.\n\n## Requirements\n\n- Python 3.10 or higher\n\n## What Changed\n\n### Script Extensions\n\n| Old Path | New Path |\n|----------|----------|\n| `.trellis/scripts/*.sh` | `.trellis/scripts/*.py` |\n| `.trellis/scripts/common/*.sh` | `.trellis/scripts/common/*.py` |\n| `.trellis/scripts/multi-agent/*.sh` | `.trellis/scripts/multi_agent/*.py` |\n\n### Directory Rename\n\n| Old | New |\n|-----|-----|\n| `multi-agent/` (hyphen) | `multi_agent/` (underscore) |\n\n### Invocation Change\n\n| Old | New |\n|-----|-----|\n| `./script.sh` | `python3 ./script.py` |\n| `./.trellis/scripts/task.sh` | `python3 ./.trellis/scripts/task.py` |\n\n## After Migration\n\nRun `trellis update --migrate` to archive the old shell scripts to `.trellis/scripts-shell-archive/`.",
|
|
9
9
|
"aiInstructions": "When assisting users upgrading from 0.2.x to 0.3.0:\n1. Search for files containing `.trellis/scripts/*.sh` references and update to `.py`\n2. Replace `multi-agent/` directory references with `multi_agent/` (underscore)\n3. Always use `python3` explicitly, not just `python` (Windows compatibility)\n4. Check ALL locations: docstrings, help text, error messages, markdown docs\n5. Run `trellis update --migrate` to remove legacy shell scripts\n\nNote: Users upgrading from any 0.3.0 prerelease (beta/rc) need no file changes — only the version stamp is updated.",
|
|
10
|
-
"notes": "Aggregated release covering beta.0 through rc.6. All file migrations were applied in beta.0. Users upgrading from any 0.3.0 prerelease will see no file changes — only the .version stamp is updated. New projects get all 9 platform options via `trellis init`."
|
|
10
|
+
"notes": "Aggregated release covering beta.0 through rc.6. All file migrations were applied in beta.0 — shell scripts are archived to .trellis/scripts-shell-archive/ (not deleted). Users upgrading from any 0.3.0 prerelease will see no file changes — only the .version stamp is updated. New projects get all 9 platform options via `trellis init`."
|
|
11
11
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.3.1",
|
|
3
|
+
"description": "SessionStart reinject on clear/compact + spec template project-type awareness",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "**Enhancements:**\n- feat(hooks): SessionStart hook now fires on `clear` and `compact` events in addition to `startup` — ensures context is always re-injected after session reset (Claude + iFlow)\n\n**Bug Fixes:**\n- fix(iflow): command templates now write to `.iflow/commands/trellis/` subdirectory (was missing `trellis/` prefix)\n- fix(update): `collectTemplateFiles()` now checks `fs.existsSync` for backend/frontend spec dirs — prevents ghost spec files on project types that don't have them\n- fix(init): `createSpecTemplates()` respects project type — backend-only projects skip frontend spec, vice versa\n- fix(templates): removed dead `guidesCrossPlatformThinkingGuideContent` export and dead links in guides/index.md.txt",
|
|
7
|
+
"migrations": [],
|
|
8
|
+
"notes": "No migration required. Template-level changes only — run `trellis update` to sync. The settings.json changes (clear/compact matchers) will be applied automatically if the file hasn't been user-modified."
|
|
9
|
+
}
|
|
@@ -10,6 +10,26 @@
|
|
|
10
10
|
"timeout": 10
|
|
11
11
|
}
|
|
12
12
|
]
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"matcher": "clear",
|
|
16
|
+
"hooks": [
|
|
17
|
+
{
|
|
18
|
+
"type": "command",
|
|
19
|
+
"command": "{{PYTHON_CMD}} .claude/hooks/session-start.py",
|
|
20
|
+
"timeout": 10
|
|
21
|
+
}
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"matcher": "compact",
|
|
26
|
+
"hooks": [
|
|
27
|
+
{
|
|
28
|
+
"type": "command",
|
|
29
|
+
"command": "{{PYTHON_CMD}} .claude/hooks/session-start.py",
|
|
30
|
+
"timeout": 10
|
|
31
|
+
}
|
|
32
|
+
]
|
|
13
33
|
}
|
|
14
34
|
],
|
|
15
35
|
"PreToolUse": [
|
|
@@ -10,6 +10,26 @@
|
|
|
10
10
|
"timeout": 10
|
|
11
11
|
}
|
|
12
12
|
]
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"matcher": "clear",
|
|
16
|
+
"hooks": [
|
|
17
|
+
{
|
|
18
|
+
"type": "command",
|
|
19
|
+
"command": "{{PYTHON_CMD}} .iflow/hooks/session-start.py",
|
|
20
|
+
"timeout": 10
|
|
21
|
+
}
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"matcher": "compact",
|
|
26
|
+
"hooks": [
|
|
27
|
+
{
|
|
28
|
+
"type": "command",
|
|
29
|
+
"command": "{{PYTHON_CMD}} .iflow/hooks/session-start.py",
|
|
30
|
+
"timeout": 10
|
|
31
|
+
}
|
|
32
|
+
]
|
|
13
33
|
}
|
|
14
34
|
],
|
|
15
35
|
"PreToolUse": [
|
|
@@ -84,6 +84,19 @@ When you've made similar changes to multiple files:
|
|
|
84
84
|
|
|
85
85
|
---
|
|
86
86
|
|
|
87
|
+
## Gotcha: Asymmetric Mechanisms Producing Same Output
|
|
88
|
+
|
|
89
|
+
**Problem**: When two different mechanisms must produce the same file set (e.g., recursive directory copy for init vs. manual `files.set()` for update), structural changes (renaming, moving, adding subdirectories) only propagate through the automatic mechanism. The manual one silently drifts.
|
|
90
|
+
|
|
91
|
+
**Symptom**: Init works perfectly, but update creates files at wrong paths or misses files entirely.
|
|
92
|
+
|
|
93
|
+
**Prevention checklist**:
|
|
94
|
+
- [ ] When migrating directory structures, search for ALL code paths that reference the old structure
|
|
95
|
+
- [ ] If one path is auto-derived (glob/copy) and another is manually listed, the manual one needs updating
|
|
96
|
+
- [ ] Add a regression test that compares outputs from both mechanisms
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
87
100
|
## Checklist Before Commit
|
|
88
101
|
|
|
89
102
|
- [ ] Searched for existing similar code
|
package/package.json
CHANGED