@juicesharp/rpiv-pi 0.4.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/LICENSE +21 -0
- package/README.md +178 -0
- package/agents/codebase-analyzer.md +121 -0
- package/agents/codebase-locator.md +107 -0
- package/agents/codebase-pattern-finder.md +207 -0
- package/agents/integration-scanner.md +97 -0
- package/agents/precedent-locator.md +130 -0
- package/agents/test-case-locator.md +121 -0
- package/agents/thoughts-analyzer.md +147 -0
- package/agents/thoughts-locator.md +138 -0
- package/agents/web-search-researcher.md +107 -0
- package/extensions/rpiv-core/agents.ts +312 -0
- package/extensions/rpiv-core/git-context.ts +81 -0
- package/extensions/rpiv-core/guidance.ts +213 -0
- package/extensions/rpiv-core/index.ts +275 -0
- package/extensions/rpiv-core/package-checks.ts +51 -0
- package/package.json +36 -0
- package/scripts/migrate.js +242 -0
- package/scripts/types.js +1 -0
- package/skills/annotate-guidance/SKILL.md +303 -0
- package/skills/annotate-guidance/examples/root-dotnet-clean-arch.md +38 -0
- package/skills/annotate-guidance/examples/root-nodejs-monorepo.md +42 -0
- package/skills/annotate-guidance/examples/subfolder-database-layer.md +81 -0
- package/skills/annotate-guidance/examples/subfolder-dotnet-application.md +64 -0
- package/skills/annotate-guidance/examples/subfolder-schemas-layer.md +50 -0
- package/skills/annotate-guidance/templates/root-architecture.md +46 -0
- package/skills/annotate-guidance/templates/subfolder-architecture.md +57 -0
- package/skills/annotate-inline/SKILL.md +299 -0
- package/skills/annotate-inline/examples/root-dotnet-clean-arch.md +38 -0
- package/skills/annotate-inline/examples/root-nodejs-monorepo.md +42 -0
- package/skills/annotate-inline/examples/subfolder-database-layer.md +81 -0
- package/skills/annotate-inline/examples/subfolder-dotnet-application.md +64 -0
- package/skills/annotate-inline/examples/subfolder-schemas-layer.md +50 -0
- package/skills/annotate-inline/templates/root-claude-md.md +46 -0
- package/skills/annotate-inline/templates/subfolder-claude-md.md +57 -0
- package/skills/code-review/SKILL.md +184 -0
- package/skills/commit/SKILL.md +65 -0
- package/skills/create-handoff/SKILL.md +91 -0
- package/skills/design/SKILL.md +416 -0
- package/skills/discover/SKILL.md +242 -0
- package/skills/explore/SKILL.md +261 -0
- package/skills/implement/SKILL.md +74 -0
- package/skills/migrate-to-guidance/SKILL.md +88 -0
- package/skills/outline-test-cases/SKILL.md +348 -0
- package/skills/outline-test-cases/templates/feature-meta.md +43 -0
- package/skills/outline-test-cases/templates/outline-readme.md +36 -0
- package/skills/plan/SKILL.md +281 -0
- package/skills/research/SKILL.md +304 -0
- package/skills/resume-handoff/SKILL.md +207 -0
- package/skills/revise/SKILL.md +242 -0
- package/skills/validate/SKILL.md +175 -0
- package/skills/write-test-cases/SKILL.md +322 -0
- package/skills/write-test-cases/examples/customer-auth-flow.md +50 -0
- package/skills/write-test-cases/examples/order-management-suite.md +57 -0
- package/skills/write-test-cases/examples/order-placement-flow.md +54 -0
- package/skills/write-test-cases/examples/team-management-flow.md +56 -0
- package/skills/write-test-cases/examples/team-management-suite.md +54 -0
- package/skills/write-test-cases/templates/coverage-map.md +64 -0
- package/skills/write-test-cases/templates/regression-suite.md +63 -0
- package/skills/write-test-cases/templates/test-case.md +65 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
```markdown
|
|
2
|
+
# {Feature Name} — Regression Suite
|
|
3
|
+
|
|
4
|
+
## Overview
|
|
5
|
+
- Feature: {feature name}
|
|
6
|
+
- Module: {module abbreviation}
|
|
7
|
+
- Total test cases: {N}
|
|
8
|
+
- Estimated execution: ~{X} minutes
|
|
9
|
+
- Last generated: {YYYY-MM-DD}
|
|
10
|
+
- Git commit: {commit-hash}
|
|
11
|
+
|
|
12
|
+
## Smoke Test Subset
|
|
13
|
+
{Minimum set of TCs that cover critical paths — run these for quick sanity checks}
|
|
14
|
+
|
|
15
|
+
| Priority | TC ID | Title | Est. Time |
|
|
16
|
+
|----------|-------|-------|-----------|
|
|
17
|
+
| high | TC-{MOD}-{NNN} | {title} | ~{N}m |
|
|
18
|
+
|
|
19
|
+
**Smoke total: ~{X} minutes**
|
|
20
|
+
|
|
21
|
+
## Full Regression
|
|
22
|
+
|
|
23
|
+
### High Priority
|
|
24
|
+
| TC ID | Title | Type | Est. Time |
|
|
25
|
+
|-------|-------|------|-----------|
|
|
26
|
+
| TC-{MOD}-{NNN} | {title} | {type} | ~{N}m |
|
|
27
|
+
|
|
28
|
+
### Medium Priority
|
|
29
|
+
| TC ID | Title | Type | Est. Time |
|
|
30
|
+
|-------|-------|------|-----------|
|
|
31
|
+
| TC-{MOD}-{NNN} | {title} | {type} | ~{N}m |
|
|
32
|
+
|
|
33
|
+
### Low Priority
|
|
34
|
+
| TC ID | Title | Type | Est. Time |
|
|
35
|
+
|-------|-------|------|-----------|
|
|
36
|
+
| TC-{MOD}-{NNN} | {title} | {type} | ~{N}m |
|
|
37
|
+
|
|
38
|
+
**Full regression total: ~{X} minutes**
|
|
39
|
+
|
|
40
|
+
## Coverage Map
|
|
41
|
+
{Which areas of the feature each TC exercises}
|
|
42
|
+
|
|
43
|
+
| Area | TCs Covering |
|
|
44
|
+
|------|-------------|
|
|
45
|
+
| {sub-area} | TC-{MOD}-001, TC-{MOD}-003 |
|
|
46
|
+
|
|
47
|
+
## Gaps
|
|
48
|
+
{Areas of the feature NOT covered by any test case — flagged for future work}
|
|
49
|
+
- {uncovered area — reason}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
**Smoke test subset** picks TCs that cover the highest-risk paths in minimum time. Typically 2-4 TCs per feature. A QA tester should be able to run the smoke suite in under 15 minutes.
|
|
53
|
+
|
|
54
|
+
**Execution time estimates** based on step count:
|
|
55
|
+
- Simple flow (3-5 steps): ~3 minutes
|
|
56
|
+
- Medium flow (6-10 steps): ~5 minutes
|
|
57
|
+
- Complex flow (11+ steps): ~8-10 minutes
|
|
58
|
+
|
|
59
|
+
**Coverage map** cross-references TCs against feature sub-areas. Helps QA identify which TCs to re-run when a specific area changes. Sub-areas are derived from Web Layer entry points discovered during analysis.
|
|
60
|
+
|
|
61
|
+
**Gaps section** flags areas the skill identified but chose not to generate TCs for — either explicitly excluded during checkpoint or insufficient code detail for generation.
|
|
62
|
+
|
|
63
|
+
**Git commit** tracks which code version was analyzed. Compare against current HEAD to detect when regression suite may be stale.
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
```markdown
|
|
2
|
+
---
|
|
3
|
+
id: TC-{MODULE}-{NNN}
|
|
4
|
+
title: "{flow description}"
|
|
5
|
+
feature: "{feature name}"
|
|
6
|
+
priority: high|medium|low
|
|
7
|
+
type: functional|regression|smoke|e2e|edge-case
|
|
8
|
+
status: draft
|
|
9
|
+
tags: ["{tag1}", "{tag2}"]
|
|
10
|
+
generated_at_commit: {commit-hash}
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# {Title}
|
|
14
|
+
|
|
15
|
+
## Objective
|
|
16
|
+
{What this test verifies — 1-2 sentences describing the user goal and what the test proves}
|
|
17
|
+
|
|
18
|
+
## Preconditions
|
|
19
|
+
- {User role and permissions required}
|
|
20
|
+
- {System state required before starting — e.g., "at least one product exists in catalog"}
|
|
21
|
+
- {Test data requirements — e.g., "valid credit card in Stripe test mode"}
|
|
22
|
+
- {Navigation starting point — e.g., "user is logged into Admin portal"}
|
|
23
|
+
|
|
24
|
+
## Steps
|
|
25
|
+
| # | Action | Expected Result |
|
|
26
|
+
|---|--------|-----------------|
|
|
27
|
+
| 1 | {user action — Navigate to, Click, Enter, Select, Submit} | {observable outcome — page loads, form appears, message displays} |
|
|
28
|
+
| 2 | {next user action} | {what user sees or what changes} |
|
|
29
|
+
| 3 | {next user action} | {confirmation, redirect, updated state} |
|
|
30
|
+
|
|
31
|
+
## Postconditions
|
|
32
|
+
{Side effects to verify AFTER the flow completes — sourced from domain events and integration points}
|
|
33
|
+
- {e.g., "Order confirmation email sent to customer email address"}
|
|
34
|
+
- {e.g., "Inventory quantity decremented for purchased items"}
|
|
35
|
+
- {e.g., "Audit log entry created with action 'order.created'"}
|
|
36
|
+
|
|
37
|
+
## Edge Cases
|
|
38
|
+
{Variant scenarios worth separate attention — each could become its own TC if important enough}
|
|
39
|
+
- {e.g., "Order with mixed digital and physical products"}
|
|
40
|
+
- {e.g., "Payment fails after order created — verify rollback"}
|
|
41
|
+
|
|
42
|
+
## Notes
|
|
43
|
+
- Related TCs: {cross-references to other TCs in this module}
|
|
44
|
+
- Dependencies: {external system dependencies — payment gateway, email service}
|
|
45
|
+
- Known issues: {documented bugs or limitations affecting this flow}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
**Frontmatter fields** align with what `test-case-locator` greps for (`id`, `title`, `priority`, `status`, `type`, `tags`). Always populate all fields — the locator agent extracts them for coverage reporting. The `generated_at_commit` field tracks which code version was analyzed to produce this TC — used for staleness detection on regeneration.
|
|
49
|
+
|
|
50
|
+
**Steps table rules:**
|
|
51
|
+
- Actions use imperative verbs from the user's perspective: Navigate, Click, Enter, Select, Submit, Drag, Upload, Scroll
|
|
52
|
+
- Expected results describe what the user OBSERVES — visible UI changes, messages, redirects — not internal state
|
|
53
|
+
- Keep each row to one atomic action. Multi-step actions (fill form -> submit) split into separate rows
|
|
54
|
+
- Number steps sequentially — branching flows (if X then Y) become separate TCs
|
|
55
|
+
|
|
56
|
+
**Postconditions sourced from:**
|
|
57
|
+
- Domain events (e.g., `OrderCreatedEvent` -> "confirmation email sent")
|
|
58
|
+
- Message handlers (e.g., `InventoryReservationHandler` -> "inventory reserved")
|
|
59
|
+
- Webhook dispatches (e.g., `FulfillmentWebhookPublisher` -> "fulfillment notified")
|
|
60
|
+
- Audit log entries, cache invalidations, CRM syncs
|
|
61
|
+
|
|
62
|
+
**Priority definitions:**
|
|
63
|
+
- **high**: Core happy path, payment/money flows, data integrity, security-critical
|
|
64
|
+
- **medium**: Alternative paths, common edge cases, permission boundaries
|
|
65
|
+
- **low**: Rare edge cases, cosmetic validation, error message wording
|