forgedev 1.2.0 → 1.3.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 (171) hide show
  1. package/README.md +57 -10
  2. package/bin/chainproof.js +126 -0
  3. package/package.json +25 -7
  4. package/src/chainproof-bridge.js +330 -0
  5. package/src/ci-mode.js +85 -0
  6. package/src/claude-configurator.js +86 -49
  7. package/src/cli.js +30 -7
  8. package/src/composer.js +159 -34
  9. package/src/doctor-checks-chainproof.js +106 -0
  10. package/src/doctor-checks.js +39 -20
  11. package/src/doctor-prompts.js +9 -9
  12. package/src/doctor.js +37 -4
  13. package/src/guided.js +3 -3
  14. package/src/index.js +31 -10
  15. package/src/init-mode.js +64 -11
  16. package/src/menu.js +178 -0
  17. package/src/prompts.js +5 -12
  18. package/src/recommender.js +134 -10
  19. package/src/scanner.js +57 -2
  20. package/src/uat-generator.js +204 -189
  21. package/src/update-check.js +9 -4
  22. package/src/update.js +1 -1
  23. package/src/utils.js +64 -5
  24. package/templates/ai/guardrails-py/backend/app/ai/__init__.py +29 -0
  25. package/templates/ai/guardrails-py/backend/app/ai/audit_log.py +133 -0
  26. package/templates/ai/guardrails-py/backend/app/ai/client.py.template +323 -0
  27. package/templates/ai/guardrails-py/backend/app/ai/health.py.template +157 -0
  28. package/templates/ai/guardrails-py/backend/app/ai/input_guard.py +98 -0
  29. package/templates/ai/guardrails-ts/src/lib/ai/audit-log.ts.template +164 -0
  30. package/templates/ai/guardrails-ts/src/lib/ai/client.ts.template +403 -0
  31. package/templates/ai/guardrails-ts/src/lib/ai/health.ts.template +165 -0
  32. package/templates/ai/guardrails-ts/src/lib/ai/index.ts.template +17 -0
  33. package/templates/ai/guardrails-ts/src/lib/ai/input-guard.ts.template +124 -0
  34. package/templates/auth/nextauth/src/lib/auth.ts.template +12 -7
  35. package/templates/backend/express/Dockerfile.template +18 -0
  36. package/templates/backend/express/package.json.template +33 -0
  37. package/templates/backend/express/src/index.ts.template +34 -0
  38. package/templates/backend/express/src/routes/health.ts.template +27 -0
  39. package/templates/backend/express/tsconfig.json +17 -0
  40. package/templates/backend/fastapi/backend/Dockerfile.template +5 -0
  41. package/templates/backend/fastapi/backend/app/api/health.py.template +1 -1
  42. package/templates/backend/fastapi/backend/app/core/config.py.template +1 -1
  43. package/templates/backend/fastapi/backend/app/core/errors.py +1 -1
  44. package/templates/backend/fastapi/backend/app/main.py.template +3 -1
  45. package/templates/backend/fastapi/backend/requirements.txt.template +2 -0
  46. package/templates/backend/hono/Dockerfile.template +18 -0
  47. package/templates/backend/hono/package.json.template +31 -0
  48. package/templates/backend/hono/src/index.ts.template +32 -0
  49. package/templates/backend/hono/src/routes/health.ts.template +27 -0
  50. package/templates/backend/hono/tsconfig.json +18 -0
  51. package/templates/base/docs/uat/UAT_TEMPLATE.md.template +1 -1
  52. package/templates/chainproof/base/.chainproof/config.json.template +11 -0
  53. package/templates/chainproof/base/.chainproof/mcp-server.mjs +310 -0
  54. package/templates/chainproof/base/.mcp.json +9 -0
  55. package/templates/chainproof/fastapi/.chainproof/middleware.json.template +14 -0
  56. package/templates/chainproof/nextjs/.chainproof/hooks.json.template +19 -0
  57. package/templates/chainproof/polyglot/.chainproof/config.json.template +21 -0
  58. package/templates/claude-code/agents/architect.md +25 -11
  59. package/templates/claude-code/agents/build-error-resolver.md +19 -5
  60. package/templates/claude-code/agents/chief-of-staff.md +42 -8
  61. package/templates/claude-code/agents/code-quality-reviewer.md +14 -0
  62. package/templates/claude-code/agents/database-reviewer.md +15 -1
  63. package/templates/claude-code/agents/deep-reviewer.md +191 -0
  64. package/templates/claude-code/agents/doc-updater.md +19 -5
  65. package/templates/claude-code/agents/docs-lookup.md +19 -5
  66. package/templates/claude-code/agents/e2e-runner.md +26 -12
  67. package/templates/claude-code/agents/enforcement-gate.md +102 -0
  68. package/templates/claude-code/agents/frontend-builder.md +188 -0
  69. package/templates/claude-code/agents/harness-optimizer.md +36 -1
  70. package/templates/claude-code/agents/loop-operator.md +27 -13
  71. package/templates/claude-code/agents/planner.md +21 -7
  72. package/templates/claude-code/agents/product-strategist.md +24 -10
  73. package/templates/claude-code/agents/production-readiness.md +14 -0
  74. package/templates/claude-code/agents/prompt-auditor.md +115 -0
  75. package/templates/claude-code/agents/refactor-cleaner.md +22 -8
  76. package/templates/claude-code/agents/security-reviewer.md +14 -0
  77. package/templates/claude-code/agents/spec-validator.md +15 -1
  78. package/templates/claude-code/agents/tdd-guide.md +21 -7
  79. package/templates/claude-code/agents/uat-validator.md +14 -0
  80. package/templates/claude-code/claude-md/base.md +14 -7
  81. package/templates/claude-code/claude-md/fastapi.md +8 -8
  82. package/templates/claude-code/claude-md/fullstack.md +6 -6
  83. package/templates/claude-code/claude-md/hono.md +18 -0
  84. package/templates/claude-code/claude-md/nextjs.md +5 -5
  85. package/templates/claude-code/claude-md/remix.md +18 -0
  86. package/templates/claude-code/commands/audit-security.md +14 -0
  87. package/templates/claude-code/commands/audit-spec.md +14 -0
  88. package/templates/claude-code/commands/audit-wiring.md +14 -0
  89. package/templates/claude-code/commands/build-fix.md +28 -0
  90. package/templates/claude-code/commands/build-ui.md +59 -0
  91. package/templates/claude-code/commands/code-review.md +53 -31
  92. package/templates/claude-code/commands/fix-loop.md +211 -0
  93. package/templates/claude-code/commands/full-audit.md +36 -8
  94. package/templates/claude-code/commands/generate-prd.md +1 -1
  95. package/templates/claude-code/commands/generate-sdd.md +74 -0
  96. package/templates/claude-code/commands/generate-uat.md +107 -35
  97. package/templates/claude-code/commands/help.md +68 -0
  98. package/templates/claude-code/commands/live-uat.md +268 -0
  99. package/templates/claude-code/commands/optimize-claude-md.md +15 -1
  100. package/templates/claude-code/commands/plan.md +3 -3
  101. package/templates/claude-code/commands/pre-pr.md +57 -19
  102. package/templates/claude-code/commands/product-strategist.md +21 -0
  103. package/templates/claude-code/commands/resume-session.md +10 -10
  104. package/templates/claude-code/commands/run-uat.md +59 -2
  105. package/templates/claude-code/commands/save-session.md +10 -10
  106. package/templates/claude-code/commands/simplify.md +36 -0
  107. package/templates/claude-code/commands/tdd.md +17 -18
  108. package/templates/claude-code/commands/verify-all.md +24 -0
  109. package/templates/claude-code/commands/verify-intent.md +55 -0
  110. package/templates/claude-code/commands/workflows.md +52 -40
  111. package/templates/claude-code/hooks/polyglot.json +10 -1
  112. package/templates/claude-code/hooks/python.json +10 -1
  113. package/templates/claude-code/hooks/scripts/autofix-polyglot.mjs +2 -2
  114. package/templates/claude-code/hooks/scripts/autofix-python.mjs +1 -1
  115. package/templates/claude-code/hooks/scripts/autofix-typescript.mjs +1 -1
  116. package/templates/claude-code/hooks/scripts/code-hygiene.mjs +293 -0
  117. package/templates/claude-code/hooks/scripts/pre-commit-gate.mjs +207 -0
  118. package/templates/claude-code/hooks/typescript.json +10 -1
  119. package/templates/claude-code/skills/ai-prompts/SKILL.md +119 -41
  120. package/templates/claude-code/skills/git-workflow/SKILL.md +5 -5
  121. package/templates/claude-code/skills/nextjs/SKILL.md +1 -1
  122. package/templates/claude-code/skills/playwright/SKILL.md +5 -5
  123. package/templates/claude-code/skills/security-api/SKILL.md +1 -1
  124. package/templates/claude-code/skills/security-web/SKILL.md +1 -1
  125. package/templates/claude-code/skills/testing-patterns/SKILL.md +9 -9
  126. package/templates/database/prisma-postgres/{.env.example → .env.example.template} +1 -0
  127. package/templates/database/sqlalchemy-postgres/{.env.example → .env.example.template} +1 -0
  128. package/templates/docs-portal/fastapi/backend/app/portal/__pycache__/docs_reader.cpython-314.pyc +0 -0
  129. package/templates/docs-portal/fastapi/backend/app/portal/docs_reader.py +201 -0
  130. package/templates/docs-portal/fastapi/backend/app/portal/html_renderer.py +229 -0
  131. package/templates/docs-portal/fastapi/backend/app/portal/router.py.template +35 -0
  132. package/templates/docs-portal/nextjs/src/app/portal/[category]/[slug]/page.tsx +81 -0
  133. package/templates/docs-portal/nextjs/src/app/portal/[category]/page.tsx +65 -0
  134. package/templates/docs-portal/nextjs/src/app/portal/layout.tsx.template +54 -0
  135. package/templates/docs-portal/nextjs/src/app/portal/page.tsx +85 -0
  136. package/templates/docs-portal/nextjs/src/components/portal/markdown-renderer.tsx +101 -0
  137. package/templates/docs-portal/nextjs/src/components/portal/mobile-portal-nav.tsx +81 -0
  138. package/templates/docs-portal/nextjs/src/components/portal/portal-nav.tsx +86 -0
  139. package/templates/docs-portal/nextjs/src/lib/docs.ts +139 -0
  140. package/templates/frontend/nextjs/package.json.template +3 -1
  141. package/templates/frontend/react/index.html.template +12 -0
  142. package/templates/frontend/react/package.json.template +34 -0
  143. package/templates/frontend/react/src/App.tsx.template +10 -0
  144. package/templates/frontend/react/src/index.css +1 -0
  145. package/templates/frontend/react/src/main.tsx +10 -0
  146. package/templates/frontend/react/tsconfig.json +17 -0
  147. package/templates/frontend/react/vite.config.ts.template +15 -0
  148. package/templates/frontend/react/vitest.config.ts +9 -0
  149. package/templates/frontend/remix/app/root.tsx.template +31 -0
  150. package/templates/frontend/remix/app/routes/_index.tsx.template +19 -0
  151. package/templates/frontend/remix/app/routes/api.health.ts.template +10 -0
  152. package/templates/frontend/remix/app/tailwind.css +1 -0
  153. package/templates/frontend/remix/package.json.template +39 -0
  154. package/templates/frontend/remix/tsconfig.json +18 -0
  155. package/templates/frontend/remix/vite.config.ts.template +7 -0
  156. package/templates/infra/github-actions/.github/workflows/ci.yml.template +3 -0
  157. package/docs/00-README.md +0 -310
  158. package/docs/01-universal-prompt-library.md +0 -1049
  159. package/docs/02-claude-code-mastery-playbook.md +0 -283
  160. package/docs/03-multi-agent-verification.md +0 -565
  161. package/docs/04-errata-and-verification-checklist.md +0 -284
  162. package/docs/05-universal-scaffolder-vision.md +0 -452
  163. package/docs/06-confidence-assessment-and-repo-prompt.md +0 -407
  164. package/docs/errata.md +0 -58
  165. package/docs/multi-agent-verification.md +0 -66
  166. package/docs/playbook.md +0 -95
  167. package/docs/prompt-library.md +0 -160
  168. package/docs/uat/UAT_CHECKLIST.csv +0 -9
  169. package/docs/uat/UAT_TEMPLATE.md +0 -163
  170. package/templates/claude-code/commands/done.md +0 -19
  171. /package/{docs/plans/.gitkeep → templates/docs-portal/fastapi/backend/app/portal/__init__.py} +0 -0
