opencodekit 0.15.21 → 0.16.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 (116) hide show
  1. package/dist/index.js +5 -7
  2. package/dist/template/.opencode/AGENTS.md +21 -20
  3. package/dist/template/.opencode/agent/build.md +88 -7
  4. package/dist/template/.opencode/agent/explore.md +1 -1
  5. package/dist/template/.opencode/agent/general.md +54 -4
  6. package/dist/template/.opencode/agent/looker.md +1 -1
  7. package/dist/template/.opencode/agent/painter.md +1 -1
  8. package/dist/template/.opencode/agent/plan.md +52 -0
  9. package/dist/template/.opencode/agent/review.md +1 -1
  10. package/dist/template/.opencode/agent/scout.md +3 -3
  11. package/dist/template/.opencode/agent/vision.md +1 -1
  12. package/dist/template/.opencode/command/create.md +201 -95
  13. package/dist/template/.opencode/command/design.md +5 -7
  14. package/dist/template/.opencode/command/handoff.md +7 -0
  15. package/dist/template/.opencode/command/init.md +25 -47
  16. package/dist/template/.opencode/command/plan.md +35 -16
  17. package/dist/template/.opencode/command/resume.md +7 -18
  18. package/dist/template/.opencode/command/ship.md +156 -0
  19. package/dist/template/.opencode/command/start.md +315 -28
  20. package/dist/template/.opencode/command/ui-review.md +5 -7
  21. package/dist/template/.opencode/command/verify.md +279 -0
  22. package/dist/template/.opencode/memory/_templates/README.md +57 -19
  23. package/dist/template/.opencode/memory/_templates/prd.md +29 -0
  24. package/dist/template/.opencode/memory/_templates/project/tech-stack.md +50 -0
  25. package/dist/template/.opencode/memory/_templates/proposal.md +38 -0
  26. package/dist/template/.opencode/memory/_templates/spec.md +66 -0
  27. package/dist/template/.opencode/memory/_templates/tasks.md +198 -0
  28. package/dist/template/.opencode/memory/observations/2026-02-01-decision-add-skills-vs-commands-to-global-agents-.md +15 -0
  29. package/dist/template/.opencode/memory/observations/2026-02-01-decision-build-agent-auto-loads-skills-contextual.md +31 -0
  30. package/dist/template/.opencode/memory/observations/2026-02-01-decision-fixed-agent-configuration-for-opencodeki.md +25 -0
  31. package/dist/template/.opencode/memory/observations/2026-02-01-decision-focused-agents-md-upgrade-for-opencode-k.md +14 -0
  32. package/dist/template/.opencode/memory/observations/2026-02-01-decision-implement-tier-1-permission-upgrades.md +15 -0
  33. package/dist/template/.opencode/memory/observations/2026-02-01-decision-instructions-config-explicit-paths-not-w.md +40 -0
  34. package/dist/template/.opencode/memory/observations/2026-02-01-decision-merged-context-into-memory-project-singl.md +42 -0
  35. package/dist/template/.opencode/memory/observations/2026-02-01-decision-oracle-tool-should-use-review-agent-not-.md +14 -0
  36. package/dist/template/.opencode/memory/observations/2026-02-01-decision-plan-agent-auto-loads-skills-contextuall.md +31 -0
  37. package/dist/template/.opencode/memory/observations/2026-02-01-decision-plan-phased-oracle-command-merge-into-ne.md +14 -0
  38. package/dist/template/.opencode/memory/observations/2026-02-01-decision-prd-workflow-uses-prd-and-prd-task-skill.md +23 -0
  39. package/dist/template/.opencode/memory/observations/2026-02-01-decision-prefer-review-agent-via-opencode-cli-ove.md +14 -0
  40. package/dist/template/.opencode/memory/observations/2026-02-01-decision-remove-oracle-tool-add-ship-command-with.md +14 -0
  41. package/dist/template/.opencode/memory/observations/2026-02-01-decision-remove-oracle-tool-and-add-ship-command-.md +14 -0
  42. package/dist/template/.opencode/memory/observations/2026-02-01-decision-remove-oracle-tool-and-add-ship-command.md +14 -0
  43. package/dist/template/.opencode/memory/observations/2026-02-01-decision-remove-skills-vs-commands-section-from-a.md +14 -0
  44. package/dist/template/.opencode/memory/observations/2026-02-01-decision-replace-oracle-tool-with-ship-command-fl.md +14 -0
  45. package/dist/template/.opencode/memory/observations/2026-02-01-decision-replace-oracle-with-ship-command-workflo.md +14 -0
  46. package/dist/template/.opencode/memory/observations/2026-02-01-decision-replace-proxypal-oracle-with-cli-review-.md +14 -0
  47. package/dist/template/.opencode/memory/observations/2026-02-01-decision-simplified-dist-template-only-tech-stack.md +50 -0
  48. package/dist/template/.opencode/memory/observations/2026-02-01-decision-simplified-templates-only-tech-stack-md.md +26 -0
  49. package/dist/template/.opencode/memory/observations/2026-02-01-decision-subagents-load-minimal-skills-stay-lean.md +29 -0
  50. package/dist/template/.opencode/memory/observations/2026-02-01-decision-user-approved-permission-upgrades-in-ope.md +15 -0
  51. package/dist/template/.opencode/memory/observations/2026-02-01-discovery-verify-command-already-implemented.md +28 -0
  52. package/dist/template/.opencode/memory/observations/2026-02-01-feature-openspec-phase-b-complete-template-upgra.md +43 -0
  53. package/dist/template/.opencode/memory/observations/2026-02-01-learning-build-agent-should-use-dynamic-lsp-not-f.md +14 -0
  54. package/dist/template/.opencode/memory/observations/2026-02-01-learning-kimi-k2-5-model-requires-temperature-1-0.md +22 -0
  55. package/dist/template/.opencode/memory/observations/2026-02-01-learning-opencode-context-injection-already-imple.md +27 -0
  56. package/dist/template/.opencode/memory/observations/2026-02-01-learning-opencode-context-injection-uses-instruct.md +35 -0
  57. package/dist/template/.opencode/memory/observations/2026-02-01-learning-update-build-agent-prompt-to-use-context.md +14 -0
  58. package/dist/template/.opencode/memory/observations/2026-02-01-learning-upgrade-agents-md-using-opencode-expert-.md +14 -0
  59. package/dist/template/.opencode/memory/observations/2026-02-01-learning-upgrade-agents-md-with-opencode-expert-g.md +14 -0
  60. package/dist/template/.opencode/memory/observations/2026-02-01-learning-upgrade-agents-md-with-opencode-expert-r.md +14 -0
  61. package/dist/template/.opencode/memory/observations/2026-02-01-learning-user-prefers-copilot-gpt-5-2-codex-mediu.md +14 -0
  62. package/dist/template/.opencode/memory/observations/2026-02-01-learning-user-wants-general-agent-prompt-contextu.md +15 -0
  63. package/dist/template/.opencode/memory/observations/2026-02-01-learning-user-wants-general-agent-prompt-reviewed.md +15 -0
  64. package/dist/template/.opencode/memory/project/command-rules.md +122 -0
  65. package/dist/template/.opencode/memory/project/tech-stack.md +50 -0
  66. package/dist/template/.opencode/memory/research/ccpm-analysis.md +334 -0
  67. package/dist/template/.opencode/memory/research/openspec-analysis.md +226 -0
  68. package/dist/template/.opencode/opencode.json +916 -803
  69. package/dist/template/.opencode/skill/tool-priority/SKILL.md +2 -2
  70. package/package.json +1 -1
  71. package/dist/template/.opencode/command/accessibility-check.md +0 -331
  72. package/dist/template/.opencode/command/agent-browser.md +0 -21
  73. package/dist/template/.opencode/command/analyze-mockup.md +0 -423
  74. package/dist/template/.opencode/command/analyze-project.md +0 -295
  75. package/dist/template/.opencode/command/brainstorm.md +0 -373
  76. package/dist/template/.opencode/command/cloudflare.md +0 -70
  77. package/dist/template/.opencode/command/commit.md +0 -245
  78. package/dist/template/.opencode/command/complete-next-task.md +0 -77
  79. package/dist/template/.opencode/command/design-audit.md +0 -480
  80. package/dist/template/.opencode/command/edit-image.md +0 -242
  81. package/dist/template/.opencode/command/finish.md +0 -255
  82. package/dist/template/.opencode/command/fix-ci.md +0 -109
  83. package/dist/template/.opencode/command/fix-types.md +0 -104
  84. package/dist/template/.opencode/command/fix-ui.md +0 -117
  85. package/dist/template/.opencode/command/fix.md +0 -168
  86. package/dist/template/.opencode/command/frontend-design.md +0 -21
  87. package/dist/template/.opencode/command/generate-diagram.md +0 -349
  88. package/dist/template/.opencode/command/generate-icon.md +0 -283
  89. package/dist/template/.opencode/command/generate-image.md +0 -246
  90. package/dist/template/.opencode/command/generate-pattern.md +0 -247
  91. package/dist/template/.opencode/command/generate-storyboard.md +0 -250
  92. package/dist/template/.opencode/command/implement.md +0 -609
  93. package/dist/template/.opencode/command/import-plan.md +0 -406
  94. package/dist/template/.opencode/command/index-knowledge.md +0 -25
  95. package/dist/template/.opencode/command/integration-test.md +0 -424
  96. package/dist/template/.opencode/command/issue.md +0 -102
  97. package/dist/template/.opencode/command/new-feature.md +0 -651
  98. package/dist/template/.opencode/command/opensrc.md +0 -58
  99. package/dist/template/.opencode/command/quick-build.md +0 -238
  100. package/dist/template/.opencode/command/ralph.md +0 -41
  101. package/dist/template/.opencode/command/research-and-implement.md +0 -148
  102. package/dist/template/.opencode/command/research-ui.md +0 -466
  103. package/dist/template/.opencode/command/restore-image.md +0 -424
  104. package/dist/template/.opencode/command/revert-feature.md +0 -386
  105. package/dist/template/.opencode/command/skill-create.md +0 -517
  106. package/dist/template/.opencode/command/skill-optimize.md +0 -556
  107. package/dist/template/.opencode/command/summarize.md +0 -412
  108. package/dist/template/.opencode/command/triage.md +0 -398
  109. package/dist/template/.opencode/memory/_templates/project/architecture.md +0 -60
  110. package/dist/template/.opencode/memory/_templates/project/commands.md +0 -72
  111. package/dist/template/.opencode/memory/_templates/project/conventions.md +0 -68
  112. package/dist/template/.opencode/memory/_templates/project/gotchas.md +0 -41
  113. package/dist/template/.opencode/skill/notebooklm/SKILL.md +0 -272
  114. package/dist/template/.opencode/skill/notebooklm/references/setup.md +0 -353
  115. package/dist/template/.opencode/tool/notebooklm.ts +0 -488
  116. package/dist/template/.opencode/tool/oracle.ts +0 -240
