uv-suite 0.7.0 → 0.9.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.
package/README.md CHANGED
@@ -4,29 +4,82 @@ Portable framework for AI-assisted software development. Works with Claude Code,
4
4
 
5
5
  ## Install
6
6
 
7
+ ```bash
8
+ npm install -g uv-suite
9
+ uv install
10
+ ```
11
+
12
+ Or with npx:
13
+
7
14
  ```bash
8
15
  npx uv-suite install
9
16
  ```
10
17
 
11
- Or clone and run directly:
18
+ This installs 10 agents, 10 skills, 8 hooks, 6 guardrails, and 4 personas into your project.
19
+
20
+ ## Quick Start
12
21
 
13
22
  ```bash
14
- git clone https://github.com/utsavanand/uv-suite.git
15
- cd uv-suite
16
- ./install.sh
23
+ uv install # Install UV Suite into current project
24
+ uv claude pro # Start Claude Code, Professional persona
25
+ uv codex auto # Start Codex, Auto persona
26
+ uv pro # Shorthand for uv claude pro
27
+ ```
28
+
29
+ ## Modes
30
+
31
+ Four personas for different contexts. Pick one when you start a session.
32
+
33
+ ```
34
+ Spike Sport Professional Auto
35
+ ───── ───── ──────────── ────
36
+ Purpose Research Build new Ship to prod Let it run
37
+ & document things
38
+
39
+ Model Opus Sonnet Inherit Inherit
40
+ Effort max high high max
41
+
42
+ Writes New files Anything Anything Anything
43
+ only (reviewed) (autonomous)
44
+ Edits Blocked Allowed Allowed Allowed
45
+
46
+ Hooks 1 1 8 3
47
+ doc-slop lint all lint, block,
48
+ timer
49
+
50
+ Guardrails Doc slop None All 6 All 6
51
+
52
+ Human gates After each End only Every Act Final output
53
+ map boundary only
17
54
  ```
18
55
 
19
- This installs 10 agents, 9 skills, 5 hooks, 6 guardrails, and 4 personas into your project's `.claude/` directory.
56
+ ### When to use what
57
+
58
+ | Situation | Mode | Why |
59
+ |-----------|------|-----|
60
+ | Joining a new codebase | **Spike** | Understand before changing. Writes docs, not code. |
61
+ | Architecture review | **Spike** | Map the system, write ADRs, document findings. |
62
+ | Prototyping a demo | **Sport** | Move fast, iterate freely, quality comes later. |
63
+ | Hackathon or new project | **Sport** | Get the foundation down without review gates. |
64
+ | Fixing a bug in production code | **Professional** | Every change matters. Full review rigor. |
65
+ | Adding a feature to an existing service | **Professional** | Team depends on this code. Slop-checked. |
66
+ | Well-scoped task with a clear spec | **Auto** | Let the agent build, test, review end-to-end. |
67
+ | Batch of small tasks | **Auto** | Agent handles repetitive work autonomously. |
68
+
69
+ **Common progressions:**
70
+ - Spike → Sport → Professional (understand, explore, harden)
71
+ - Spike → Auto (research thoroughly, then let the agent execute)
72
+ - Sport → Professional (prototype fast, switch to rigor when it matters)
20
73
 
21
74
  ## What You Get
22
75
 
23
76
  | Category | Count | What |
24
77
  |----------|-------|------|
25
78
  | Agents | 10 | Subagent definitions for Claude Code, Cursor, and Codex |
26
- | Skills | 9 | Slash commands with dynamic context injection |
27
- | Hooks | 5 | Auto-lint, slop check, danger zones, destructive blocks, review reminder |
79
+ | Skills | 10 | Slash commands with dynamic context injection |
80
+ | Hooks | 8 | Auto-lint, slop check, danger zones, session tracking, destructive blocks |
28
81
  | Guardrails | 6 | Anti-slop rules (comments, overengineering, tests, docs, architecture, errors) |
