vouchington-tooling 0.1.8 → 0.2.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 (64) hide show
  1. package/README.md +22 -5
  2. package/dist/cli/commands/link-skill.d.mts +5 -0
  3. package/dist/cli/commands/link-skill.mjs +6 -0
  4. package/dist/cli/index.mjs +3 -0
  5. package/dist/cli/parse.d.mts +5 -0
  6. package/dist/cli/parse.mjs +25 -0
  7. package/dist/cli/usage.d.mts +1 -1
  8. package/dist/cli/usage.mjs +2 -0
  9. package/dist/gha-post-review/github.d.mts +2 -0
  10. package/dist/gha-post-review/github.mjs +47 -5
  11. package/dist/gha-post-review/post.mjs +6 -1
  12. package/dist/index.d.mts +2 -0
  13. package/dist/index.mjs +1 -0
  14. package/dist/pnpm-install/index.d.mts +2 -1
  15. package/dist/pnpm-install/index.mjs +2 -1
  16. package/dist/pnpm-install/install-operations.d.mts +4 -0
  17. package/dist/pnpm-install/install-operations.mjs +38 -0
  18. package/dist/pnpm-install/metadata-legacy.d.mts +4 -0
  19. package/dist/pnpm-install/metadata-legacy.mjs +81 -0
  20. package/dist/pnpm-install/metadata.d.mts +16 -3
  21. package/dist/pnpm-install/metadata.mjs +103 -36
  22. package/dist/pnpm-install/pending-builds.d.mts +17 -0
  23. package/dist/pnpm-install/pending-builds.mjs +87 -0
  24. package/dist/pnpm-install/pnpm-install-fake-pnpm.test-helpers.d.mts +1 -0
  25. package/dist/pnpm-install/pnpm-install-fake-pnpm.test-helpers.mjs +52 -0
  26. package/dist/pnpm-install/pnpm-install-fixture.test-helpers.mjs +6 -40
  27. package/dist/pnpm-install/runner.mjs +72 -56
  28. package/dist/pnpm-install/transition.d.mts +23 -0
  29. package/dist/pnpm-install/transition.mjs +36 -0
  30. package/dist/skill-discovery/index.d.mts +12 -0
  31. package/dist/skill-discovery/index.mjs +64 -0
  32. package/dist/skill-discovery/manifest.d.mts +15 -0
  33. package/dist/skill-discovery/manifest.mjs +85 -0
  34. package/dist/skill-discovery/target-directory.d.mts +10 -0
  35. package/dist/skill-discovery/target-directory.mjs +126 -0
  36. package/package.json +6 -1
  37. package/scripts/build.mjs +16 -4
  38. package/skills/agent-workflow/SKILL.md +5 -0
  39. package/skills/agent-workflow/references/evidence-sweep.md +8 -0
  40. package/skills/agent-workflow/references/implementation-and-review.md +9 -0
  41. package/skills/agent-workflow/references/implementation.md +8 -0
  42. package/skills/agent-workflow/references/review.md +7 -0
  43. package/skills/backend-vitest-test-authoring/SKILL.md +15 -0
  44. package/skills/backend-vitest-test-authoring/references/integration-boundaries.md +10 -0
  45. package/skills/dotnet-test-authoring/SKILL.md +16 -0
  46. package/skills/manifest.json +158 -0
  47. package/skills/nextjs-vitest-test-authoring/SKILL.md +15 -0
  48. package/skills/nextjs-vitest-test-authoring/references/framework-boundaries.md +9 -0
  49. package/skills/planning/SKILL.md +3 -0
  50. package/skills/planning/references/impact-discovery.md +9 -0
  51. package/skills/playwright-authoring/SKILL.md +15 -0
  52. package/skills/playwright-authoring/references/browser-reliability.md +9 -0
  53. package/skills/postgres-node-performance-tuning/SKILL.md +15 -0
  54. package/skills/postgres-node-performance-tuning/references/performance-patterns.md +14 -0
  55. package/skills/postgres-partitioning-uuid-v7/SKILL.md +16 -0
  56. package/skills/postgres-partitioning-uuid-v7/references/partition-lifecycle.md +14 -0
  57. package/skills/storybook-authoring/SKILL.md +15 -0
  58. package/skills/storybook-authoring/references/component-coverage.md +9 -0
  59. package/skills/swift-test-authoring/SKILL.md +15 -0
  60. package/skills/swift-test-authoring/references/network-test-doubles.md +9 -0
  61. package/skills/test-authoring/SKILL.md +17 -0
  62. package/skills/test-authoring/references/core-practice.md +10 -0
  63. package/skills/vitest-test-authoring/SKILL.md +15 -0
  64. package/skills/vitest-test-authoring/references/mock-boundaries.md +9 -0