@@ -1,412 +0,0 @@
1
- ---
2
- description: Generate AI summary of sessions for quick context recovery
3
- argument-hint: "[session_reference] [--compare] [--focus=<topic>]"
4
- agent: explore
5
- subtask: true
6
- ---
7
-
8
- # Summarize
9
-
10
- Generate AI-powered summaries of previous sessions to quickly understand what happened without loading full context.
11
-
12
- ## Phase 1: Resolve Session Reference
13
-
14
- ### Parse Argument
15
-
16
- ```typescript
17
- const ref = "$ARGUMENTS" || "last";
18
-
19
- const parseReference = (ref: string) => {
20
- // Direct session ID
21
- if (ref.startsWith("ses_")) return { type: "id", value: ref };
22
-
23
- // Relative references
24
- if (ref === "last") return { type: "relative", offset: 0 };
25
- if (ref.match(/^\d+ ago$/)) return { type: "relative", offset: parseInt(ref) };
26
-
27
- // Time-based
28
- if (ref === "today") return { type: "time", period: "today" };
29
- if (ref === "yesterday") return { type: "time", period: "yesterday" };
30
- if (ref.match(/^\d{4}-\d{2}-\d{2}$/)) return { type: "date", value: ref };
31
-
32
- // Bead-based
33
- if (ref.startsWith("bd-")) return { type: "bead", id: ref };
34
-
35
- return { type: "unknown", value: ref };
36
- };
37
- ```
38
-
39
- ### List Available Sessions (if needed)
40
-
41
- ```typescript
42
- list_sessions({ project: "current", limit: 10, _: true });
43
- ```
44
-
45
- **If no argument provided, show picker:**
46
-
47
- ```
48
- RECENT SESSIONS
49
- ━━━━━━━━━━━━━━━
50
-
51
- # │ ID │ Time │ Messages │ Focus
52
- ───┼─────────────┼──────────────┼──────────┼─────────────────────
53
- 1 │ ses_abc123 │ Today 2:30pm │ 45 │ Auth implementation
54
- 2 │ ses_def456 │ Today 11am │ 28 │ Dashboard setup
55
- 3 │ ses_ghi789 │ Yesterday │ 62 │ Bug triage
56
- 4 │ ses_jkl012 │ 2 days ago │ 34 │ API refactor
57
- 5 │ ses_mno345 │ 3 days ago │ 19 │ Documentation
58
-
59
- Select session (1-5) or enter session ID: _
60
- ```
61
-
62
- ## Phase 2: Generate AI Summary
63
-
64
- ```typescript
65
- summarize_session({ session_id: resolvedSessionId });
66
- ```
67
-
68
- This triggers the compaction model to:
69
-
70
- 1. Analyze all messages in the session
71
- 2. Extract key actions, decisions, and outcomes
72
- 3. Identify files modified and their changes
73
- 4. Note blockers and unresolved items
74
- 5. Generate structured summary
75
-
76
- ## Phase 3: Display Summary
77
-
78
- ### Summary Format
79
-
80
- ```
81
- ╔══════════════════════════════════════════════════════════════════════════╗
82
- ║ SESSION SUMMARY ║
83
- ╠══════════════════════════════════════════════════════════════════════════╣
84
-
85
- SESSION INFO
86
- ━━━━━━━━━━━━
87
- ID: ses_abc123
88
- Date: 2024-01-15 2:30 PM - 4:15 PM (1h 45m)
89
- Messages: 45
90
- Tokens: ~78,000
91
- Project: my-project
92
-
93
-
94
- FOCUS
95
- ━━━━━
96
- Primary: Implementing JWT authentication for API endpoints
97
- Related Beads: bd-auth01, bd-api02
98
-
99
-
100
- WHAT WAS ACCOMPLISHED
101
- ━━━━━━━━━━━━━━━━━━━━━
102
- ✓ Created AuthMiddleware class with token validation
103
- ✓ Added JWT signing and verification utilities
104
- ✓ Implemented login and logout endpoints
105
- ✓ Set up refresh token rotation
106
- ✗ Rate limiting (deferred to next session)
107
-
108
-
109
- KEY DECISIONS
110
- ━━━━━━━━━━━━━
111
- 1. Used RS256 algorithm for JWT (asymmetric keys)
112
- Reason: Allows token verification without sharing secret
113
-
114
- 2. Refresh tokens stored in Redis with 7-day TTL
115
- Reason: Balance between security and user convenience
116
-
117
- 3. Access tokens expire in 15 minutes
118
- Reason: Minimize window for stolen token abuse
119
-
120
-
121
- FILES MODIFIED
122
- ━━━━━━━━━━━━━━
123
- src/
124
- ├── auth/
125
- │ ├── middleware.ts (+124/-0) NEW - Auth middleware
126
- │ ├── jwt.ts (+89/-0) NEW - JWT utilities
127
- │ └── types.ts (+34/-0) NEW - Auth types
128
- ├── routes/
129
- │ └── auth.ts (+67/-12) Added login/logout
130
- └── config/
131
- └── auth.ts (+23/-5) JWT configuration
132
-
133
- Total: +337/-17 across 5 files
134
-
135
-
136
- TESTS
137
- ━━━━━
138
- Added: 8 tests in auth.test.ts
139
- Status: 7 passing, 1 skipped
140
- Coverage: 84% for auth module
141
-
142
-
143
- BLOCKERS ENCOUNTERED
144
- ━━━━━━━━━━━━━━━━━━━━
145
- 1. Redis connection timeout during testing
146
- Resolution: Added retry logic with exponential backoff
147
-
148
- 2. TypeScript error with jwt library types
149
- Resolution: Added @types/jsonwebtoken
150
-
151
-
152
- UNRESOLVED ITEMS
153
- ━━━━━━━━━━━━━━━━
154
- - Rate limiting not implemented (moved to bd-rate01)
155
- - Need to add CORS configuration for refresh endpoint
156
- - API documentation needs update
157
-
158
-
159
- WHERE WORK STOPPED
160
- ━━━━━━━━━━━━━━━━━━
161
- File: src/auth/middleware.ts
162
- Line: 45
163
- Context: "Adding rate limiting check before token validation"
164
-
165
- Handoff created: Yes
166
- Branch: feature/auth
167
- Last commit: abc1234 "feat: add JWT auth with refresh tokens"
168
-
169
-
170
- CONTEXT FOR NEXT SESSION
171
- ━━━━━━━━━━━━━━━━━━━━━━━━
172
- To continue this work:
173
- 1. Load handoff: /resume bd-auth01
174
- 2. Focus on: Rate limiting implementation
175
- 3. Read first: src/auth/middleware.ts:45
176
-
177
- ╚══════════════════════════════════════════════════════════════════════════╝
178
- ```
179
-
180
- ## Phase 4: Focus Mode (--focus)
181
-
182
- If `--focus=<topic>` specified, filter summary:
183
-
184
- ```bash
185
- /summarize last --focus=decisions # Only decisions made
186
- /summarize last --focus=files # Only file changes
187
- /summarize last --focus=blockers # Only blockers
188
- /summarize last --focus=code # Code snippets written
189
- ```
190
-
191
- **Example: Focus on Decisions**
192
-
193
- ```
194
- DECISIONS FROM ses_abc123
195
- ━━━━━━━━━━━━━━━━━━━━━━━━━
196
-
197
- 1. JWT Algorithm: RS256
198
- Context: Discussed HS256 vs RS256
199
- Conclusion: RS256 for microservices (can verify without secret)
200
- Files affected: src/auth/jwt.ts
201
-
202
- 2. Token Expiry: 15 min access, 7 day refresh
203
- Context: Security vs UX tradeoff
204
- Conclusion: Short access + long refresh with rotation
205
- Files affected: src/config/auth.ts
206
-
207
- 3. Storage: Redis for refresh tokens
208
- Context: Considered PostgreSQL, decided Redis for TTL support
209
- Conclusion: Redis with automatic expiration
210
- Files affected: src/auth/token-store.ts
211
- ```
212
-
213
- ## Phase 5: Compare Mode (--compare)
214
-
215
- Compare two sessions:
216
-
217
- ```bash
218
- /summarize ses_abc123 --compare ses_def456
219
- ```
220
-
221
- **Comparison Output:**
222
-
223
- ```
224
- SESSION COMPARISON
225
- ━━━━━━━━━━━━━━━━━━
226
-
227
- │ ses_abc123 │ ses_def456
228
- ────────────────────┼─────────────────┼─────────────────
229
- Date │ Jan 15, 2:30pm │ Jan 14, 11:00am
230
- Duration │ 1h 45m │ 2h 10m
231
- Messages │ 45 │ 62
232
- Files Modified │ 5 │ 8
233
- Tests Added │ 8 │ 3
234
- Decisions │ 3 │ 1
235
-
236
-
237
- COMMON THREADS
238
- ━━━━━━━━━━━━━━
239
- - Both sessions worked on auth module
240
- - ses_def456 laid groundwork that ses_abc123 built upon
241
- - Same bead: bd-auth01
242
-
243
-
244
- PROGRESSION
245
- ━━━━━━━━━━━
246
- ses_def456 (earlier):
247
- └── Set up auth module structure
248
- └── Created base types and interfaces
249
-
250
- ses_abc123 (later):
251
- └── Implemented JWT logic on top of structure
252
- └── Added endpoints and middleware
253
- ```
254
-
255
- ## Phase 6: Bead-Focused Summary
256
-
257
- If argument is a bead ID, find all related sessions:
258
-
259
- ```bash
260
- /summarize bd-auth01
261
- ```
262
-
263
- **Output:**
264
-
265
- ```
266
- BEAD HISTORY: bd-auth01
267
- ━━━━━━━━━━━━━━━━━━━━━━━
268
-
269
- Title: Implement JWT Authentication
270
- Status: In Progress
271
- Created: 2024-01-12
272
-
273
-
274
- RELATED SESSIONS
275
- ━━━━━━━━━━━━━━━━
276
-
277
- Session 1: ses_xyz789 (Jan 12)
278
- ├── Duration: 30 min
279
- ├── Focus: Initial planning and spec creation
280
- └── Output: spec.md created
281
-
282
- Session 2: ses_def456 (Jan 14)
283
- ├── Duration: 2h 10m
284
- ├── Focus: Research and architecture
285
- └── Output: research.md, plan.md created
286
-
287
- Session 3: ses_abc123 (Jan 15)
288
- ├── Duration: 1h 45m
289
- ├── Focus: Core implementation
290
- └── Output: 5 files, 8 tests
291
-
292
- Session 4: ses_ghi012 (Jan 16) ← LATEST
293
- ├── Duration: 45 min
294
- ├── Focus: Rate limiting (incomplete)
295
- └── Output: Handoff created
296
-
297
-
298
- TOTAL EFFORT
299
- ━━━━━━━━━━━━
300
- Sessions: 4
301
- Total Time: 5h 10m
302
- Messages: 156
303
- Files Modified: 12
304
- Tests: 11
305
-
306
- Progress: 80% complete (per plan.md)
307
-
308
-
309
- NEXT SESSION SHOULD
310
- ━━━━━━━━━━━━━━━━━━━
311
- 1. Resume from handoff
312
- 2. Complete rate limiting
313
- 3. Run full test suite
314
- 4. Create PR
315
- ```
316
-
317
- ## Examples
318
-
319
- ```bash
320
- /summarize # Summarize last session
321
- /summarize last # Same as above
322
- /summarize 2 ago # 2nd most recent session
323
- /summarize ses_abc123 # Specific session
324
- /summarize today # First session today
325
- /summarize yesterday # Most recent yesterday
326
- /summarize 2024-01-15 # Sessions from date
327
- /summarize bd-auth01 # All sessions for bead
328
- /summarize last --focus=decisions # Only decisions
329
- /summarize last --focus=files # Only file changes
330
- /summarize a --compare b # Compare two sessions
331
- ```
332
-
333
- ## When to Use
334
-
335
- | Scenario | Command |
336
- | -------------------------- | ---------------------------------- |
337
- | Resuming after break | `/summarize last` then `/resume` |
338
- | Understanding old work | `/summarize <session_id>` |
339
- | Handoff to teammate | `/summarize --focus=decisions` |
340
- | Finding where you left off | `/summarize <bead-id>` |
341
- | Comparing approaches | `/summarize a --compare b` |
342
- | Context triage | `/summarize` before `read_session` |
343
-
344
- ## Integration with Other Commands
345
-
346
- ```
347
- Workflow: Efficient Context Loading
348
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
349
-
350
- 1. List sessions
351
- list_sessions(project="current", limit=5)
352
-
353
- 2. Summarize promising ones (cheap)
354
- /summarize ses_abc123
355
- /summarize ses_def456
356
-
357
- 3. Load full context only for the right one (expensive)
358
- read_session("ses_abc123")
359
-
360
- 4. Resume work
361
- /resume bd-auth01
362
-
363
- Result: Saved ~50k tokens by not loading wrong sessions
364
- ```
365
-
366
- ## Output Caching
367
-
368
- Summaries are cached with the session:
369
-
370
- ```typescript
371
- // First call generates summary
372
- summarize_session("ses_abc123"); // ~5 seconds, API call
373
-
374
- // Subsequent calls use cached summary
375
- summarize_session("ses_abc123"); // Instant, cached
376
- ```
377
-
378
- To regenerate:
379
-
380
- ```bash
381
- /summarize ses_abc123 --regenerate
382
- ```
383
-
384
- ## Error Handling
385
-
386
- ```
387
- [If session not found:]
388
- ERROR: Session 'ses_xyz' not found
389
-
390
- Recent sessions:
391
- - ses_abc123 (today)
392
- - ses_def456 (yesterday)
393
-
394
- Check: list_sessions(limit=20)
395
-
396
-
397
- [If summary generation fails:]
398
- WARNING: AI summary unavailable
399
-
400
- Falling back to basic metadata:
401
- - Messages: 45
402
- - Duration: 1h 45m
403
- - Files: 5 modified
404
-
405
- Try: read_session("ses_abc123") for full context
406
-
407
-
408
- [If no sessions exist:]
409
- No sessions found for this project.
410
-
411
- This may be a new project or sessions were cleared.
412
- ```