@@ -1,35 +1,107 @@
1
- Generate UAT (User Acceptance Test) scenarios for this project.
2
-
3
- ## Instructions
4
-
5
- 1. Read the codebase to identify all user-facing features:
6
- - API endpoints and their purposes
7
- - UI pages and forms
8
- - Authentication flows
9
- - Business logic and workflows
10
-
11
- 2. For each feature, create test scenarios covering:
12
- - Happy path (expected usage)
13
- - Edge cases (empty inputs, max values, special characters)
14
- - Error cases (invalid data, unauthorized access, network failures)
15
- - Integration points (features that depend on each other)
16
-
17
- 3. Prioritize scenarios:
18
- - P0: Critical path app is broken if these fail (login, core CRUD, data integrity)
19
- - P1: Important significant user impact (permissions, validation, error handling)
20
- - P2: Nice to have minor features, cosmetic issues
21
-
22
- ## Output
23
-
24
- Generate two files:
25
-
26
- ### docs/uat/UAT_TEMPLATE.md
27
- Markdown table with columns:
28
- | ID | Feature | Scenario | Steps | Expected Result | Priority |
29
-
30
- ### docs/uat/UAT_CHECKLIST.csv
31
- CSV with columns:
32
- ID,Feature,Scenario,Priority,Status,Tester,Date,Notes
33
-
34
- Include at least 5 P0 scenarios, 10 P1 scenarios, and 5 P2 scenarios.
35
- Do NOT modify any code — this is a documentation-only task.
1
+ Generate comprehensive UAT (User Acceptance Test) scenarios by analyzing the actual codebase, not guessing.
2
+
3
+ ## Phase 1: Deep Code Analysis
4
+
5
+ Read the codebase systematically to build a complete feature inventory:
6
+
7
+ ### 1.1 Route/Endpoint Discovery
8
+ - Read ALL route files (API routes, page routes, middleware)
9
+ - For each route: extract HTTP method, path, parameters, request body schema, response schema
10
+ - Note which routes require authentication and which roles can access them
11
+
12
+ ### 1.2 Business Logic Extraction
13
+ - Read service/logic files (not just routes, the actual business logic)
14
+ - For each function that transforms data: extract the input, the rule, and the expected output
15
+ - Examples: "if order total > $100, apply 10% discount", "if user.role !== 'admin', return 403"
16
+ - Record these as testable assertions with computed expected values
17
+
18
+ ### 1.3 UI Page Inventory (frontend projects)
19
+ - Read all page/view components
20
+ - For each page: list all interactive elements (forms, buttons, dropdowns, modals, tabs)
21
+ - Note form validation rules (required fields, min/max, regex patterns)
22
+ - Note conditional rendering (what appears/disappears based on state)
23
+
24
+ ### 1.4 Data Flow Mapping
25
+ - Trace CRUD lifecycles: where is data created, read, updated, deleted?
26
+ - Map cross-page dependencies: "creating X on page A should show X on page B"
27
+ - Identify cascade effects: "deleting user should delete their posts"
28
+
29
+ ### 1.5 Integration Points
30
+ - External API calls (payment, email, auth providers)
31
+ - File uploads/downloads
32
+ - WebSocket/real-time features
33
+ - Background jobs/queues
34
+
35
+ ## Phase 2: Scenario Generation
36
+
37
+ For EVERY feature discovered in Phase 1, generate scenarios in these categories:
38
+
39
+ ### Category A: Happy Path
40
+ - Standard usage with valid data
41
+ - Include specific test data values and computed expected results
42
+ - Example: "Submit order with 3 items totaling $150 -> expect 10% discount applied, total $135"
43
+
44
+ ### Category B: Business Logic Verification
45
+ - Test every conditional branch found in Phase 1.2
46
+ - Include boundary values (exactly at threshold, one above, one below)
47
+ - Example: "Order total $99.99 -> no discount; $100.00 -> 10% discount; $100.01 -> 10% discount"
48
+
49
+ ### Category C: Data Flow / Multi-Step Workflows
50
+ - CRUD lifecycle: create -> verify exists -> update -> verify changed -> delete -> verify gone
51
+ - Cross-page: create on page A -> navigate to page B -> verify appears
52
+ - Concurrent: two users modifying same resource
53
+
54
+ ### Category D: Validation & Error Handling
55
+ - Every form field: empty, too short, too long, special characters, SQL injection attempt, XSS attempt
56
+ - API: missing required fields, wrong types, invalid values
57
+ - Auth: unauthenticated access, wrong role, expired token
58
+
59
+ ### Category E: Edge Cases
60
+ - Empty states (no data, first-time user)
61
+ - Maximum load (list with 1000 items, very long text input)
62
+ - Rapid actions (double-click submit, back button during save)
63
+ - Network failure (what happens if API call fails mid-operation?)
64
+
65
+ ### Category F: Permissions & Roles
66
+ - For each role: what can they access, what is denied?
67
+ - Role escalation: can a regular user access admin endpoints?
68
+ - Test every route/page against each role
69
+
70
+ ## Phase 3: Prioritization
71
+
72
+ - **P0 (Critical)**: Authentication, core CRUD, data integrity, payment flows, security boundaries
73
+ - **P1 (Important)**: Validation, permissions, error handling, search/filter, export
74
+ - **P2 (Standard)**: UI polish, empty states, loading states, edge cases
75
+ - **P3 (Low)**: Cosmetic issues, minor UX improvements
76
+
77
+ Target: Generate scenarios proportional to the codebase size. A typical app should have:
78
+ - 1-2 scenarios per API endpoint
79
+ - 1-2 scenarios per UI page
80
+ - 3-5 scenarios per business logic rule
81
+ - At minimum: 10 P0, 20 P1, 15 P2, 5 P3
82
+
83
+ ## Output
84
+
85
+ Generate three files:
86
+
87
+ ### docs/uat/UAT_TEMPLATE.md
88
+ Full scenario document with columns:
89
+ | ID | Feature | Scenario | Steps | Expected Result | Priority | Source |
90
+
91
+ The **Source** column references the file and line where the logic was found (e.g., `src/services/order.js:45`).
92
+
93
+ ### docs/uat/UAT_CHECKLIST.csv
94
+ CSV for tracking:
95
+ ID,Feature,Scenario,Priority,Status,Tester,Date,Notes
96
+
97
+ ### docs/uat/BUSINESS_RULES.md
98
+ Extracted business rules with test values:
99
+ ```
100
+ ## Rule: [name]
101
+ - Source: [file:line]
102
+ - Logic: [description]
103
+ - Test cases:
104
+ | Input | Expected Output | Boundary? |
105
+ ```
106
+
107
+ Do NOT modify any code. This is a documentation-only task.
@@ -0,0 +1,68 @@
1
+ Ask the developer: "What are you trying to do?" Then guide them to the right workflow.
2
+
3
+ ## Decision Tree
4
+
5
+ Based on the developer's answer, recommend the appropriate workflow:
6
+
7
+ ### "I want to start building a feature"
8
+ → Run `/plan` to create an implementation plan first
9
+
10
+ ### "I want to build frontend UI"
11
+ → Run `/build-ui` to generate UI with AI-powered tools
12
+
13
+ ### "I want to write tests first"
14
+ → Run `/tdd` to follow test-driven development
15
+
16
+ ### "I have build errors / lint errors / type errors"
17
+ → Run `/build-fix` to fix them incrementally
18
+
19
+ ### "I want to check if everything is working"
20
+ → Run `/status` for a quick dashboard
21
+ → Run `/verify-all` for a thorough check
22
+
23
+ ### "My code is messy / I have duplicate code / files are too long"
24
+ → Run `/simplify` to find duplicates, split long files, and extract shared utilities
25
+
26
+ ### "I want to review my code before committing"
27
+ → Run `/code-review` for security + quality review
28
+
29
+ ### "I'm ready to make a PR"
30
+ → Run `/pre-pr` for the complete pre-PR checklist
31
+
32
+ ### "I want to run UAT"
33
+ → Run `/run-uat` for one-off or sandbox UAT runs using the checklist/template flow
34
+ → Run `/live-uat` for UAT against live-like data or long-lived UAT environments
35
+
36
+ ### "I want a full audit of the project"
37
+ → Run `/full-audit` to run every review agent
38
+
39
+ ### "I want to check security"
40
+ → Run `/audit-security` for a focused security audit
41
+
42
+ ### "I want to generate documentation"
43
+ → `/generate-prd` for a Product Requirements Document
44
+ → `/generate-sdd` for a Software Design Document
45
+ → `/generate-uat` for UAT test scenarios
46
+
47
+ ### "I don't know what to work on"
48
+ → Run `/next` to figure out the highest-priority task
49
+
50
+ ### "I think I'm done with this task"
51
+ → Just commit. The pre-commit gate automatically runs lint, tests, and security checks.
52
+ → If the gate blocks the commit, run `/build-fix` to resolve issues.
53
+
54
+ ### "I want to save my progress and come back later"
55
+ → Run `/save-session` to save context
56
+ → Run `/resume-session` to pick up where you left off
57
+
58
+ ### "I want to see all available workflows"
59
+ → Run `/workflows` for the complete list
60
+
61
+ ## All Commands Reference
62
+
63
+ **Daily:** `/workflows`, `/status`, `/next`
64
+ **Development:** `/plan`, `/tdd`, `/build-fix`, `/fix-loop`, `/build-ui`, `/code-review`, `/simplify`
65
+ **Verification:** `/verify-all`, `/full-audit`, `/audit-spec`, `/audit-wiring`, `/audit-security`, `/verify-intent`
66
+ **Release:** `/pre-pr`, `/run-uat`, `/live-uat`
67
+ **Generation:** `/generate-prd`, `/generate-sdd`, `/generate-uat`, `/optimize-claude-md`
68
+ **Session:** `/save-session`, `/resume-session`
@@ -0,0 +1,268 @@
1
+ Run a comprehensive live UAT by interacting with the running application in a real browser or via API calls.
2
+
3
+ This is NOT a code review or automated test run. You will physically navigate the app, click buttons, fill forms, test every feature, and verify outputs against ground truth.
4
+
5
+ ## Step 1: Detect Testing Mode
6
+
7
+ Determine what kind of application this is by reading the project structure:
8
+
9
+ - **Has frontend** (Next.js, React, Vue, etc.) → Browser-based testing. Requires a browser automation tool.
10
+ - **API only** (FastAPI, Express, etc.) → Endpoint testing via curl, httpie, or API client MCP.
11
+ - **Full-stack** → Both browser AND API testing.
12
+
13
+ ### Browser Testing Setup (frontend projects only)
14
+ Check which browser tool is available:
15
+ - `mcp__Claude_in_Chrome__*` tools (Claude in Chrome extension) — preferred
16
+ - Playwright MCP or similar browser automation MCP
17
+ - Any other browser MCP tool
18
+
19
+ If none are available, tell the user: "Install a browser automation tool (Claude in Chrome extension, Playwright MCP, etc.) to run live UI testing. Alternatively, I can test API endpoints only."
20
+
21
+ ## Step 2: Gather Test Parameters
22
+
23
+ Ask the user these questions before starting. Skip questions that don't apply to the detected stack.
24
+
25
+ 1. **App URL**: What URL should I test against? (e.g., `http://localhost:3000`, a staging URL)
26
+ 2. **Login**: What account(s) should I use? (You will type passwords yourself)
27
+ 3. **Multiple roles?**: Are there different user roles to test? (admin, user, viewer, etc.)
28
+ 4. **Existing UAT document**: Check if `docs/uat/UAT_TEMPLATE.md` exists. If it does, ask: "I found your UAT scenarios. Should I test against these, or do a full exploratory pass?"
29
+ 5. **Ground truth documents**: Do you have source documents that the app's outputs should be evaluated against? (e.g., a dataset the app should parse correctly, a document it should analyze accurately)
30
+ 6. **Scope**: Test ALL pages/endpoints, or specific ones?
31
+ 7. **Server logs**: How do I check server logs when errors occur? (e.g., terminal output, `docker logs`, cloud logging command)
32
+
33
+ ## Step 3: Testing Rules
34
+
35
+ ### Rule 1: Test Every Interactive Element
36
+ For every page or endpoint:
37
+ - Every button, link, tab, toggle, dropdown, filter
38
+ - Every form (fill, submit, check validation and error states)
39
+ - Every export/download (verify correct file format for the content type)
40
+ - Every AI/ML feature (verify output quality, not just that it runs)
41
+ - Every modal/dialog (open, interact, close)
42
+ - Every navigation path (sidebar, breadcrumbs, back button)
43
+
44
+ For API-only projects:
45
+ - Every endpoint (all HTTP methods)
46
+ - Every query parameter and request body variation
47
+ - Authentication and authorization on each endpoint
48
+ - Error responses (400, 401, 403, 404, 422, 500)
49
+ - Response schema validation
50
+
51
+ ### Rule 2: Verify Output Quality
52
+ Do NOT just check if features respond. Verify the CONTENT:
53
+ - Compare outputs against ground truth documents (if provided)
54
+ - Compare against existing UAT scenarios in `docs/uat/UAT_TEMPLATE.md` (if they exist)
55
+ - Flag hallucinated data, missing findings, incorrect results
56
+ - If a feature says "0 results" for input that clearly has results, that is CRITICAL
57
+ - Check that outputs reference actual data, not generic boilerplate
58
+
59
+ ### Rule 3: Fix Bugs in Parallel
60
+ When a bug is found:
61
+ - Log it immediately in the results file with severity (Critical / High / Medium / Low)
62
+ - If the bug is in the codebase and fixable: spawn a background agent to fix it while you continue testing
63
+ - Do NOT stop testing to fix bugs unless they completely block further testing — except when the 15+ bug quality gate in Rule 4 is met (then stop immediately, save state, list all bugs, and generate the resume prompt)
64
+ - Track fix status: Found, Fixing, Fixed, Wont Fix
65
+
66
+ ### Rule 4: Quality Gate (Overrides Rule 3) + Screenshot and Evidence Strategy
67
+ - **Bugs 0-10**: Screenshots of failures AND key milestones (page loads, successful operations)
68
+ - **Bugs 11-15**: Screenshots on FAILURES only. Use text-based page reads for passes.
69
+ - **Bugs 15+**: STOP TESTING IMMEDIATELY (this overrides Rule 3). Save state, list all bugs found so far, and generate the resume prompt before continuing any further work.
70
+
71
+ ### Rule 5: Save Progress Continuously
72
+ - **Every 3-4 pages or endpoints**: Write results to `docs/sessions/live-uat-YYYY-MM-DD.md`
73
+ - **Every bug**: Update the bug table immediately
74
+ - **At ~70% context usage**: Proactively save ALL results, generate a self-contained resume prompt, and tell the user where to find it
75
+
76
+ ### Rule 6: Check Server Logs on Every Error
77
+ On any 500, timeout, or unexpected behavior:
78
+ - Run the log check command the user provided
79
+ - Include error details in the bug report
80
+ - Note the timestamp and endpoint
81
+
82
+ ### Rule 7: Create Test Data When Needed
83
+ If a feature requires data that doesn't exist:
84
+ - Create it (add a record, upload a file, seed data)
85
+ - Don't skip testing because data is missing
86
+ - Document what test data you created so it can be cleaned up
87
+
88
+ ### Rule 8: Quality Audit
89
+ Before marking any feature PASS, verify:
90
+ - Destructive actions use confirmation modals (not browser `confirm()`)
91
+ - Forms have validation and clear error messages
92
+ - Loading states are present (skeletons or spinners)
93
+ - Empty states have descriptions and call-to-action buttons
94
+ - Exports use the correct format for the content type (e.g., reports = PDF/DOCX, data = CSV/XLSX)
95
+
96
+ ### Rule 9: Business Logic Verification
97
+ Before testing, read the source code for business rules. For each rule found:
98
+ - Test the exact boundary values (at threshold, one above, one below)
99
+ - Verify computed outputs match what the code should produce
100
+ - Example: if code says `if (total > 100) applyDiscount(0.1)`, test with total=99.99, 100.00, 100.01
101
+ - Log the source file and line for each business rule tested
102
+
103
+ ### Rule 10: Data Flow / CRUD Lifecycle Testing
104
+ For every entity type in the app (users, orders, posts, etc.):
105
+ 1. **Create** an item with valid data, verify it appears in listings
106
+ 2. **Read** the item detail page/endpoint, verify all fields are correct
107
+ 3. **Update** the item, verify changes persist after page reload
108
+ 4. **Delete** the item, verify it disappears from all listings and related pages
109
+ 5. Test cascade effects: deleting a parent should handle children correctly
110
+
111
+ ### Rule 11: Regression Tracking
112
+ Check if a previous live-uat session exists (`docs/sessions/live-uat-*.md`):
113
+ - If yes, load the previous bug table and results
114
+ - After testing, compare: flag any previously-passing features that now fail as **REGRESSION**
115
+ - Flag any previously-fixed bugs that have returned as **REGRESSION: BUG RETURNED**
116
+ - Include a regression summary section in the results
117
+
118
+ ## Step 4: Testing Workflow
119
+
120
+ ### Phase 1: Pre-Flight
121
+ 1. Verify the app URL is accessible
122
+ 2. Get browser tab or API client ready
123
+ 3. Login (let user type passwords)
124
+ 4. Verify the app loads correctly
125
+
126
+ ### Phase 2: Systematic Testing
127
+ **For frontend apps** — test page by page:
128
+ 1. Navigate to page, verify it loads
129
+ 2. Read page content, note what is displayed
130
+ 3. Click every tab, verify content changes
131
+ 4. Click every button, verify behavior
132
+ 5. Test every form: fill, submit, verify
133
+ 6. Test every filter/search, verify results
134
+ 7. Test every export/download, verify format
135
+ 8. Test every AI feature, verify output against ground truth
136
+ 9. Log PASS or FAIL with what you observed
137
+
138
+ **For API-only apps** — test endpoint by endpoint:
139
+ 1. Send request, verify response status and schema
140
+ 2. Test with valid data (happy path)
141
+ 3. Test with invalid data (validation errors)
142
+ 4. Test without auth (should get 401)
143
+ 5. Test with wrong role (should get 403)
144
+ 6. Test edge cases (empty body, large payload, special characters)
145
+ 7. Log PASS or FAIL with response details
146
+
147
+ ### Phase 3: Business Logic Verification
148
+ 1. Read source code for business rules (see Rule 9)
149
+ 2. For each rule, test boundary values and computed expected outputs
150
+ 3. If `docs/uat/BUSINESS_RULES.md` exists (from `/generate-uat`), use it as the test plan
151
+ 4. Log each rule tested with: source file, input, expected output, actual output, PASS/FAIL
152
+
153
+ ### Phase 4: Data Flow / CRUD Lifecycle
154
+ 1. Identify all entity types from the database schema or API routes
155
+ 2. For each entity: run the Create -> Read -> Update -> Delete cycle (see Rule 10)
156
+ 3. Test cross-page visibility: create on page A, verify on page B
157
+ 4. Test cascade deletes and referential integrity
158
+
159
+ ### Phase 5: Cross-Cutting Concerns
160
+ - Role-based access: login as different roles, verify permissions
161
+ - AI/ML features: test with real data, verify accuracy
162
+ - Reports and exports: generate every type, verify content
163
+ - Settings and admin: test every configuration option
164
+
165
+ ### Phase 6: Regression Check
166
+ 1. Load previous live-uat results if they exist (see Rule 11)
167
+ 2. Compare current results against previous pass/fail status
168
+ 3. Flag any regressions prominently
169
+
170
+ ### Phase 7: Server Health
171
+ - Check server logs for errors generated during testing
172
+ - Report any unhandled exceptions or warnings
173
+
174
+ ## Step 5: Results Format
175
+
176
+ Write results to `docs/sessions/live-uat-YYYY-MM-DD.md`:
177
+
178
+ ```
179
+ # Live UAT Results — [Date]
180
+
181
+ ## Environment
182
+ - URL: [app url]
183
+ - Stack: [detected stack]
184
+ - Roles tested: [list]
185
+
186
+ ## Page/Endpoint: [Name]
187
+ | # | Action | Result | Notes |
188
+ |---|--------|--------|-------|
189
+ | 1 | Page loads | PASS | Shows expected content |
190
+ | 2 | Submit form | FAIL | Bug #3: validation missing |
191
+
192
+ ## Bugs Found
193
+ | # | Bug | Severity | Location | Status |
194
+ |---|-----|----------|----------|--------|
195
+ | 1 | Missing validation on email | Medium | /signup | Fixed |
196
+ | 2 | AI returns empty results | Critical | /analysis | Fixing |
197
+
198
+ ## Output Quality (if applicable)
199
+ | Feature | Expected | Actual | Score |
200
+ |---------|----------|--------|-------|
201
+ | Data parsing | 26 items | 24 found | 8/10 |
202
+ | Report generation | Full report | Missing section 3 | 6/10 |
203
+
204
+ ## Business Logic Verification
205
+ | # | Rule | Source | Input | Expected | Actual | Result |
206
+ |---|------|--------|-------|----------|--------|--------|
207
+ | 1 | Discount > $100 | src/order.js:45 | $150 | $135 | $135 | PASS |
208
+ | 2 | Admin-only endpoint | src/api/admin.js:12 | role=user | 403 | 200 | FAIL |
209
+
210
+ ## Data Flow / CRUD Lifecycle
211
+ | Entity | Create | Read | Update | Delete | Cascade | Notes |
212
+ |--------|--------|------|--------|--------|---------|-------|
213
+ | User | PASS | PASS | PASS | FAIL | N/A | Bug #5 |
214
+ | Order | PASS | PASS | PASS | PASS | PASS | |
215
+
216
+ ## Regressions (vs previous session)
217
+ | Feature | Previous | Current | Status |
218
+ |---------|----------|---------|--------|
219
+ | Login flow | PASS | PASS | Stable |
220
+ | Export PDF | PASS | FAIL | REGRESSION |
221
+
222
+ ## Summary
223
+ - Total actions tested: X | PASS: X | FAIL: X
224
+ - Business rules tested: X | PASS: X | FAIL: X
225
+ - CRUD lifecycles tested: X | PASS: X | FAIL: X
226
+ - Regressions found: X
227
+ - Bugs: X (Critical: X, High: X, Medium: X, Low: X)
228
+ - Fixed during testing: X | Remaining: X
229
+ - Recommendation: Ship / Fix and retest / Needs rework
230
+ ```
231
+
232
+ ## Step 6: Session Resume Prompt
233
+
234
+ When saving a resume prompt (on pause, bug overflow, or context limit), write to `docs/sessions/live-uat-resume-YYYY-MM-DD.md`:
235
+
236
+ ```
237
+ # Resume Live UAT — [Date] Session [N+1]
238
+
239
+ ## Context
240
+ Read these files first:
241
+ 1. docs/sessions/live-uat-YYYY-MM-DD.md — results so far
242
+ 2. docs/uat/UAT_TEMPLATE.md — test scenarios (if exists)
243
+
244
+ ## Tested So Far
245
+ [list pages/endpoints with PASS/FAIL counts]
246
+
247
+ ## Remaining
248
+ [list untested pages/endpoints]
249
+
250
+ ## Open Bugs
251
+ [full bug table with status]
252
+
253
+ ## Test Data Created
254
+ [list of data created during testing, for cleanup]
255
+
256
+ ## Login
257
+ User will re-enter passwords
258
+
259
+ ## App URL
260
+ [url]
261
+
262
+ ## Resume From
263
+ [exact page/endpoint and step number]
264
+ ```
265
+
266
+ ---
267
+
268
+ **Ready to start. Tell me the app URL, how to login, and whether you have ground truth documents to test against.**
@@ -1,5 +1,19 @@
1
1
  Analyze and optimize CLAUDE.md for this project.