@@ -0,0 +1,15 @@
1
+ ---
2
+ name: playwright-authoring
3
+ description: Author reliable Playwright browser tests, fixtures, selectors, and user flows.
4
+ ---
5
+
6
+ # Playwright authoring
7
+
8
+ Use stable, accessible locators and assert user-observable outcomes. Establish data, authentication,
9
+ and server state through supported fixtures or APIs; do not rely on test ordering or arbitrary waits.
10
+ Keep each scenario independently repeatable, use auto-waiting assertions, and capture diagnostics on
11
+ failure. Prefer browser coverage for real browser interactions rather than duplicating unit tests.
12
+
13
+ Consumer wrappers own environments, credentials, personas, fixtures, and suite commands.
14
+
15
+ Read [browser reliability](references/browser-reliability.md) for locator, waiting, state, and network rules.
@@ -0,0 +1,9 @@
1
+ # Browser reliability
2
+
3
+ Use the browser only for browser-owned behavior. Prefer stable accessibility or test-id locators,
4
+ scope repeated content, and assert visible outcomes. Never use arbitrary sleeps; wait for a precise
5
+ URL, request, response, DOM state, or user-visible completion signal.
6
+
7
+ Seed deterministic data and establish authentication through supported fixtures. Mock network only
8
+ for third-party behavior, fault injection, streaming, or conditions impossible to seed. Register
9
+ response waits before triggering mutations, and make each scenario independent of prior state.
@@ -0,0 +1,15 @@
1
+ ---
2
+ name: postgres-node-performance-tuning
3
+ description: Diagnose and improve PostgreSQL performance in Node.js applications with large data volumes.
4
+ ---
5
+
6
+ # PostgreSQL and Node.js performance
7
+
8
+ Measure query plans and workload shape before changing code. Select only required columns, bound
9
+ result sets, paginate or stream large reads, batch writes within explicit transaction limits, and
10
+ keep connection-pool usage bounded. Validate query changes with representative cardinality and
11
+ watch latency, memory, lock time, and connection pressure together.
12
+
13
+ Consumer wrappers own schema ownership, operational thresholds, pooling configuration, and rollout.
14
+
15
+ Read [performance patterns](references/performance-patterns.md) before changing high-volume paths.
@@ -0,0 +1,14 @@
1
+ # Performance patterns
2
+
3
+ Use pools and release checked-out clients in `finally`, especially for cursors, streams, and COPY.
4
+ Route ordinary reads to a replica when its lag is acceptable; route read-after-write, locking, and
5
+ transaction-consistent reads to the writer. Do not hold a client across unrelated application work.
6
+
7
+ For large reads, use keyset pagination, cursors, or streams with cancellation and bounded batches.
8
+ For writes, prefer set-based batches such as UNNEST or COPY when they preserve validation and error
9
+ handling. Measure query plans with representative cardinality before changing an index or query.
10
+
11
+ Check query predicates, joins, ordering, and selected columns against index shape. Use EXPLAIN
12
+ evidence to confirm planner behavior. Add extended statistics only when observed estimates show a
13
+ correlation problem; verify the statistics are collected and used. Partitioning can reduce scanned
14
+ data, but it does not replace suitable local indexes or predicates that permit pruning.
@@ -0,0 +1,16 @@
1
+ ---
2
+ name: postgres-partitioning-uuid-v7
3
+ description: Design PostgreSQL partitions and indexes that use time-ordered UUIDv7 identifiers efficiently.
4
+ ---
5
+
6
+ # PostgreSQL partitioning with UUIDv7
7
+
8
+ Partition only after confirming lifecycle, retention, and query predicates benefit from it. Treat a
9
+ UUIDv7 as time ordered but not as a replacement for explicit business timestamps where semantics
10
+ matter. Align partition keys, primary keys, indexes, constraints, and query predicates so partition
11
+ pruning is observable. Plan creation, retention, migration, and verification as one deployable
12
+ lifecycle, including rollback and independent-reader compatibility.
13
+
14
+ Consumer wrappers own partition intervals, migration tooling, retention policy, and deploy sequencing.
15
+
16
+ Read [partition lifecycle](references/partition-lifecycle.md) before a schema or retention migration.
@@ -0,0 +1,14 @@
1
+ # Partition lifecycle
2
+
3
+ UUIDv7 ordering supports range bounds and index-friendly time windows. Generate bounds from time
4
+ instead of extracting timestamps in predicates; use a generated timestamp only when application
5
+ semantics require one. Partition on the range key that queries and retention actually constrain.
6
+
7
+ Create future ranges before writes need them and maintain a default partition only with an explicit
8
+ attachment plan. Before attaching a populated range, prove the default partition excludes that range
9
+ or move conflicting rows; otherwise attachment can scan and lock the default partition.
10
+
11
+ Every primary or unique constraint on a partitioned table must include its partition key. Verify
12
+ pruning with predicates on that key, including joins whose other side needs an equivalent range
13
+ condition. UUIDv7 values are time ordered, not a promise that independently generated identifiers
14
+ have a strict ordering relationship.
@@ -0,0 +1,15 @@
1
+ ---
2
+ name: storybook-authoring
3
+ description: Add maintainable Storybook stories and browser-mode component coverage.
4
+ ---
5
+
6
+ # Storybook authoring
7
+
8
+ Create stories that show meaningful supported states with realistic args and fixtures. Keep story
9
+ data local and deterministic, expose important visual or interaction variants, and add browser-mode
10
+ coverage where it catches behavior unavailable to unit tests. Do not use stories as a substitute for
11
+ end-to-end setup or production data handling.
12
+
13
+ Consumer wrappers own Storybook configuration, exclusions, visual baselines, and commands.
14
+
15
+ Read [component coverage](references/component-coverage.md) for direct stories and browser isolation.
@@ -0,0 +1,9 @@
1
+ # Component coverage
2
+
3
+ Keep a direct story for each supported reusable component state. When a component needs server-only
4
+ modules, request context, or browser-hostile imports, isolate the presentational surface or alias the
5
+ boundary to a deterministic fixture. Test interactive story behavior in browser mode when it owns
6
+ the component contract.
7
+
8
+ Allow story discovery to follow the consumer's module graph and glob configuration. Do not hand
9
+ maintain duplicate registration lists or make module-top-level browser assumptions.
@@ -0,0 +1,15 @@
1
+ ---
2
+ name: swift-test-authoring
3
+ description: Add Swift and SwiftUI tests with deterministic state, networking, and view inspection.
4
+ ---
5
+
6
+ # Swift test authoring
7
+
8
+ Test public behavior with deterministic inputs and injected dependencies. For SwiftUI, inspect or
9
+ interact through the project's supported test approach; for networking, use a protocol-level test
10
+ double and keep request/response synchronization explicit. Avoid sleeps and global state, and keep
11
+ fixtures small enough to make failures readable.
12
+
13
+ Consumer wrappers own test targets, coverage thresholds, view-inspection libraries, and fixture APIs.
14
+
15
+ Read [network test doubles](references/network-test-doubles.md) for cancellation and shared-state safety.
@@ -0,0 +1,9 @@
1
+ # Network test doubles
2
+
3
+ Delayed URLProtocol callbacks must honor `stopLoading()`: guard delivery with synchronized stopped
4
+ state so cancellation cannot call a released client. Keep shared response and captured-request state
5
+ private behind one synchronization boundary, reset related fields atomically, and expose coherent
6
+ snapshots for assertions.
7
+
8
+ Avoid sleeping to coordinate tests. Inject scheduling or await explicit completion so networking,
9
+ view state, and cancellation remain deterministic under parallel execution.
@@ -0,0 +1,17 @@
1
+ ---
2
+ name: test-authoring
3
+ description: Write focused, maintainable tests and test fixtures for application or library behavior.
4
+ ---
5
+
6
+ # Test authoring
7
+
8
+ Use the repository's test conventions and runner skill. Test observable behavior, boundary failures,
9
+ and regressions rather than implementation details. Build fixtures through public constructors or
10
+ documented helpers; keep data minimal, explicit, and representative. Add a focused failing test
11
+ before a behavior change when practical, then run the narrowest relevant test and required checks.
12
+
13
+ Do not invent project test commands, coverage targets, mock libraries, or integration environments.
14
+ A consumer wrapper owns those choices.
15
+
16
+ Read [core practice](references/core-practice.md) for the shared boundary, completion, and evidence
17
+ rules before choosing a runner-specific approach.
@@ -0,0 +1,10 @@
1
+ # Core test practice
2
+
3
+ Choose the lowest realistic boundary that can observe the contract. Mock external systems and
4
+ uncontrolled infrastructure; exercise internal module composition where practical. Test behavior,
5
+ failure paths, authorization, and security-relevant validation rather than private calls.
6
+
7
+ Start with a failing test when the behavior is testable. Finish only when the production path, its
8
+ public contract, documentation, and generated artifacts move together. Do not leave placeholders or
9
+ test-only production branches. For every acceptance criterion, retain evidence from a focused test,
10
+ review, or explicitly justified manual check.
@@ -0,0 +1,15 @@
1
+ ---
2
+ name: vitest-test-authoring
3
+ description: Apply Vitest-specific patterns when adding or changing Vitest tests, mocks, or fixtures.
4
+ ---
5
+
6
+ # Vitest test authoring
7
+
8
+ Apply [test-authoring](../test-authoring/SKILL.md) first. Keep tests isolated with Vitest lifecycle
9
+ hooks, restore spies and globals after each test, and prefer deterministic async assertions over
10
+ timing waits. Mock external boundaries rather than modules under test, and use typed factories when
11
+ the project supplies them. Run the selected file or project before broader validation.
12
+
13
+ Consumer wrappers own project selection, mock boundaries, fixture names, and coverage policy.
14
+
15
+ Read [mock boundaries](references/mock-boundaries.md) when adding module mocks or changing exports.
@@ -0,0 +1,9 @@
1
+ # Mock boundaries
2
+
3
+ Mock providers, transports, clocks, and environment boundaries rather than application modules.
4
+ When a module mock is necessary, preserve its runtime export shape, type the factory against the
5
+ real module, and spread actual exports unless omission is intentional. Update static factories when
6
+ the mocked module gains an export.
7
+
8
+ Prefer spies or dependency injection for a narrow seam. Restore mocks, environment, and globals
9
+ after each test so a test cannot alter another test's module graph or process state.