deepspider 0.1.0

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 (261) hide show
  1. package/.claude/agents/check.md +122 -0
  2. package/.claude/agents/debug.md +106 -0
  3. package/.claude/agents/dispatch.md +214 -0
  4. package/.claude/agents/implement.md +96 -0
  5. package/.claude/agents/plan.md +396 -0
  6. package/.claude/agents/research.md +120 -0
  7. package/.claude/commands/evolve/merge.md +80 -0
  8. package/.claude/commands/trellis/before-backend-dev.md +13 -0
  9. package/.claude/commands/trellis/before-frontend-dev.md +13 -0
  10. package/.claude/commands/trellis/break-loop.md +107 -0
  11. package/.claude/commands/trellis/check-backend.md +13 -0
  12. package/.claude/commands/trellis/check-cross-layer.md +153 -0
  13. package/.claude/commands/trellis/check-frontend.md +13 -0
  14. package/.claude/commands/trellis/create-command.md +154 -0
  15. package/.claude/commands/trellis/finish-work.md +129 -0
  16. package/.claude/commands/trellis/integrate-skill.md +219 -0
  17. package/.claude/commands/trellis/onboard.md +358 -0
  18. package/.claude/commands/trellis/parallel.md +193 -0
  19. package/.claude/commands/trellis/record-session.md +62 -0
  20. package/.claude/commands/trellis/start.md +280 -0
  21. package/.claude/commands/trellis/update-spec.md +213 -0
  22. package/.claude/hooks/inject-subagent-context.py +758 -0
  23. package/.claude/hooks/ralph-loop.py +374 -0
  24. package/.claude/hooks/session-start.py +126 -0
  25. package/.claude/settings.json +41 -0
  26. package/.claude/skills/deepagents-guide/SKILL.md +428 -0
  27. package/.cursor/commands/trellis-before-backend-dev.md +13 -0
  28. package/.cursor/commands/trellis-before-frontend-dev.md +13 -0
  29. package/.cursor/commands/trellis-break-loop.md +107 -0
  30. package/.cursor/commands/trellis-check-backend.md +13 -0
  31. package/.cursor/commands/trellis-check-cross-layer.md +153 -0
  32. package/.cursor/commands/trellis-check-frontend.md +13 -0
  33. package/.cursor/commands/trellis-create-command.md +154 -0
  34. package/.cursor/commands/trellis-finish-work.md +129 -0
  35. package/.cursor/commands/trellis-integrate-skill.md +219 -0
  36. package/.cursor/commands/trellis-onboard.md +358 -0
  37. package/.cursor/commands/trellis-record-session.md +62 -0
  38. package/.cursor/commands/trellis-start.md +156 -0
  39. package/.cursor/commands/trellis-update-spec.md +213 -0
  40. package/.env.example +11 -0
  41. package/.husky/pre-commit +1 -0
  42. package/.mcp.json +8 -0
  43. package/.trellis/.template-hashes.json +65 -0
  44. package/.trellis/.version +1 -0
  45. package/.trellis/scripts/add-session.sh +384 -0
  46. package/.trellis/scripts/common/developer.sh +129 -0
  47. package/.trellis/scripts/common/git-context.sh +263 -0
  48. package/.trellis/scripts/common/paths.sh +208 -0
  49. package/.trellis/scripts/common/phase.sh +150 -0
  50. package/.trellis/scripts/common/registry.sh +247 -0
  51. package/.trellis/scripts/common/task-queue.sh +142 -0
  52. package/.trellis/scripts/common/task-utils.sh +151 -0
  53. package/.trellis/scripts/common/worktree.sh +128 -0
  54. package/.trellis/scripts/create-bootstrap.sh +299 -0
  55. package/.trellis/scripts/get-context.sh +7 -0
  56. package/.trellis/scripts/get-developer.sh +15 -0
  57. package/.trellis/scripts/init-developer.sh +34 -0
  58. package/.trellis/scripts/multi-agent/cleanup.sh +396 -0
  59. package/.trellis/scripts/multi-agent/create-pr.sh +241 -0
  60. package/.trellis/scripts/multi-agent/plan.sh +207 -0
  61. package/.trellis/scripts/multi-agent/start.sh +310 -0
  62. package/.trellis/scripts/multi-agent/status.sh +828 -0
  63. package/.trellis/scripts/task.sh +1118 -0
  64. package/.trellis/spec/backend/deepagents-guide.md +337 -0
  65. package/.trellis/spec/backend/directory-structure.md +126 -0
  66. package/.trellis/spec/backend/examples/skills/deepagents-guide/README.md +11 -0
  67. package/.trellis/spec/backend/examples/skills/deepagents-guide/agent.js.template +20 -0
  68. package/.trellis/spec/backend/examples/skills/deepagents-guide/skills-config.js.template +13 -0
  69. package/.trellis/spec/backend/examples/skills/deepagents-guide/subagent.js.template +19 -0
  70. package/.trellis/spec/backend/hook-guidelines.md +178 -0
  71. package/.trellis/spec/backend/index.md +36 -0
  72. package/.trellis/spec/backend/quality-guidelines.md +201 -0
  73. package/.trellis/spec/backend/state-management.md +76 -0
  74. package/.trellis/spec/backend/tool-guidelines.md +144 -0
  75. package/.trellis/spec/backend/type-safety.md +71 -0
  76. package/.trellis/spec/guides/code-reuse-thinking-guide.md +92 -0
  77. package/.trellis/spec/guides/cross-layer-thinking-guide.md +94 -0
  78. package/.trellis/spec/guides/index.md +79 -0
  79. package/.trellis/tasks/archive/02-02-evolving-skills/prd.md +61 -0
  80. package/.trellis/tasks/archive/02-02-evolving-skills/task.json +29 -0
  81. package/.trellis/tasks/archive/2026-02/00-bootstrap-guidelines/prd.md +86 -0
  82. package/.trellis/tasks/archive/2026-02/00-bootstrap-guidelines/task.json +27 -0
  83. package/.trellis/tasks/archive/2026-02/02-02-skills-system/check.jsonl +3 -0
  84. package/.trellis/tasks/archive/2026-02/02-02-skills-system/debug.jsonl +2 -0
  85. package/.trellis/tasks/archive/2026-02/02-02-skills-system/implement.jsonl +5 -0
  86. package/.trellis/tasks/archive/2026-02/02-02-skills-system/prd.md +33 -0
  87. package/.trellis/tasks/archive/2026-02/02-02-skills-system/task.json +41 -0
  88. package/.trellis/workflow.md +407 -0
  89. package/.trellis/workspace/index.md +123 -0
  90. package/.trellis/workspace/pony/index.md +40 -0
  91. package/.trellis/workspace/pony/journal-1.md +7 -0
  92. package/.trellis/worktree.yaml +47 -0
  93. package/AGENTS.md +18 -0
  94. package/CLAUDE.md +292 -0
  95. package/README.md +134 -0
  96. package/agents/deepspider.md +142 -0
  97. package/docs/DEBUG.md +42 -0
  98. package/docs/GUIDE.md +334 -0
  99. package/docs/PROMPT.md +60 -0
  100. package/docs/USAGE.md +226 -0
  101. package/eslint.config.js +51 -0
  102. package/package.json +78 -0
  103. package/requirements-crypto.txt +14 -0
  104. package/src/agent/index.js +97 -0
  105. package/src/agent/logger.js +164 -0
  106. package/src/agent/middleware/filterTools.js +64 -0
  107. package/src/agent/middleware/report.js +79 -0
  108. package/src/agent/prompts/system.js +315 -0
  109. package/src/agent/run.js +575 -0
  110. package/src/agent/skills/anti-detect/SKILL.md +28 -0
  111. package/src/agent/skills/anti-detect/evolved.md +12 -0
  112. package/src/agent/skills/captcha/SKILL.md +37 -0
  113. package/src/agent/skills/captcha/evolved.md +12 -0
  114. package/src/agent/skills/config.js +30 -0
  115. package/src/agent/skills/crawler/SKILL.md +9 -0
  116. package/src/agent/skills/crawler/evolved.md +16 -0
  117. package/src/agent/skills/dynamic-analysis/SKILL.md +91 -0
  118. package/src/agent/skills/dynamic-analysis/evolved.md +12 -0
  119. package/src/agent/skills/env/SKILL.md +72 -0
  120. package/src/agent/skills/env/evolved.md +12 -0
  121. package/src/agent/skills/evolve.js +79 -0
  122. package/src/agent/skills/general/SKILL.md +12 -0
  123. package/src/agent/skills/general/evolved.md +12 -0
  124. package/src/agent/skills/js2python/SKILL.md +30 -0
  125. package/src/agent/skills/js2python/evolved.md +13 -0
  126. package/src/agent/skills/report/SKILL.md +21 -0
  127. package/src/agent/skills/report/evolved.md +12 -0
  128. package/src/agent/skills/sandbox/SKILL.md +22 -0
  129. package/src/agent/skills/sandbox/evolved.md +16 -0
  130. package/src/agent/skills/static-analysis/SKILL.md +93 -0
  131. package/src/agent/skills/static-analysis/evolved.md +12 -0
  132. package/src/agent/skills/xpath/SKILL.md +119 -0
  133. package/src/agent/subagents/anti-detect.js +45 -0
  134. package/src/agent/subagents/captcha.js +51 -0
  135. package/src/agent/subagents/crawler.js +138 -0
  136. package/src/agent/subagents/dynamic.js +64 -0
  137. package/src/agent/subagents/env-agent.js +82 -0
  138. package/src/agent/subagents/index.js +37 -0
  139. package/src/agent/subagents/js2python.js +72 -0
  140. package/src/agent/subagents/sandbox.js +55 -0
  141. package/src/agent/subagents/static.js +66 -0
  142. package/src/agent/tools/analysis.js +135 -0
  143. package/src/agent/tools/analyzer.js +85 -0
  144. package/src/agent/tools/anti-detect.js +89 -0
  145. package/src/agent/tools/antidebug.js +64 -0
  146. package/src/agent/tools/async.js +43 -0
  147. package/src/agent/tools/browser.js +324 -0
  148. package/src/agent/tools/captcha.js +223 -0
  149. package/src/agent/tools/capture.js +179 -0
  150. package/src/agent/tools/correlate.js +303 -0
  151. package/src/agent/tools/crawler.js +116 -0
  152. package/src/agent/tools/cryptohook.js +80 -0
  153. package/src/agent/tools/debug.js +246 -0
  154. package/src/agent/tools/deobfuscator.js +90 -0
  155. package/src/agent/tools/env.js +83 -0
  156. package/src/agent/tools/envdump.js +92 -0
  157. package/src/agent/tools/evolve.js +164 -0
  158. package/src/agent/tools/extract.js +114 -0
  159. package/src/agent/tools/extractor.js +54 -0
  160. package/src/agent/tools/file.js +224 -0
  161. package/src/agent/tools/hook.js +84 -0
  162. package/src/agent/tools/hookManager.js +178 -0
  163. package/src/agent/tools/index.js +137 -0
  164. package/src/agent/tools/nodejs.js +101 -0
  165. package/src/agent/tools/patch.js +46 -0
  166. package/src/agent/tools/preprocess.js +71 -0
  167. package/src/agent/tools/profile.js +122 -0
  168. package/src/agent/tools/python.js +627 -0
  169. package/src/agent/tools/report.js +124 -0
  170. package/src/agent/tools/runtime.js +132 -0
  171. package/src/agent/tools/sandbox.js +79 -0
  172. package/src/agent/tools/store.js +73 -0
  173. package/src/agent/tools/trace.js +74 -0
  174. package/src/agent/tools/tracing.js +201 -0
  175. package/src/agent/tools/utils.js +51 -0
  176. package/src/agent/tools/verify.js +184 -0
  177. package/src/agent/tools/webcrack.js +109 -0
  178. package/src/analyzer/ASTAnalyzer.js +387 -0
  179. package/src/analyzer/CallStackAnalyzer.js +379 -0
  180. package/src/analyzer/Deobfuscator.js +289 -0
  181. package/src/analyzer/EncryptionAnalyzer.js +99 -0
  182. package/src/analyzer/index.js +22 -0
  183. package/src/browser/EnvBridge.js +186 -0
  184. package/src/browser/cdp.js +168 -0
  185. package/src/browser/client.js +197 -0
  186. package/src/browser/collector.js +444 -0
  187. package/src/browser/collectors/RequestCryptoLinker.js +109 -0
  188. package/src/browser/collectors/ResponseSearcher.js +107 -0
  189. package/src/browser/collectors/ScriptCollector.js +158 -0
  190. package/src/browser/collectors/index.js +26 -0
  191. package/src/browser/defaultHooks.js +932 -0
  192. package/src/browser/hooks/crypto.js +55 -0
  193. package/src/browser/hooks/index.js +64 -0
  194. package/src/browser/hooks/native.js +9 -0
  195. package/src/browser/hooks/network.js +33 -0
  196. package/src/browser/index.js +42 -0
  197. package/src/browser/interceptors/NetworkInterceptor.js +116 -0
  198. package/src/browser/interceptors/ScriptInterceptor.js +76 -0
  199. package/src/browser/interceptors/index.js +6 -0
  200. package/src/browser/ui/analysisPanel.js +1782 -0
  201. package/src/browser/ui/confirmDialog.js +158 -0
  202. package/src/browser/ui/panel.html +152 -0
  203. package/src/browser/ui/selector.js +170 -0
  204. package/src/config/index.js +5 -0
  205. package/src/config/paths.js +71 -0
  206. package/src/config/patterns/crypto.js +36 -0
  207. package/src/config/profiles/chrome.json +71 -0
  208. package/src/config/profiles/firefox.json +44 -0
  209. package/src/config/profiles/safari.json +38 -0
  210. package/src/core/EnvMonitor.js +200 -0
  211. package/src/core/PatchGenerator.js +278 -0
  212. package/src/core/Sandbox.js +181 -0
  213. package/src/env/AntiAntiDebug.js +111 -0
  214. package/src/env/AsyncHook.js +68 -0
  215. package/src/env/BrowserAPIList.js +265 -0
  216. package/src/env/CookieHook.js +48 -0
  217. package/src/env/CryptoHook.js +205 -0
  218. package/src/env/EnvCodeGenerator.js +157 -0
  219. package/src/env/EnvDumper.js +356 -0
  220. package/src/env/EnvExtractor.js +220 -0
  221. package/src/env/HookBase.js +618 -0
  222. package/src/env/NetworkHook.js +159 -0
  223. package/src/env/modules/bom/history.js +29 -0
  224. package/src/env/modules/bom/location.js +26 -0
  225. package/src/env/modules/bom/navigator.js +70 -0
  226. package/src/env/modules/bom/screen.js +26 -0
  227. package/src/env/modules/bom/storage.js +23 -0
  228. package/src/env/modules/dom/document.js +110 -0
  229. package/src/env/modules/dom/event.js +51 -0
  230. package/src/env/modules/index.js +34 -0
  231. package/src/env/modules/webapi/fetch.js +46 -0
  232. package/src/env/modules/webapi/url.js +47 -0
  233. package/src/env/modules/webapi/xhr.js +48 -0
  234. package/src/index.js +27 -0
  235. package/src/mcp/server.js +89 -0
  236. package/src/store/DataStore.js +708 -0
  237. package/src/store/Store.js +158 -0
  238. package/src/store/Validator.js +24 -0
  239. package/test/analyze.test.js +90 -0
  240. package/test/envdump.test.js +74 -0
  241. package/test/flow.test.js +90 -0
  242. package/test/hooks.test.js +138 -0
  243. package/test/plugin.test.js +35 -0
  244. package/test/refactor-full.test.js +30 -0
  245. package/test/refactor.test.js +21 -0
  246. package/test/samples/obfuscated.js +61 -0
  247. package/test/samples/original.js +66 -0
  248. package/test/samples/v10_eval_chain.js +52 -0
  249. package/test/samples/v11_bytecode_vm.js +81 -0
  250. package/test/samples/v12_polymorphic.js +69 -0
  251. package/test/samples/v1_ob_basic.js +98 -0
  252. package/test/samples/v2_ob_advanced.js +99 -0
  253. package/test/samples/v3_jjencode.js +77 -0
  254. package/test/samples/v4_aaencode.js +73 -0
  255. package/test/samples/v5_control_flow.js +86 -0
  256. package/test/samples/v6_string_encryption.js +71 -0
  257. package/test/samples/v7_jsvmp.js +83 -0
  258. package/test/samples/v8_anti_debug.js +79 -0
  259. package/test/samples/v9_proxy_trap.js +49 -0
  260. package/test/samples.test.js +96 -0
  261. package/test/webcrack.test.js +55 -0