2
2
 
3
+ ## Intent Contract
4
+
5
+ Before invoking any agent, construct this block and pass it as context:
6
+
7
+ ```
8
+ INTENT_CONTRACT:
9
+ INTENT: "[User's original request verbatim]"
10
+ SCOPE: "[Files/areas to examine]"
11
+ SUCCESS_CRITERIA: "[What done looks like]"
12
+ INTENT_HASH: "[First 8 chars of SHA256(INTENT|SCOPE|SUCCESS_CRITERIA)]"
13
+ ```
14
+
15
+ Every agent invocation MUST include this block. If an agent's output does not echo back the INTENT_HASH, its results are considered unverified.
16
+
3
17
  ## Instructions
4
18
 
5
19
  1. Read the current CLAUDE.md and measure its size (line count).
@@ -27,5 +41,5 @@ Analyze and optimize CLAUDE.md for this project.
27
41
  ## Rules
28
42
  - Do NOT modify any files until I explicitly approve the proposal
29
43
  - Show the current line count and target line count
30
- - Preserve all information nothing gets deleted, only relocated
44
+ - Preserve all information. Nothing gets deleted, only relocated
31
45
  - Each skill file needs frontmatter: name, description, and relevant file patterns
@@ -16,6 +16,6 @@ Invoke the **planner** agent to create a comprehensive implementation plan befor
16
16
  ## Integration
