uv-suite 0.12.0 → 0.14.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.
@@ -36,10 +36,10 @@ if [ -n "$STAGED" ] || [ -n "$UNSTAGED" ] || [ -n "$UNTRACKED" ]; then
36
36
  REVIEW_MSG="Uncommitted changes — consider /review and /slop-check before committing. "
37
37
  fi
38
38
 
39
- # Reflection prompt
40
- REFLECTION_MSG="Before closing: What shipped? What did you learn? What would you teach the agent for next time (add to CLAUDE.md or DANGER-ZONES.md)?"
39
+ # Checkpoint prompt
40
+ CHECKPOINT_MSG="Run /checkpoint to save session state for next time. Run /restore at the start of your next session."
41
41
 
42
- FULL_MSG="${DURATION_MSG}${REVIEW_MSG}${REFLECTION_MSG}"
42
+ FULL_MSG="${DURATION_MSG}${REVIEW_MSG}${CHECKPOINT_MSG}"
43
43
 
44
44
  cat <<EOF
45
45
  {
package/install.sh CHANGED
@@ -208,7 +208,7 @@ This project uses [UV Suite](https://github.com/utsavanand/uv-suite) v${UV_VERSI
208
208
 
209
209
  ### Skills
210
210
 
211
- /map-codebase, /map-stack, /spec, /architect, /review, /write-tests, /write-evals, /slop-check, /prototype, /security-review
211
+ /map-codebase, /map-stack, /spec, /architect, /review, /write-tests, /write-evals, /slop-check, /prototype, /security-review, /checkpoint, /restore
212
212
 
213
213
  ### Artifacts
214
214
 
@@ -224,19 +224,25 @@ ${HOOKS_TEXT}
224
224
 
225
225
  ### Working practices
226
226
 
227
- **Honesty:** If you can't find a doc, file, or function, say "I did not find X. What should I do?" Don't fabricate. If 2-3 attempts fail, escalate with what you tried.
227
+ **Honesty:** If you can't find something, say "I did not find X. What should I do?" Don't fabricate. If 2-3 attempts fail, escalate with what you tried.
228
228
 
229
- **Parallelism:** Move fast. Spin up parallel agents for independent tasks. Run independent tool calls in the same message. Parallelize wherever possible this is the primary speed lever.
229
+ **Simplicity:** Minimum code that solves the problem. If 200 lines could be 50, rewrite. No abstractions for single-use code. No features beyond what was asked.
230
230
 
231
- **Scope:** Stay focused. If you notice something worth fixing outside scope, mention it at the end, don't silently change it.
231
+ **Surgical changes:** Touch only what's relevant. Don't improve adjacent code, comments, or formatting. Every changed line should trace to the request. Match existing style.
232
232
 
233
- **Completion:** "Done" means verified. Run the tests. Prefer "I ran it and it works" over "should work."
233
+ **Goal-driven:** Define success criteria before coding. Write the test first, then make it pass. For multi-step tasks, state a brief plan with verification for each step.
234
+
235
+ **Parallelism:** Spin up parallel agents for independent tasks. Run independent tool calls in the same message. This is the primary speed lever.
236
+
237
+ **Completion:** "Done" means verified. Run the tests. Run the build. Prefer "I ran it and it works" over "should work."
234
238
 
235
239
  **Failures:** When you fail, say so. Escalate: what you tried, why each failed, what you need.
236
240
 
237
241
  **User context:** If something looks wrong, ask why before fixing. Users have constraints you may not see.
238
242
 
239
- **Session:** Long conversation? Suggest /compact or a new session. Past 90 min, suggest a break.
243
+ **Planning:** Use plan mode for complex tasks. Break work small enough to complete in under 50% context.
244
+
245
+ **Session:** /compact at ~50% context. Past 90 min, take a break. Run /checkpoint before ending a session. Run /restore at the start of the next one.
240
246
 
241
247
  ### Launching sessions
242
248
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uv-suite",
3
- "version": "0.12.0",
3
+ "version": "0.14.0",
4
4
  "description": "Portable framework for AI-assisted software development. 10 agents, 9 skills, 5 hooks, 4 personas. Works with Claude Code, Cursor, and Codex.",
5
5
  "author": "Utsav Anand",
6
6
  "license": "MIT",
@@ -36,3 +36,7 @@ $ARGUMENTS
36
36
  !`ls uv-out/specs/*.md 2>/dev/null | head -5 || echo "No specs found"`
37
37
 
38
38
  !`cat $(ls -t uv-out/specs/*.md 2>/dev/null | head -1) 2>/dev/null | head -80 || echo ""`
39
+
40
+ ### Session checkpoint
41
+
42
+ !`cat uv-out/checkpoints/latest.md 2>/dev/null | head -40 || echo "No checkpoint"`
@@ -0,0 +1,80 @@
1
+ ---
2
+ name: checkpoint
3
+ description: >
4
+ Save a checkpoint of the current session — what was done, key decisions, current state,
5
+ and what's next. Use before ending a session, before /compact, or at any natural breakpoint.
6
+ The next session auto-loads the latest checkpoint.
7
+ argument-hint: "[optional-label]"
8
+ user-invocable: true
9
+ allowed-tools:
10
+ - Write(*)
11
+ - Read(*)
12
+ - Bash(git status *)
13
+ - Bash(git diff *)
14
+ - Bash(git log *)
15
+ - Bash(date *)
16
+ - Bash(ls *)
17
+ ---
18
+
19
+ ## Write a checkpoint to uv-out/checkpoints/
20
+
21
+ Create the directory `uv-out/checkpoints/` if it doesn't exist.
22
+
23
+ Write a file named `uv-out/checkpoints/YYYY-MM-DD-HHMM.md` (using the current timestamp).
24
+
25
+ Also write/overwrite `uv-out/checkpoints/latest.md` with the same content (so the next session can always find the most recent checkpoint).
26
+
27
+ ## Label
28
+
29
+ $ARGUMENTS
30
+
31
+ If a label was provided, include it in the filename: `uv-out/checkpoints/YYYY-MM-DD-HHMM-[label].md`
32
+
33
+ ## What to capture
34
+
35
+ Review the full conversation so far and write a structured checkpoint with these exact sections:
36
+
37
+ ```markdown
38
+ # Checkpoint: [date] [time] [label if provided]
39
+
40
+ ## What was accomplished
41
+ - [Bullet list of concrete things done this session]
42
+ - [Be specific: "Added webhook retry logic to PaymentService" not "worked on payments"]
43
+
44
+ ## Key decisions made
45
+ - [Decision]: [Why] — [What was considered and rejected]
46
+ - [Only include decisions that affect future work]
47
+
48
+ ## Current state
49
+ - Branch: [current git branch]
50
+ - Uncommitted changes: [yes/no, summary if yes]
51
+ - Tests: [passing/failing/not run]
52
+ - Blockers: [any unresolved issues]
53
+
54
+ ## Files modified
55
+ - [List key files changed, not every file]
56
+
57
+ ## What's next
58
+ - [Immediate next step — what the next session should start with]
59
+ - [Remaining tasks from the current Act/plan]
60
+
61
+ ## Context the next session needs
62
+ - [Anything non-obvious that would be lost without this checkpoint]
63
+ - [Workarounds in place, temporary decisions, "this looks wrong but it's intentional because..."]
64
+ - [Environment setup notes if relevant]
65
+ ```
66
+
67
+ ## Git state to capture
68
+
69
+ !`git branch --show-current 2>/dev/null || echo "not a git repo"`
70
+
71
+ !`git status --short 2>/dev/null | head -20 || echo "no git"`
72
+
73
+ !`git log --oneline -5 2>/dev/null || echo "no git history"`
74
+
75
+ ## Rules
76
+
77
+ - Be specific. "Worked on auth" is useless. "Added JWT refresh token rotation with 7-day expiry" is useful.
78
+ - Capture WHY decisions were made, not just what. The next session needs the rationale.
79
+ - Keep it under 80 lines. This isn't a novel — it's a handoff.
80
+ - Every checkpoint overwrites `latest.md` so the next session always finds the freshest state.
@@ -0,0 +1,22 @@
1
+ ---
2
+ name: restore
3
+ description: >
4
+ Restore the latest checkpoint from a previous session. Shows what was done,
5
+ key decisions, current state, and what's next. Use at the start of a new session.
6
+ user-invocable: true
7
+ allowed-tools:
8
+ - Read(*)
9
+ - Bash(ls *)
10
+ ---
11
+
12
+ ## Latest checkpoint
13
+
14
+ !`cat uv-out/checkpoints/latest.md 2>/dev/null || echo "No checkpoint found. Run /checkpoint to create one."`
15
+
16
+ ## All checkpoints
17
+
18
+ !`ls -la uv-out/checkpoints/*.md 2>/dev/null | tail -10 || echo "No checkpoints directory"`
19
+
20
+ ## Instructions
21
+
22
+ Read the checkpoint above. Summarize it to the user in 3-4 sentences: what was done, what's the current state, and what's next. Then ask: "Ready to pick up from here, or do you want to take a different direction?"
@@ -51,3 +51,7 @@ $ARGUMENTS
51
51
  ### Acts plan
52
52
 
53
53
  !`cat uv-out/architecture/acts-plan.md 2>/dev/null | head -60 || echo "No acts plan found"`
54
+
55
+ ### Session checkpoint (what's in progress)
56
+
57
+ !`cat uv-out/checkpoints/latest.md 2>/dev/null | head -40 || echo "No checkpoint"`
@@ -48,3 +48,7 @@ $ARGUMENTS
48
48
  ### Acts plan (current task context)
49
49
 
50
50
  !`cat uv-out/architecture/acts-plan.md 2>/dev/null | head -40 || echo "No acts plan found"`
51
+
52
+ ### Session checkpoint
53
+
54
+ !`cat uv-out/checkpoints/latest.md 2>/dev/null | head -40 || echo "No checkpoint"`