29
- | Personas | 4 | Spike, Sport, Professional, Auto — different rigor for different contexts |
82
+ | Personas | 4 | Spike, Sport, Professional, Auto |
30
83
 
31
84
  ## Three Subsystems
32
85
 
@@ -43,11 +96,12 @@ Remember Present Protect
43
96
 
44
97
  **UV Guard** catches AI slop in real time, reviews code for security (OWASP, [Semgrep](https://github.com/semgrep/semgrep)), and enforces danger zones.
45
98
 
46
- ## Skills (Slash Commands)
99
+ ## Skills
47
100
 
48
101
  | Command | What it does |
49
102
  |---------|-------------|
50
103
  | `/map-codebase [dir]` | Build a knowledge graph of the codebase |
104
+ | `/map-stack [dir]` | Map multiple services and their connections |
51
105
  | `/spec [requirements]` | Write a technical specification |
52
106
  | `/architect [spec]` | Design architecture, decompose into Acts |
53
107
  | `/review` | Code review: correctness, security, performance, slop |
@@ -57,87 +111,51 @@ Remember Present Protect
57
111
  | `/prototype [concept]` | Build a static React prototype |
58
112
  | `/security-review` | OWASP audit, dependency scan, secret detection |
59
113
 
60
- ## Personas
61
-
62
- Different contexts need different rigor. Pick a persona when you start a session.
63
-
64
- ```bash
65
- ./uv.sh spike # Research & docs (Opus, max effort, doc-slop checked)
66
- ./uv.sh sport # New projects (Sonnet, high effort, lint only)
67
- ./uv.sh pro # Production code (all hooks, all guardrails)
68
- ./uv.sh auto # Fully autonomous (max effort, everything approved)
69
- ```
70
-
71
- Or launch Claude directly:
72
-
73
- ```bash
74
- claude --settings .claude/personas/professional.json
75
- ```
76
-
77
- | Persona | For | Effort | Hooks | Guardrails |
78
- |---------|-----|--------|-------|------------|
79
- | **Spike** | Research, documentation | max | 1 (doc slop) | Doc slop |
80
- | **Sport** | New projects, prototyping | high | 1 (lint) | None |
81
- | **Professional** | Production code (default) | high | All 5 | All 6 |
82
- | **Auto** | Fully autonomous execution | max | 2 (lint + block) | All 6 |
114
+ ## Hooks
83
115
 
84
- ## Hooks (Automatic)
85
-
86
- These fire without invocation. You never type these.
116
+ Fire automatically. You never invoke these.
87
117
 
88
118
  | Hook | Fires on | What it does |
89
119
  |------|----------|-------------|
90
- | auto-lint | Every file write | Runs prettier, ruff, or gofmt |
91
- | Slop check | Every file write | Haiku scans for obvious slop patterns |
92
- | Danger zone | Every file edit | Warns if file is in DANGER-ZONES.md |
93
- | Destructive block | Every bash command | Blocks rm -rf, force push, DROP TABLE |
94
- | Review reminder | Session ending | Reminds to /review if uncommitted changes |
120
+ | auto-lint | File write | Runs prettier, ruff, or gofmt |
121
+ | Slop check | File write | Haiku scans for obvious slop patterns |
122
+ | Danger zone | File edit | Warns if file is in DANGER-ZONES.md |
123
+ | Destructive block | Bash command | Blocks rm -rf, force push, DROP TABLE |
124
+ | Session start | Session start | Records start time for duration tracking |
125
+ | Session timer | Every 20th tool call | Checkpoint reminders at 45/90/180 min |
126
+ | Session end | Session stop | Shows duration, today's total, reflection prompt |
127
+ | Status line | Continuous | Shows session time in Claude Code's status bar |
95
128
 
96
129
  ## Agents
97
130
 
98
- 10 agents, each available in 4 formats:
99
-
100
- | Agent | Subsystem | Model | Read-only | Cycle Budget |
101
- |-------|-----------|-------|-----------|-------------|
102
- | Cartographer | UV Index | Opus | Yes | 1 |
103
- | Spec Writer | UV Acts | Opus | No | 1 |
104
- | Architect | UV Acts | Opus | No | 1 |
105
- | Reviewer | UV Guard | Opus | Yes | 1 |
106
- | Test Writer | UV Acts | Sonnet | No | 3 |
107
- | Eval Writer | UV Acts | Opus | No | 2 |
108
- | Anti-Slop Guard | UV Guard | Opus | Yes | 1 |
109
- | Prototype Builder | UV Acts | Sonnet | No | 3 |
110
- | DevOps | UV Acts | Sonnet | No | 2 |
111
- | Security | UV Guard | Opus | Yes | 1 |
131
+ 10 agents, each in 4 formats (Claude Code, Cursor, Codex, Portable):
112
132
 
113
- Each agent has definitions for:
114
- - **Claude Code** — `.claude/agents/*.md`
115
- - **Cursor** `.cursor/rules/*.mdc`
116
- - **Codex** `.codex/agents/*.toml`
117
- - **Portable** tool-agnostic Markdown
133
+ | Agent | Subsystem | Model | Cycle Budget |
134
+ |-------|-----------|-------|-------------|
135
+ | Cartographer | UV Index | Opus | 1 |
136
+ | Spec Writer | UV Acts | Opus | 1 |
137
+ | Architect | UV Acts | Opus | 2 |
138
+ | Reviewer | UV Guard | Opus | 1 |
139
+ | Test Writer | UV Acts | Sonnet | 3 |
140
+ | Eval Writer | UV Acts | Opus | 2 |
141
+ | Anti-Slop Guard | UV Guard | Opus | 1 |
142
+ | Prototype Builder | UV Acts | Sonnet | 3 |
143
+ | DevOps | UV Acts | Opus | 2 |
144
+ | Security | UV Guard | Opus | 1 |
118
145
 
119
- ## Human-in-the-Loop
146
+ ## Artifacts
120
147
 
121
- Agents get cycle budgets maximum attempts before mandatory escalation to the human. Four intervention types:
148
+ Agents write persistent output to `uv-out/`. Each agent reads prior artifacts automatically.
122
149
 
123
- - **Teach** domain knowledge the agent lacks
124
- - **Debug** — when the agent is stuck after retries
125
- - **Taste** subjective and aesthetic decisions
126
- - **Clarify** ambiguous or conflicting requirements
127
-
128
- Every intervention gets persisted so the agent doesn't need re-teaching.
129
-
130
- ## Collaboration
131
-
132
- - **DANGER-ZONES.md** — mark risky areas, agents check before modifying
133
- - **Inline annotations** — `@danger`, `@agent-skip`, `@agent-ask` in code
134
- - **Sharing levels** — personal, project, team, community
135
- - **Team-evolved standards** — best practices that improve through use
150
+ | Agent output | Read by |
151
+ |-------------|---------|
152
+ | `uv-out/map-codebase.md` | /architect, /review, /security-review |
153
+ | `uv-out/specs/*.md` | /architect, /write-tests, /write-evals |
154
+ | `uv-out/architecture/*.md` | /review, /write-tests, /slop-check |
155
+ | `uv-out/review-*.md` | /slop-check, /security-review |
136
156
 
137
157
  ## Integrations
138
158
 
139
- UV Suite works with the open source ecosystem:
140
-
141
159
  | Tool | Used by | Purpose |
142
160
  |------|---------|---------|
143
161
  | [Graphify](https://github.com/safishamsi/graphify) | Cartographer | Knowledge graph from codebase via Tree-sitter |
@@ -145,7 +163,7 @@ UV Suite works with the open source ecosystem:
145
163
  | [Gitleaks](https://github.com/gitleaks/gitleaks) | Security Agent | Secret detection in git repos |
146
164
  | [Trivy](https://github.com/aquasecurity/trivy) | Security Agent | Dependency vulnerability scanning |
147
165
  | [DeepEval](https://github.com/confident-ai/deepeval) | Eval Writer | Pytest-compatible LLM evaluation |
148
- | [Ruff](https://github.com/astral-sh/ruff) | auto-lint hook | Python linting and formatting |
166
+ | [Playwright](https://playwright.dev/docs/getting-started-mcp) | Prototype Builder, Test Writer | Browser automation and e2e testing |
149
167
 
150
168
  ## Project Structure After Install
151
169
 
@@ -153,27 +171,28 @@ UV Suite works with the open source ecosystem:
153
171
  .claude/
154
172
  settings.json Permissions, hooks (from persona)
155
173
  agents/ 10 agent definitions
156
- skills/ 9 slash commands
157
- hooks/ 4 hook scripts
174
+ skills/ 10 slash commands
175
+ hooks/ 7 hook scripts
158
176
  rules/ 6 anti-slop guardrails
159
177
  personas/ 4 persona configs
178
+ .codex/agents/ 10 Codex agent definitions
179
+ .cursor/rules/ 10 Cursor rule definitions
180
+ AGENTS.md Codex instruction file
160
181
  DANGER-ZONES.md Risky areas (commit this)
161
- uv.sh Session launcher
182
+ uv-out/ Agent output artifacts (gitignored)
162
183
  ```
163
184
 
164
185
  ## Documentation
165
186
 
166
187
  | Document | What it covers |
167
188
  |----------|---------------|
168
- | [usage-guide.md](usage-guide.md) | Full SDLC mapped to exact commands and invocations |
189
+ | [usage-guide.md](usage-guide.md) | Full SDLC mapped to exact commands |
169
190
  | [personas.md](personas.md) | 4 personas, 7 knobs, when to use each |
191
+ | [practices.md](practices.md) | Working principles (honesty, parallelism, scope, completion) |
170
192
  | [acts-methodology.md](acts-methodology.md) | Acts delivery framework with worked examples |
171
193
  | [methodology/human-in-the-loop.md](methodology/human-in-the-loop.md) | Cycle budgets, intervention types, learning loops |
172
194
  | [collaboration/sharing-and-standards.md](collaboration/sharing-and-standards.md) | Danger zones, team standards, sharing levels |
173
195
  | [landscape.md](landscape.md) | Open source tools and references for each agent |
174
- | [agents.md](agents.md) | Full specifications for all 10 agents |
175
- | [anti-slop.md](anti-slop.md) | 6 categories of AI slop with detection rules |
176
- | [tool-comparison.md](tool-comparison.md) | Claude Code vs Cursor vs Codex comparison |
177
196
 
178
197
  ## License
179
198
 
@@ -79,9 +79,9 @@ Comments that restate the code. If deleting the comment loses no information, it
79
79
 
80
80
  ## Rules
81
81
 
82
- - Be specific. Point to exact lines and explain why it's slop.
82
+ - Be specific: exact lines, why it's slop, how to fix.
83
83
  - High = actively harmful. Medium = wasteful. Low = stylistic.
84
- - If the code is clean, say "No slop detected." Don't hunt for problems that aren't there.
84
+ - If the code is clean, say "No slop detected."
85
85
 
86
86
  ## Cycle Budget
87
87
 
@@ -65,9 +65,9 @@ Mermaid diagram showing parallelism opportunities.
65
65
  - Every design decision needs a "why" — not just what you chose, but why.
66
66
  - Acts must deliver complete vertical slices, not horizontal layers.
67
67
  - Tasks within an Act should be parallelizable where possible.
68
- - Keep the architecture as simple as the requirements allow.
69
- - When in doubt, choose the boring technology.
68
+ - Prefer established technologies unless a requirement justifies otherwise.
70
69
  - 3-7 tasks per Act. If more, break into separate Acts.
70
+ - Maximize parallelism — identify independent tasks that agents can run simultaneously.
71
71
  - Annotate each task with a cycle budget.
72
72
  - Identify where human taste/judgment is needed before the agent proceeds.
73
73
 
@@ -43,7 +43,7 @@ You are the **DevOps Agent** — your job is to set up reliable CI/CD pipelines,
43
43
  - **Deploy:** exact commands to ship
44
44
  - **Rollback:** exact commands to revert
45
45
  - **Debug:** where to look when things break (logs, metrics, dashboards)
46
- - Don't over-engineer. A simple GitHub Actions workflow is fine.
46
+ - Run independent pipeline steps in parallel where possible (lint + test simultaneously)
47
47
 
48
48
  ## Cycle Budget
49
49
 
@@ -80,12 +80,11 @@ Line 30 fetches all orders, then line 33 loops and queries User for each one. Fi
80
80
 
81
81
  ## Rules
82
82
 
83
- - Be specific. "This might have a bug" is useless. Point to the exact line, show the code, explain the issue, show the fix.
84
- - Don't nitpick style unless it hurts readability.
85
- - Focus on what matters: correctness > security > performance > style.
86
- - Severity = exploitability x impact. A timing attack is lower priority than a data leak.
87
- - If the code is good, say so. Don't manufacture issues.
88
- - Check the tests: do they test behavior or just exercise code paths?
83
+ - Be specific: line number, code snippet, fix.
84
+ - Focus: correctness > security > performance > style.
85
+ - Severity = exploitability x impact.
86
+ - If the code is clean, say so.
87
+ - Run review checks in parallel where possible (correctness, security, performance simultaneously).
89
88
 
90
89
  ## Cycle Budget
91
90
 
@@ -10,7 +10,7 @@ Tests that pass but don't actually verify behavior. They inflate coverage metric
10
10
  ## Detection Rules
11
11
 
12
12
  - `expect(x).toBeTruthy()` or `expect(x).toBeDefined()` — almost always slop
13
- - Tests where the mock is the only thing being tested (you're testing your setup, not your code)
13
+ - Tests where the mock is the only thing being tested
14
14
  - Snapshot tests on simple/trivial components
15
15
  - Tests with no assertions
16
16
  - Tests that test framework behavior ("does React render a component?")
@@ -33,13 +33,13 @@ MESSAGE=""
33
33
  WARN_LEVEL=0
34
34
 
35
35
  if [ "$MINUTES" -ge 180 ] && [ "$LAST_WARN" -lt 3 ]; then
36
- MESSAGE="SESSION HEALTH (3+ hours): You've been in this session for ${MINUTES} minutes. This is a long stretch. Strongly consider: (1) commit what you have, (2) close this session, (3) take a real break away from the screen. Long uninterrupted agent sessions lead to goal drift, lower judgment quality, and burnout. /compact if you must continue, but a break is better."
36
+ MESSAGE="CHECKPOINT (${MINUTES} min): Long session. Commit what you have, then consider a fresh session. /compact if continuing."
37
37
  WARN_LEVEL=3
38
38
  elif [ "$MINUTES" -ge 90 ] && [ "$LAST_WARN" -lt 2 ]; then
39
- MESSAGE="SESSION HEALTH (90+ min): You've been in this session for ${MINUTES} minutes. Consider taking a 10-minute break — stretch, water, walk. Come back with fresh eyes. Also a good time to commit progress."
39
+ MESSAGE="CHECKPOINT (${MINUTES} min): Good time to commit progress and take a break."
40
40
  WARN_LEVEL=2
41
41
  elif [ "$MINUTES" -ge 45 ] && [ "$LAST_WARN" -lt 1 ]; then
42
- MESSAGE="SESSION HEALTH (45 min): You've been in this session for ${MINUTES} minutes. Good time for a quick break and to commit any progress."
42
+ MESSAGE="CHECKPOINT (${MINUTES} min): Consider committing progress."
43
43
  WARN_LEVEL=1
44
44
  fi
45
45
 
package/install.sh CHANGED
@@ -102,7 +102,7 @@ cp "$UV_SUITE_DIR/agents/cursor/"*.mdc "$PROJECT_ROOT/.cursor/rules/"
102
102
  echo " ✓ .cursor/rules/*.mdc installed"
103
103
 
104
104
  # --- Install skills (slash commands) ---
105
- echo "Installing 9 skills..."
105
+ echo "Installing 10 skills..."
106
106
  for skill_dir in "$UV_SUITE_DIR/skills/"*/; do
107
107
  skill_name=$(basename "$skill_dir")
108
108
  mkdir -p "$TARGET_DIR/skills/$skill_name"
@@ -110,6 +110,7 @@ for skill_dir in "$UV_SUITE_DIR/skills/"*/; do
110
110
  done
111
111
  echo " ✓ /map-codebase, /spec, /architect, /review, /write-tests"
112
112
  echo " ✓ /write-evals, /slop-check, /prototype, /security-review"
113
+ echo " ✓ /map-stack"
113
114
 
114
115
  # --- Install hooks ---
115
116
  echo "Installing hook scripts..."
@@ -221,9 +222,25 @@ Agent output is written to uv-out/. Agents read prior artifacts automatically:
221
222
 
222
223
  ${HOOKS_TEXT}
223
224
 
224
- ### Personas
225
+ ### Working practices
225
226
 
226
- Start sessions with: ./uv.sh spike | sport | pro | auto
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.
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.
230
+
231
+ **Scope:** Stay focused. If you notice something worth fixing outside scope, mention it at the end, don't silently change it.
232
+
233
+ **Completion:** "Done" means verified. Run the tests. Prefer "I ran it and it works" over "should work."
234
+
235
+ **Failures:** When you fail, say so. Escalate: what you tried, why each failed, what you need.
236
+
237
+ **User context:** If something looks wrong, ask why before fixing. Users have constraints you may not see.
238
+
239
+ **Session:** Long conversation? Suggest /compact or a new session. Past 90 min, suggest a break.
240
+
241
+ ### Launching sessions
242
+
243
+ uv claude pro | uv codex pro | uv pro (shorthand)
227
244
  EOF
228
245
 
229
246
  echo " ✓ UV Suite section added to CLAUDE.md"
@@ -328,102 +345,6 @@ else
328
345
  echo " Register manually after installing Claude Code: claude mcp add playwright -- npx @playwright/mcp@latest"
329
346
  fi
330
347
 
331
- # --- Write UV Suite context to CLAUDE.md ---
332
- if [ "$INSTALL_MODE" = "project" ]; then
333
- PROJECT_ROOT="$(dirname "$TARGET_DIR")"
334
- CLAUDE_MD="$PROJECT_ROOT/CLAUDE.md"
335
-
336
- # Check if UV Suite section already exists
337
- if [ -f "$CLAUDE_MD" ] && grep -q "## UV Suite" "$CLAUDE_MD" 2>/dev/null; then
338
- echo "Updating UV Suite section in CLAUDE.md..."
339
- # Remove old UV Suite section and rewrite
340
- sed -i.bak '/^## UV Suite$/,/^## [^U]/{ /^## [^U]/!d; }' "$CLAUDE_MD" 2>/dev/null || true
341
- rm -f "$CLAUDE_MD.bak" 2>/dev/null
342
- else
343
- echo "Adding UV Suite section to CLAUDE.md..."
344
- fi
345
-
346
- cat >> "$CLAUDE_MD" << CLAUDEMD
347
-
348
- ## UV Suite
349
-
350
- This project uses [UV Suite](https://github.com/utsavanand/uv-suite) for AI-assisted development.
351
-
352
- **Active persona:** $PERSONA_LABEL
353
- **Version:** $(cat "$UV_SUITE_DIR/package.json" 2>/dev/null | grep '"version"' | head -1 | sed 's/.*: "//;s/".*//')
354
-
355
- ### Available skills (slash commands)
356
-
357
- | Command | Agent | What it does |
358
- |---------|-------|-------------|
359
- | /map-codebase [dir] | Cartographer | Build knowledge graph of codebase |
360
- | /map-stack [dir] | Cartographer | Map multiple services and their connections |
361
- | /spec [requirements] | Spec Writer | Write technical specification |
362
- | /architect [spec] | Architect | Design architecture, decompose into Acts |
363
- | /review | Reviewer | Code review (correctness, security, perf, slop) |
364
- | /write-tests [file] | Test Writer | Generate tests matching project conventions |
365
- | /write-evals [prompt] | Eval Writer | Write AI/LLM evaluation cases |
366
- | /slop-check | Anti-Slop Guard | Detect 6 categories of AI-generated slop |
367
- | /prototype [concept] | Prototype Builder | Build static React prototype |
368
- | /security-review | Security Agent | OWASP audit, dependency scan, secret detection |
369
-
370
- ### Artifacts
371
-
372
- All agent output is written to \`uv-out/\`. Each agent reads relevant prior artifacts from this directory automatically.
373
-
374
- | Artifact | Written by | Read by |
375
- |----------|-----------|---------|
376
- | uv-out/map-codebase.md | /map-codebase | /architect, /review, /security-review |
377
- | uv-out/specs/*.md | /spec | /architect, /write-tests, /write-evals |
378
- | uv-out/architecture/*.md | /architect | /review, /write-tests, /slop-check |
379
- | uv-out/review-*.md | /review | /slop-check, /security-review |
380
- | uv-out/security-review-*.md | /security-review | — |
381
- | uv-out/slop-check-*.md | /slop-check | — |
382
-
383
- ### Active hooks
384
-
385
- Hooks fire automatically on every relevant action. You do not invoke these.
386
-
387
- $(if [ "$PERSONA" = "professional" ]; then
388
- cat << 'HOOKS'
389
- - **auto-lint** (on file write) — runs prettier/ruff/gofmt
390
- - **slop check** (on file write) — Haiku scans for obvious slop
391
- - **danger zone** (on file edit) — warns if file is in DANGER-ZONES.md
392
- - **destructive block** (on bash) — blocks rm -rf, force push
393
- - **review reminder** (on session end) — reminds to /review if uncommitted changes
394
- HOOKS
395
- elif [ "$PERSONA" = "auto" ]; then
396
- cat << 'HOOKS'
397
- - **auto-lint** (on file write) — runs prettier/ruff/gofmt
398
- - **destructive block** (on bash) — blocks rm -rf, force push
399
- HOOKS
400
- elif [ "$PERSONA" = "sport" ]; then
401
- cat << 'HOOKS'
402
- - **auto-lint** (on file write) — runs prettier/ruff/gofmt
403
- HOOKS
404
- elif [ "$PERSONA" = "spike" ]; then
405
- cat << 'HOOKS'
406
- - **doc slop check** (on file write) — Haiku checks documentation quality
407
- HOOKS
408
- fi)
409
-
410
- ### Context management
411
-
412
- If the conversation is getting long, proactively suggest running /compact or starting a new session. Use /cost to check token usage. The user's status line shows context window usage.
413
-
414
- ### Launching sessions
415
-
416
- \`\`\`
417
- uv claude pro # Claude Code, Professional persona
418
- uv claude auto # Claude Code, Auto persona
419
- uv codex pro # OpenAI Codex, Professional persona
420
- uv codex sport # OpenAI Codex, Sport persona
421
- \`\`\`
422
- CLAUDEMD
423
-
424
- echo " ✓ UV Suite section added to CLAUDE.md"
425
- fi
426
-
427
348
  # --- Install launcher script ---
428
349
  echo "Installing session launcher..."
429
350
  cp "$UV_SUITE_DIR/uv.sh" "$TARGET_DIR/../uv.sh" 2>/dev/null || true
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uv-suite",
3
- "version": "0.7.0",
3
+ "version": "0.9.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",