17
17
 
18
18
  After planning, use these commands:
19
- - `/tdd` implement with test-driven development
20
- - `/build-fix` fix any build errors that come up
21
- - `/code-review` review the completed implementation
19
+ - `/tdd` - implement with test-driven development
20
+ - `/build-fix` - fix any build errors that come up
21
+ - `/code-review` - review the completed implementation
@@ -1,19 +1,57 @@
1
- Run the complete pre-PR checklist before creating a pull request.
2
-
3
- 1. Run lint: `{{LINT_COMMAND}}`
4
- 2. Run type check: `{{TYPE_CHECK_COMMAND}}`
5
- 3. Run tests: `{{TEST_COMMAND}}`
6
- 4. Check for uncommitted changes
7
- 5. Launch code-quality-reviewer agent on the PR diff
8
- 6. Launch security-reviewer agent on the PR diff
9
- 7. Check that no `.env` files or secrets are staged
10
-
11
- If all checks pass, output:
12
- - Summary of changes (files changed, lines added/removed)
13
- - Suggested PR title and description
14
- - Any warnings (non-blocking issues)
15
-
16
- If any check fails, output:
17
- - Which checks failed
18
- - How to fix each failure
19
- - Do NOT proceed with PR creation
1
+ Prepare a pull request. Quality checks (lint, tests, code review, security) already ran at commit time via the pre-commit gate. This command handles PR-specific preparation.
2
+
3
+ ## Intent Contract
4
+
5
+ Before invoking any agent, construct this block and pass it as context:
6
+
7
+ ```
8
+ INTENT_CONTRACT:
9
+ INTENT: "[User's original request verbatim]"
10
+ SCOPE: "[Files/areas to examine]"
11
+ SUCCESS_CRITERIA: "[What done looks like]"
12
+ INTENT_HASH: "[First 8 chars of SHA256(INTENT|SCOPE|SUCCESS_CRITERIA)]"
13
+ ```
14
+
15
+ Every agent invocation MUST include this block. If an agent's output does not echo back the INTENT_HASH, its results are considered unverified.
16
+
17
+ ## Step 1: Verify Commit State
18
+
19
+ 1. Check that all changes are committed (no uncommitted changes)
20
+ 2. Check that the branch is pushed to remote
21
+ 3. If there are uncommitted changes, tell the user to commit first (the pre-commit gate will handle quality checks)
22
+
23
+ ## Step 2: Review the Full PR Diff
24
+
25
+ 1. Get the base branch: `git rev-parse --abbrev-ref HEAD@{upstream} 2>/dev/null || echo main`
26
+ 2. Get the full diff: `git diff <base-branch>...HEAD`
27
+ 3. Get all commits in this branch: `git log <base-branch>..HEAD --oneline`
28
+ 4. Review the full diff for:
29
+ - Coherence: do all changes serve the same purpose?
30
+ - Completeness: are there any half-finished features?
31
+ - Any `.env` files, secrets, or debug code that slipped through
32
+
33
+ ## Step 3: Generate PR Description
34
+
35
+ Based on the diff and commit history, generate:
36
+
37
+ ```
38
+ ## Summary
39
+ <1-3 bullet points describing what changed and why>
40
+
41
+ ## Changes
42
+ <grouped list of changes by area>
43
+
44
+ ## Test plan
45
+ <bulleted checklist of what to test>
46
+ ```
47
+
48
+ ## Step 4: Create PR
49
+
50
+ Use `gh pr create` with the generated title and description.
51
+ If the user hasn't pushed yet, push first with `git push -u origin <branch>`.
52
+
53
+ ## Output
54
+
55
+ - PR URL
56
+ - Summary of what was included
57
+ - Any warnings (large diff, many files, etc.)
@@ -0,0 +1,21 @@
1
+ Run the product-strategist agent to evaluate this project against real competitors and industry best practices.
2
+
3
+ ## What This Does
4
+
5
+ The product-strategist agent will:
6
+ 1. Read your project structure, CLAUDE.md, and any product docs
7
+ 2. **Web search** for 5-7 direct competitors and best-in-class examples
8
+ 3. Evaluate your project against them across DX, API design, testing, security, observability, deployment, and docs
9
+ 4. Score each category: AHEAD, ON PAR, or BEHIND with specific competitor benchmarks
10
+ 5. Recommend strategic improvements with a prioritized roadmap
11
+
12
+ ## How To Use
13
+
14
+ Run this command. The agent will ask no questions — it researches autonomously and returns a full competitive analysis with actionable recommendations.
15
+
16
+ ## When To Use
17
+
18
+ - Before planning a new major feature (to avoid building what competitors already do better)
19
+ - Before a launch or public release (to identify gaps)
20
+ - Quarterly, to track how your project compares to the evolving landscape
21
+ - When deciding between build vs. buy for a capability
@@ -2,8 +2,8 @@ Load a saved session file and orient before doing any work.
2
2
 