@@ -0,0 +1,193 @@
1
+ # Multi-Agent Pipeline Orchestrator
2
+
3
+ You are the Multi-Agent Pipeline Orchestrator Agent, running in the main repository, responsible for collaborating with users to manage parallel development tasks.
4
+
5
+ ## Role Definition
6
+
7
+ - **You are in the main repository**, not in a worktree
8
+ - **You don't write code directly** - code work is done by agents in worktrees
9
+ - **You are responsible for planning and dispatching**: discuss requirements, create plans, configure context, start worktree agents
10
+ - **Delegate complex analysis to research agent**: finding specs, analyzing code structure
11
+
12
+ ---
13
+
14
+ ## Operation Types
15
+
16
+ Operations in this document are categorized as:
17
+
18
+ | Marker | Meaning | Executor |
19
+ |--------|---------|----------|
20
+ | `[AI]` | Bash scripts or Task calls executed by AI | You (AI) |
21
+ | `[USER]` | Slash commands executed by user | User |
22
+
23
+ ---
24
+
25
+ ## Startup Flow
26
+
27
+ ### Step 1: Understand Trellis Workflow `[AI]`
28
+
29
+ First, read the workflow guide to understand the development process:
30
+
31
+ ```bash
32
+ cat .trellis/workflow.md # Development process, conventions, and quick start guide
33
+ ```
34
+
35
+ ### Step 2: Get Current Status `[AI]`
36
+
37
+ ```bash
38
+ ./.trellis/scripts/get-context.sh
39
+ ```
40
+
41
+ ### Step 3: Read Project Guidelines `[AI]`
42
+
43
+ ```bash
44
+ cat .trellis/spec/frontend/index.md # Frontend guidelines index
45
+ cat .trellis/spec/backend/index.md # Backend guidelines index
46
+ cat .trellis/spec/guides/index.md # Thinking guides
47
+ ```
48
+
49
+ ### Step 4: Ask User for Requirements
50
+
51
+ Ask the user:
52
+
53
+ 1. What feature to develop?
54
+ 2. Which modules are involved?
55
+ 3. Development type? (backend / frontend / fullstack)
56
+
57
+ ---
58
+
59
+ ## Planning: Choose Your Approach
60
+
61
+ Based on requirement complexity, choose one of these approaches:
62
+
63
+ ### Option A: Plan Agent (Recommended for complex features) `[AI]`
64
+
65
+ Use when:
66
+ - Requirements need analysis and validation
67
+ - Multiple modules or cross-layer changes
68
+ - Unclear scope that needs research
69
+
70
+ ```bash
71
+ ./.trellis/scripts/multi-agent/plan.sh \
72
+ --name "<feature-name>" \
73
+ --type "<backend|frontend|fullstack>" \
74
+ --requirement "<user requirement description>"
75
+ ```
76
+
77
+ Plan Agent will:
78
+ 1. Evaluate requirement validity (may reject if unclear/too large)
79
+ 2. Call research agent to analyze codebase
80
+ 3. Create and configure task directory
81
+ 4. Write prd.md with acceptance criteria
82
+ 5. Output ready-to-use task directory
83
+
84
+ After plan.sh completes, start the worktree agent:
85
+
86
+ ```bash
87
+ ./.trellis/scripts/multi-agent/trellis:start.sh "$TASK_DIR"
88
+ ```
89
+
90
+ ### Option B: Manual Configuration (For simple/clear features) `[AI]`
91
+
92
+ Use when:
93
+ - Requirements are already clear and specific
94
+ - You know exactly which files are involved
95
+ - Simple, well-scoped changes
96
+
97
+ #### Step 1: Create Task Directory
98
+
99
+ ```bash
100
+ # title is task description, --slug for task directory name
101
+ TASK_DIR=$(./.trellis/scripts/task.sh create "<title>" --slug <task-name>)
102
+ ```
103
+
104
+ #### Step 2: Configure Task
105
+
106
+ ```bash
107
+ # Initialize jsonl context files
108
+ ./.trellis/scripts/task.sh init-context "$TASK_DIR" <dev_type>
109
+
110
+ # Set branch and scope
111
+ ./.trellis/scripts/task.sh set-branch "$TASK_DIR" feature/<name>
112
+ ./.trellis/scripts/task.sh set-scope "$TASK_DIR" <scope>
113
+ ```
114
+
115
+ #### Step 3: Add Context (optional: use research agent)
116
+
117
+ ```bash
118
+ ./.trellis/scripts/task.sh add-context "$TASK_DIR" implement "<path>" "<reason>"
119
+ ./.trellis/scripts/task.sh add-context "$TASK_DIR" check "<path>" "<reason>"
120
+ ```
121
+
122
+ #### Step 4: Create prd.md
123
+
124
+ ```bash
125
+ cat > "$TASK_DIR/prd.md" << 'EOF'
126
+ # Feature: <name>
127
+
128
+ ## Requirements
129
+ - ...
130
+
131
+ ## Acceptance Criteria
132
+ - ...
133
+ EOF
134
+ ```
135
+
136
+ #### Step 5: Validate and Start
137
+
138
+ ```bash
139
+ ./.trellis/scripts/task.sh validate "$TASK_DIR"
140
+ ./.trellis/scripts/multi-agent/trellis:start.sh "$TASK_DIR"
141
+ ```
142
+
143
+ ---
144
+
145
+ ## After Starting: Report Status
146
+
147
+ Tell the user the agent has started and provide monitoring commands.
148
+
149
+ ---
150
+
151
+ ## User Available Commands `[USER]`
152
+
153
+ The following slash commands are for users (not AI):
154
+
155
+ | Command | Description |
156
+ |---------|-------------|
157
+ | `/trellis:parallel` | Start Multi-Agent Pipeline (this command) |
158
+ | `/trellis:start` | Start normal development mode (single process) |
159
+ | `/trellis:record-session` | Record session progress |
160
+ | `/trellis:finish-work` | Pre-completion checklist |
161
+
162
+ ---
163
+
164
+ ## Monitoring Commands (for user reference)
165
+
166
+ Tell the user they can use these commands to monitor:
167
+
168
+ ```bash
169
+ ./.trellis/scripts/multi-agent/status.sh # Overview
170
+ ./.trellis/scripts/multi-agent/status.sh --log <name> # View log
171
+ ./.trellis/scripts/multi-agent/status.sh --watch <name> # Real-time monitoring
172
+ ./.trellis/scripts/multi-agent/cleanup.sh <branch> # Cleanup worktree
173
+ ```
174
+
175
+ ---
176
+
177
+ ## Pipeline Phases
178
+
179
+ The dispatch agent in worktree will automatically execute:
180
+
181
+ 1. implement → Implement feature
182
+ 2. check → Check code quality
183
+ 3. finish → Final verification
184
+ 4. create-pr → Create PR
185
+
186
+ ---
187
+
188
+ ## Core Rules
189
+
190
+ - **Don't write code directly** - delegate to agents in worktree
191
+ - **Don't execute git commit** - agent does it via create-pr action
192
+ - **Delegate complex analysis to research** - finding specs, analyzing code structure
193
+ - **All sub agents use opus model** - ensure output quality
@@ -0,0 +1,62 @@
1
+ [!] **Prerequisite**: This command should only be used AFTER the human has tested and committed the code.
2
+
3
+ **AI must NOT execute git commit** - only read history (`git log`, `git status`, `git diff`).
4
+
5
+ ---
6
+
7
+ ## Record Work Progress (Simplified - Only 2 Steps)
8
+
9
+ ### Step 1: Get Context
10
+
11
+ ```bash
12
+ ./.trellis/scripts/get-context.sh
13
+ ```
14
+
15
+ ### Step 2: One-Click Add Session
16
+
17
+ ```bash
18
+ # Method 1: Simple parameters
19
+ ./.trellis/scripts/add-session.sh \
20
+ --title "Session Title" \
21
+ --commit "hash1,hash2" \
22
+ --summary "Brief summary of what was done"
23
+
24
+ # Method 2: Pass detailed content via stdin
25
+ cat << 'EOF' | ./.trellis/scripts/add-session.sh --title "Title" --commit "hash"
26
+ | Feature | Description |
27
+ |---------|-------------|
28
+ | New API | Added user authentication endpoint |
29
+ | Frontend | Updated login form |
30
+
31
+ **Updated Files**:
32
+ - `packages/api/modules/auth/router.ts`
33
+ - `apps/web/modules/auth/components/login-form.tsx`
34
+ EOF
35
+ ```
36
+
37
+ **Auto-completes**:
38
+ - [OK] Appends session to journal-N.md
39
+ - [OK] Auto-detects line count, creates new file if >2000 lines
40
+ - [OK] Updates index.md (Total Sessions +1, Last Active, line stats, history)
41
+
42
+ ---
43
+
44
+ ## Archive Completed Task (if any)
45
+
46
+ If a task was completed this session:
47
+
48
+ ```bash
49
+ ./.trellis/scripts/task.sh archive <task-name>
50
+ ```
51
+
52
+ ---
53
+
54
+ ## Script Command Reference
55
+
56
+ | Command | Purpose |
57
+ |---------|---------|
58
+ | `get-context.sh` | Get all context info |
59
+ | `add-session.sh --title "..." --commit "..."` | **One-click add session (recommended)** |
60
+ | `task.sh create "<title>" [--slug <name>]` | Create new task directory |
61
+ | `task.sh archive <name>` | Archive completed task |
62
+ | `task.sh list` | List active tasks |
@@ -0,0 +1,280 @@
1
+ # Start Session
2
+
3
+ Initialize your AI development session and begin working on tasks.
4
+
5
+ ---
6
+
7
+ ## Operation Types
8
+
9
+ | Marker | Meaning | Executor |
10
+ |--------|---------|----------|
11
+ | `[AI]` | Bash scripts or Task calls executed by AI | You (AI) |
12
+ | `[USER]` | Slash commands executed by user | User |
13
+
14
+ ---
15
+
16
+ ## Initialization `[AI]`
17
+
18
+ ### Step 1: Understand Development Workflow
19
+
20
+ First, read the workflow guide to understand the development process:
21
+
22
+ ```bash
23
+ cat .trellis/workflow.md
24
+ ```
25
+
26
+ **Follow the instructions in workflow.md** - it contains:
27
+ - Core principles (Read Before Write, Follow Standards, etc.)
28
+ - File system structure
29
+ - Development process
30
+ - Best practices
31
+
32
+ ### Step 2: Get Current Context
33
+
34
+ ```bash
35
+ ./.trellis/scripts/get-context.sh
36
+ ```
37
+
38
+ This shows: developer identity, git status, current task (if any), active tasks.
39
+
40
+ ### Step 3: Read Guidelines Index
41
+
42
+ ```bash
43
+ cat .trellis/spec/frontend/index.md # Frontend guidelines
44
+ cat .trellis/spec/backend/index.md # Backend guidelines
45
+ cat .trellis/spec/guides/index.md # Thinking guides
46
+ ```
47
+
48
+ ### Step 4: Report and Ask
49
+
50
+ Report what you learned and ask: "What would you like to work on?"
51
+
52
+ ---
53
+
54
+ ## Task Classification
55
+
56
+ When user describes a task, classify it:
57
+
58
+ | Type | Criteria | Workflow |
59
+ |------|----------|----------|
60
+ | **Question** | User asks about code, architecture, or how something works | Answer directly |
61
+ | **Trivial Fix** | Typo fix, comment update, single-line change, < 5 minutes | Direct Edit |
62
+ | **Development Task** | Any code change that: modifies logic, adds features, fixes bugs, touches multiple files | **Task Workflow** |
63
+
64
+ ### Decision Rule
65
+
66
+ > **If in doubt, use Task Workflow.**
67
+ >
68
+ > Task Workflow ensures specs are injected to agents, resulting in higher quality code.
69
+ > The overhead is minimal, but the benefit is significant.
70
+
71
+ ---
72
+
73
+ ## Question / Trivial Fix
74
+
75
+ For questions or trivial fixes, work directly:
76
+
77
+ 1. Answer question or make the fix
78
+ 2. If code was changed, remind user to run `/trellis:finish-work`
79
+
80
+ ---
81
+
82
+ ## Task Workflow (Development Tasks)
83
+
84
+ **Why this workflow?**
85
+ - Research Agent analyzes what specs are needed
86
+ - Specs are configured in jsonl files
87
+ - Implement Agent receives specs via Hook injection
88
+ - Check Agent verifies against specs
89
+ - Result: Code that follows project conventions automatically
90
+
91
+ ### Step 1: Understand the Task `[AI]`
92
+
93
+ Before creating anything, understand what user wants:
94
+ - What is the goal?
95
+ - What type of development? (frontend / backend / fullstack)
96
+ - Any specific requirements or constraints?
97
+
98
+ If unclear, ask clarifying questions.
99
+
100
+ ### Step 2: Research the Codebase `[AI]`
101
+
102
+ Call Research Agent to analyze:
103
+
104
+ ```
105
+ Task(
106
+ subagent_type: "research",
107
+ prompt: "Analyze the codebase for this task:
108
+
109
+ Task: <user's task description>
110
+ Type: <frontend/backend/fullstack>
111
+
112
+ Please find:
113
+ 1. Relevant spec files in .trellis/spec/
114
+ 2. Existing code patterns to follow (find 2-3 examples)
115
+ 3. Files that will likely need modification
116
+
117
+ Output:
118
+ ## Relevant Specs
119
+ - <path>: <why it's relevant>
120
+
121
+ ## Code Patterns Found
122
+ - <pattern>: <example file path>
123
+
124
+ ## Files to Modify
125
+ - <path>: <what change>
126
+
127
+ ## Suggested Task Name
128
+ - <short-slug-name>",
129
+ model: "opus"
130
+ )
131
+ ```
132
+
133
+ ### Step 3: Create Task Directory `[AI]`
134
+
135
+ Based on research results:
136
+
137
+ ```bash
138
+ TASK_DIR=$(./.trellis/scripts/task.sh create "<title from research>" --slug <suggested-slug>)
139
+ ```
140
+
141
+ ### Step 4: Configure Context `[AI]`
142
+
143
+ Initialize default context:
144
+
145
+ ```bash
146
+ ./.trellis/scripts/task.sh init-context "$TASK_DIR" <type>
147
+ # type: backend | frontend | fullstack
148
+ ```
149
+
150
+ Add specs found by Research Agent:
151
+
152
+ ```bash
153
+ # For each relevant spec and code pattern:
154
+ ./.trellis/scripts/task.sh add-context "$TASK_DIR" implement "<path>" "<reason>"
155
+ ./.trellis/scripts/task.sh add-context "$TASK_DIR" check "<path>" "<reason>"
156
+ ```
157
+
158
+ ### Step 5: Write Requirements `[AI]`
159
+
160
+ Create `prd.md` in the task directory with:
161
+
162
+ ```markdown
163
+ # <Task Title>
164
+
165
+ ## Goal
166
+ <What we're trying to achieve>
167
+
168
+ ## Requirements
169
+ - <Requirement 1>
170
+ - <Requirement 2>
171
+
172
+ ## Acceptance Criteria
173
+ - [ ] <Criterion 1>
174
+ - [ ] <Criterion 2>
175
+
176
+ ## Technical Notes
177
+ <Any technical decisions or constraints>
178
+ ```
179
+
180
+ ### Step 6: Activate Task `[AI]`
181
+
182
+ ```bash
183
+ ./.trellis/scripts/task.sh start "$TASK_DIR"
184
+ ```
185
+
186
+ This sets `.current-task` so hooks can inject context.
187
+
188
+ ### Step 7: Implement `[AI]`
189
+
190
+ Call Implement Agent (specs are auto-injected by hook):
191
+
192
+ ```
193
+ Task(
194
+ subagent_type: "implement",
195
+ prompt: "Implement the task described in prd.md.
196
+
197
+ Follow all specs that have been injected into your context.
198
+ Run lint and typecheck before finishing.",
199
+ model: "opus"
200
+ )
201
+ ```
202
+
203
+ ### Step 8: Check Quality `[AI]`
204
+
205
+ Call Check Agent (specs are auto-injected by hook):
206
+
207
+ ```
208
+ Task(
209
+ subagent_type: "check",
210
+ prompt: "Review all code changes against the specs.
211
+
212
+ Fix any issues you find directly.
213
+ Ensure lint and typecheck pass.",
214
+ model: "opus"
215
+ )
216
+ ```
217
+
218
+ ### Step 9: Complete `[AI]`
219
+
220
+ 1. Verify lint and typecheck pass
221
+ 2. Report what was implemented
222
+ 3. Remind user to:
223
+ - Test the changes
224
+ - Commit when ready
225
+ - Run `/trellis:record-session` to record this session
226
+
227
+ ---
228
+
229
+ ## Continuing Existing Task
230
+
231
+ If `get-context.sh` shows a current task:
232
+
233
+ 1. Read the task's `prd.md` to understand the goal
234
+ 2. Check `task.json` for current status and phase
235
+ 3. Ask user: "Continue working on <task-name>?"
236
+
237
+ If yes, resume from the appropriate step (usually Step 7 or 8).
238
+
239
+ ---
240
+
241
+ ## Commands Reference
242
+
243
+ ### User Commands `[USER]`
244
+
245
+ | Command | When to Use |
246
+ |---------|-------------|
247
+ | `/trellis:start` | Begin a session (this command) |
248
+ | `/trellis:parallel` | Complex tasks needing isolated worktree |
249
+ | `/trellis:finish-work` | Before committing changes |
250
+ | `/trellis:record-session` | After completing a task |
251
+
252
+ ### AI Scripts `[AI]`
253
+
254
+ | Script | Purpose |
255
+ |--------|---------|
256
+ | `get-context.sh` | Get session context |
257
+ | `task.sh create` | Create task directory |
258
+ | `task.sh init-context` | Initialize jsonl files |
259
+ | `task.sh add-context` | Add spec to jsonl |
260
+ | `task.sh start` | Set current task |
261
+ | `task.sh finish` | Clear current task |
262
+ | `task.sh archive` | Archive completed task |
263
+
264
+ ### Sub Agents `[AI]`
265
+
266
+ | Agent | Purpose | Hook Injection |
267
+ |-------|---------|----------------|
268
+ | research | Analyze codebase | No (reads directly) |
269
+ | implement | Write code | Yes (implement.jsonl) |
270
+ | check | Review & fix | Yes (check.jsonl) |
271
+ | debug | Fix specific issues | Yes (debug.jsonl) |
272
+
273
+ ---
274
+
275
+ ## Key Principle
276
+
277
+ > **Specs are injected, not remembered.**
278
+ >
279
+ > The Task Workflow ensures agents receive relevant specs automatically.
280
+ > This is more reliable than hoping the AI "remembers" conventions.