vibe-validate 0.19.0 → 0.19.1-rc.2
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vibe-validate",
|
|
3
|
-
"version": "0.19.
|
|
3
|
+
"version": "0.19.1-rc.2",
|
|
4
4
|
"description": "Git-aware validation orchestration for vibe coding (LLM-assisted development) - umbrella package",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -50,8 +50,8 @@
|
|
|
50
50
|
"access": "public"
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
|
-
"@vibe-validate/cli": "0.19.
|
|
54
|
-
"@vibe-validate/utils": "0.19.
|
|
53
|
+
"@vibe-validate/cli": "0.19.1-rc.2",
|
|
54
|
+
"@vibe-validate/utils": "0.19.1-rc.2"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
57
|
"@types/node": "^20.19.26",
|
package/skill/SKILL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: vibe-validate
|
|
3
|
-
version: 0.19.
|
|
3
|
+
version: 0.19.1-rc.2 # Tracks vibe-validate package version
|
|
4
4
|
description: Expert guidance for vibe-validate, an LLM-optimized validation orchestration tool. Use when working with vibe-validate commands, configuration, pre-commit workflows, or validation orchestration in TypeScript projects.
|
|
5
5
|
model: claude-sonnet-4-5
|
|
6
6
|
tools:
|
|
@@ -454,6 +454,45 @@ validation:
|
|
|
454
454
|
|
|
455
455
|
**Cache optimization**: Using `cwd` field instead of `cd` commands improves cache hit rates by 30-50% in monorepo scenarios.
|
|
456
456
|
|
|
457
|
+
#### `runScope` (optional)
|
|
458
|
+
|
|
459
|
+
Controls whether a validation step runs locally, in CI, or both. Use this when certain steps require CI-specific infrastructure (e.g., private NuGet feeds, specific SDKs) that isn't available on developer machines.
|
|
460
|
+
|
|
461
|
+
**Type**: `'ci' | 'local'`
|
|
462
|
+
|
|
463
|
+
**Default**: none (runs everywhere)
|
|
464
|
+
|
|
465
|
+
**Values**:
|
|
466
|
+
- `ci` — Step runs only in CI (detected via `CI` environment variable). Skipped locally with "skipped (ci-only)" message.
|
|
467
|
+
- `local` — Step runs only on developer machines. Skipped in CI with "skipped (local-only)" message.
|
|
468
|
+
|
|
469
|
+
**Example — .NET steps that need CI-only NuGet auth**:
|
|
470
|
+
```yaml
|
|
471
|
+
validation:
|
|
472
|
+
phases:
|
|
473
|
+
- name: 'Build & Test'
|
|
474
|
+
steps:
|
|
475
|
+
- name: 'dotnet build'
|
|
476
|
+
command: 'dotnet build MyApp.sln --no-restore'
|
|
477
|
+
runScope: ci
|
|
478
|
+
- name: 'dotnet test'
|
|
479
|
+
command: 'dotnet test MyApp.sln --no-build'
|
|
480
|
+
runScope: ci
|
|
481
|
+
- name: 'PHI scan'
|
|
482
|
+
command: 'npx phi-scan'
|
|
483
|
+
# no runScope — runs everywhere
|
|
484
|
+
```
|
|
485
|
+
|
|
486
|
+
**Skipped steps** appear in validation output as passed with zero duration, so they don't block other steps or fail the pipeline. They are visually distinct in the output:
|
|
487
|
+
```
|
|
488
|
+
⏭️ dotnet build → skipped (ci-only)
|
|
489
|
+
⏭️ dotnet test → skipped (ci-only)
|
|
490
|
+
⏳ PHI scan → npx phi-scan
|
|
491
|
+
✅ PHI scan - PASSED (3.2s)
|
|
492
|
+
```
|
|
493
|
+
|
|
494
|
+
**Difference from `continueOnError`**: `continueOnError` runs the step and ignores failure. `runScope` skips the step entirely — the command is never executed.
|
|
495
|
+
|
|
457
496
|
### `validation.failFast`
|
|
458
497
|
|
|
459
498
|
Whether to stop validation at first phase failure.
|
|
@@ -621,13 +660,147 @@ ci:
|
|
|
621
660
|
coverage: true # Upload coverage reports to Codecov
|
|
622
661
|
```
|
|
623
662
|
|
|
663
|
+
### `ci.registryUrl` (optional)
|
|
664
|
+
|
|
665
|
+
Custom npm registry URL for `actions/setup-node` in generated workflows. Use this when your project installs packages from a private registry (e.g., GitHub Packages).
|
|
666
|
+
|
|
667
|
+
**Type**: `string`
|
|
668
|
+
|
|
669
|
+
**Default**: none (uses npmjs.org default)
|
|
670
|
+
|
|
671
|
+
**Example**:
|
|
672
|
+
```yaml
|
|
673
|
+
ci:
|
|
674
|
+
registryUrl: 'https://npm.pkg.github.com'
|
|
675
|
+
```
|
|
676
|
+
|
|
677
|
+
When set, the generated workflow's `setup-node` step includes `registry-url`, which configures npm auth for the registry. Pair with `ci.env` to provide the authentication token.
|
|
678
|
+
|
|
679
|
+
**Note**: This sets auth for **one** registry. If your project uses scoped packages (e.g., `@myorg/pkg`), npm routes scoped packages to the registry specified in your `.npmrc` while unscoped packages still come from npmjs.org. For multiple authenticated registries, use `ci.setupSteps` to write a custom `.npmrc` instead.
|
|
680
|
+
|
|
681
|
+
### `ci.env` (optional)
|
|
682
|
+
|
|
683
|
+
Environment variables added at workflow level in generated workflows. All steps (install, build, validate) inherit these.
|
|
684
|
+
|
|
685
|
+
**Type**: `Record<string, string>`
|
|
686
|
+
|
|
687
|
+
**Default**: none
|
|
688
|
+
|
|
689
|
+
**Example**:
|
|
690
|
+
```yaml
|
|
691
|
+
ci:
|
|
692
|
+
env:
|
|
693
|
+
NODE_AUTH_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
|
|
694
|
+
```
|
|
695
|
+
|
|
696
|
+
**Common use case**: GitHub Packages authentication. When `ci.registryUrl` is set, `npm ci` needs `NODE_AUTH_TOKEN` to authenticate:
|
|
697
|
+
|
|
698
|
+
```yaml
|
|
699
|
+
ci:
|
|
700
|
+
registryUrl: 'https://npm.pkg.github.com'
|
|
701
|
+
env:
|
|
702
|
+
NODE_AUTH_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
|
|
703
|
+
```
|
|
704
|
+
|
|
705
|
+
### `ci.permissions` (optional)
|
|
706
|
+
|
|
707
|
+
GitHub Actions `permissions:` block for the generated workflow. Scopes the `GITHUB_TOKEN` to minimum required permissions.
|
|
708
|
+
|
|
709
|
+
**Type**: `Record<string, string>`
|
|
710
|
+
|
|
711
|
+
**Default**: none (uses org/repo default permissions)
|
|
712
|
+
|
|
713
|
+
**Example**:
|
|
714
|
+
```yaml
|
|
715
|
+
ci:
|
|
716
|
+
permissions:
|
|
717
|
+
contents: read
|
|
718
|
+
packages: read
|
|
719
|
+
```
|
|
720
|
+
|
|
721
|
+
**When to use**: If your org has restrictive default token permissions, or your workflow needs `packages: read` for GitHub Packages access.
|
|
722
|
+
|
|
723
|
+
### `ci.concurrency` (optional)
|
|
724
|
+
|
|
725
|
+
Concurrency settings to cancel in-progress CI runs when new commits are pushed.
|
|
726
|
+
|
|
727
|
+
**Type**: `object`
|
|
728
|
+
- `group` (required): Concurrency group expression
|
|
729
|
+
- `cancelInProgress` (optional): Whether to cancel in-progress runs (default: `false`)
|
|
730
|
+
|
|
731
|
+
**Example**:
|
|
732
|
+
```yaml
|
|
733
|
+
ci:
|
|
734
|
+
concurrency:
|
|
735
|
+
group: '${{ github.workflow }}-${{ github.ref }}'
|
|
736
|
+
cancelInProgress: true
|
|
737
|
+
```
|
|
738
|
+
|
|
739
|
+
This prevents wasted CI minutes when pushing multiple commits to a PR branch in quick succession.
|
|
740
|
+
|
|
741
|
+
### `ci.setupSteps` (optional)
|
|
742
|
+
|
|
743
|
+
Custom GitHub Actions steps injected into the generated workflow after `actions/checkout` but before Node.js setup. Use this for additional SDK setup, tool installation, or registry configuration that vibe-validate doesn't handle natively.
|
|
744
|
+
|
|
745
|
+
**Type**: Array of GitHub Actions step objects (passed through as-is to YAML)
|
|
746
|
+
|
|
747
|
+
**Default**: none
|
|
748
|
+
|
|
749
|
+
**Example — .NET + Node.js project**:
|
|
750
|
+
```yaml
|
|
751
|
+
ci:
|
|
752
|
+
setupSteps:
|
|
753
|
+
- uses: 'actions/setup-dotnet@v4'
|
|
754
|
+
with:
|
|
755
|
+
dotnet-version: '9.0.x'
|
|
756
|
+
- name: 'NuGet auth (Telerik)'
|
|
757
|
+
run: 'dotnet nuget update source "Telerik" --username "api-key" --password "${{ secrets.TELERIK_NUGET_KEY }}" --store-password-in-clear-text'
|
|
758
|
+
```
|
|
759
|
+
|
|
760
|
+
**Example — Chrome for Karma tests on Linux**:
|
|
761
|
+
```yaml
|
|
762
|
+
ci:
|
|
763
|
+
setupSteps:
|
|
764
|
+
- name: 'Install Chrome for Karma'
|
|
765
|
+
run: 'sudo apt-get update && sudo apt-get install -y chromium-browser'
|
|
766
|
+
if: "runner.os == 'Linux'"
|
|
767
|
+
```
|
|
768
|
+
|
|
769
|
+
**Example — Multiple authenticated npm registries**:
|
|
770
|
+
```yaml
|
|
771
|
+
ci:
|
|
772
|
+
setupSteps:
|
|
773
|
+
- name: 'Configure npm registries'
|
|
774
|
+
run: |
|
|
775
|
+
echo "@myorg:registry=https://npm.pkg.github.com" >> .npmrc
|
|
776
|
+
echo "//npm.pkg.github.com/:_authToken=${{ secrets.GITHUB_TOKEN }}" >> .npmrc
|
|
777
|
+
echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" >> .npmrc
|
|
778
|
+
```
|
|
779
|
+
|
|
780
|
+
Steps are injected in array order. Supports all GitHub Actions step properties (`uses`, `with`, `run`, `if`, `env`, `name`, etc.).
|
|
781
|
+
|
|
624
782
|
**Complete CI Example**:
|
|
625
783
|
```yaml
|
|
626
784
|
ci:
|
|
627
|
-
nodeVersions: ['
|
|
628
|
-
os: ['ubuntu-latest', 'macos-latest']
|
|
785
|
+
nodeVersions: ['22']
|
|
786
|
+
os: ['ubuntu-latest', 'macos-latest', 'windows-latest']
|
|
629
787
|
failFast: false
|
|
630
|
-
|
|
788
|
+
registryUrl: 'https://npm.pkg.github.com'
|
|
789
|
+
env:
|
|
790
|
+
NODE_AUTH_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
|
|
791
|
+
permissions:
|
|
792
|
+
contents: read
|
|
793
|
+
packages: read
|
|
794
|
+
concurrency:
|
|
795
|
+
group: '${{ github.workflow }}-${{ github.ref }}'
|
|
796
|
+
cancelInProgress: true
|
|
797
|
+
setupSteps:
|
|
798
|
+
- uses: 'actions/setup-dotnet@v4'
|
|
799
|
+
with:
|
|
800
|
+
dotnet-version: '9.0.x'
|
|
801
|
+
- name: 'Install Chrome'
|
|
802
|
+
run: 'sudo apt-get install -y chromium-browser'
|
|
803
|
+
if: "runner.os == 'Linux'"
|
|
631
804
|
```
|
|
632
805
|
|
|
633
806
|
## Hooks Configuration
|