uv-suite 0.13.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
 
@@ -242,7 +242,7 @@ ${HOOKS_TEXT}
242
242
 
243
243
  **Planning:** Use plan mode for complex tasks. Break work small enough to complete in under 50% context.
244
244
 
245
- **Session:** /compact at ~50% context. Past 90 min, take a break.
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.
246
246
 
247
247
  ### Launching sessions
248
248
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uv-suite",
3
- "version": "0.13.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"`