3
3
  ## Process
4
4
 
5
- 1. **Find the session file** Check `docs/sessions/` for the most recent `*-session.md` file
6
- 2. **Read the entire file** Do not summarize yet
5
+ 1. **Find the session file**: Check `docs/sessions/` for the most recent `*-session.md` file
6
+ 2. **Read the entire file**: Do not summarize yet
7
7
  3. **Present a briefing** in this format:
8
8
 
9
9
  ```
@@ -33,18 +33,18 @@ NEXT STEP:
33
33
  Ready to continue. What would you like to do?
34
34
  ```
35
35
 
36
- 4. **WAIT for the user** Do NOT start working automatically
36
+ 4. **WAIT for the user**. Do NOT start working automatically
37
37
 
38
38
  ## Edge Cases
39
39
 
40
- - **No session files found** Tell the user to run `/save-session` first
41
- - **Session references deleted files** Note "⚠️ file.ts referenced but not found on disk"
42
- - **Session is > 7 days old** Note "⚠️ This session is N days old, things may have changed"
43
- - **Empty or malformed file** Report and suggest creating a new session
40
+ - **No session files found**: Tell the user to run `/save-session` first
41
+ - **Session references deleted files**: Note "file.ts referenced but not found on disk"
42
+ - **Session is > 7 days old**: Note "This session is N days old, things may have changed"
43
+ - **Empty or malformed file**: Report and suggest creating a new session
44
44
 
45
45
  ## Rules
46
46
 
47
- - Never modify the session file — it's a read-only historical record
48
- - Never skip the "What Not To Retry" section — it's the most important
47
+ - Never modify the session file. It's a read-only historical record
48
+ - Never skip the "What Not To Retry" section. It's the most important
49
49
  - Always wait for the user before starting work
50
- - If the next step is defined and the user says "continue" proceed with that exact step
50
+ - If the next step is defined and the user says "continue", proceed with that exact step