@oddessentials/repo-standards 2.0.1 → 2.1.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 +3 -2
- package/dist/config/standards.csharp-dotnet.azure-devops.json +42 -38
- package/dist/config/standards.csharp-dotnet.github-actions.json +42 -38
- package/dist/config/standards.csharp-dotnet.json +42 -38
- package/dist/config/standards.go.azure-devops.json +42 -38
- package/dist/config/standards.go.github-actions.json +42 -38
- package/dist/config/standards.go.json +42 -38
- package/dist/config/standards.json +90 -41
- package/dist/config/standards.python.azure-devops.json +42 -38
- package/dist/config/standards.python.github-actions.json +42 -38
- package/dist/config/standards.python.json +42 -38
- package/dist/config/standards.rust.azure-devops.json +46 -41
- package/dist/config/standards.rust.github-actions.json +46 -41
- package/dist/config/standards.rust.json +46 -41
- package/dist/config/standards.schema.json +497 -0
- package/dist/config/standards.typescript-js.azure-devops.json +42 -38
- package/dist/config/standards.typescript-js.github-actions.json +42 -38
- package/dist/config/standards.typescript-js.json +42 -38
- package/dist/types.d.ts +120 -4
- package/dist/types.d.ts.map +1 -1
- package/package.json +8 -4
package/README.md
CHANGED
|
@@ -68,7 +68,7 @@ The master spec includes a `meta` block that defines system-wide expectations:
|
|
|
68
68
|
|
|
69
69
|
## Structure of `config/standards.json`
|
|
70
70
|
|
|
71
|
-
- `version` — schema version (currently `
|
|
71
|
+
- `version` — schema version (currently `3`)
|
|
72
72
|
- `meta` — global rules and migration policy
|
|
73
73
|
- `ciSystems` — supported CI platforms
|
|
74
74
|
_(currently `github-actions`, `azure-devops`)_
|
|
@@ -102,6 +102,7 @@ The `version` field indicates schema compatibility:
|
|
|
102
102
|
|
|
103
103
|
- `1` — Original schema
|
|
104
104
|
- `2` — Adds `bazelHints`, `meta.bazelIntegration` for Bazel support, `anyOfFiles`, `pinningNotes`
|
|
105
|
+
- `3` — Enforces strict validation with `additionalProperties: false`. Adds enforcement/severity levels, ratio-based coverage thresholds, Rust/Go stacks, and refactors `bazelIntegration` → `executorHints.bazel`
|
|
105
106
|
|
|
106
107
|
Consumers should ignore unknown fields for forward compatibility.
|
|
107
108
|
|
|
@@ -217,7 +218,7 @@ build:ci --test_output=errors
|
|
|
217
218
|
To disable Bazel hints for a repo that contains Bazel files but uses npm for quality checks:
|
|
218
219
|
|
|
219
220
|
```json
|
|
220
|
-
{ "meta": { "
|
|
221
|
+
{ "meta": { "executorHints": { "bazel": { "enabled": false } } } }
|
|
221
222
|
```
|
|
222
223
|
|
|
223
224
|
---
|
|
@@ -561,48 +561,52 @@
|
|
|
561
561
|
"azure-devops"
|
|
562
562
|
],
|
|
563
563
|
"meta": {
|
|
564
|
-
"bazelIntegration": {
|
|
565
|
-
"advisoryNotice": "bazelHints are suggestions, not required execution paths. Consumers should prefer stack-native commands unless explicitly adopting Bazel.",
|
|
566
|
-
"ciContract": {
|
|
567
|
-
"configFlag": "--config=ci (define in .bazelrc)",
|
|
568
|
-
"deterministicFlags": [
|
|
569
|
-
"--nokeep_going",
|
|
570
|
-
"--test_output=errors"
|
|
571
|
-
],
|
|
572
|
-
"remoteCache": "Optional; not required for CI",
|
|
573
|
-
"versionPinning": "Use .bazelversion file for Bazelisk"
|
|
574
|
-
},
|
|
575
|
-
"description": "Bazel build executor support for quality checks. All hints are ADVISORY—stack-native commands remain the default execution path.",
|
|
576
|
-
"detectionRules": {
|
|
577
|
-
"notes": "Detection uses repo-root markers only. Nested BUILD files do not trigger Bazel mode.",
|
|
578
|
-
"optionalMarkers": [
|
|
579
|
-
".bazelrc",
|
|
580
|
-
".bazelversion"
|
|
581
|
-
],
|
|
582
|
-
"rootMarkers": [
|
|
583
|
-
"MODULE.bazel",
|
|
584
|
-
"WORKSPACE.bazel",
|
|
585
|
-
"WORKSPACE"
|
|
586
|
-
]
|
|
587
|
-
},
|
|
588
|
-
"optOut": {
|
|
589
|
-
"configPath": "meta.bazelIntegration.enabled",
|
|
590
|
-
"description": "Set meta.bazelIntegration.enabled = false in repo config to disable Bazel hints"
|
|
591
|
-
},
|
|
592
|
-
"targetConventions": {
|
|
593
|
-
"build": "bazel build //...",
|
|
594
|
-
"coverage": "bazel coverage //...",
|
|
595
|
-
"description": "Recommended target naming (not assumed to exist). These are illustrative patterns; actual targets are repo-defined.",
|
|
596
|
-
"format": "bazel run //tools/format:check",
|
|
597
|
-
"lint": "//tools/lint:lint or bazel test //... with lint aspects",
|
|
598
|
-
"test": "bazel test //..."
|
|
599
|
-
}
|
|
600
|
-
},
|
|
601
564
|
"complexityChecks": {
|
|
602
565
|
"description": "When supported by the stack, run cyclomatic complexity or similar metrics in CI as a warning-only check initially.",
|
|
603
566
|
"enabledByDefault": true
|
|
604
567
|
},
|
|
568
|
+
"coverageThresholdDescription": "Expressed as a ratio (0-1), e.g., 0.8 = 80% coverage. Must be between 0 and 1.",
|
|
569
|
+
"coverageThresholdUnit": "ratio",
|
|
605
570
|
"defaultCoverageThreshold": 0.8,
|
|
571
|
+
"executorHints": {
|
|
572
|
+
"bazel": {
|
|
573
|
+
"advisoryNotice": "bazelHints are suggestions, not required execution paths. Consumers should prefer stack-native commands unless explicitly adopting Bazel.",
|
|
574
|
+
"ciContract": {
|
|
575
|
+
"configFlag": "--config=ci (define in .bazelrc)",
|
|
576
|
+
"deterministicFlags": [
|
|
577
|
+
"--nokeep_going",
|
|
578
|
+
"--test_output=errors"
|
|
579
|
+
],
|
|
580
|
+
"remoteCache": "Optional; not required for CI",
|
|
581
|
+
"versionPinning": "Use .bazelversion file for Bazelisk"
|
|
582
|
+
},
|
|
583
|
+
"detectionRules": {
|
|
584
|
+
"notes": "Detection uses repo-root markers only. Nested BUILD files do not trigger Bazel mode.",
|
|
585
|
+
"optionalMarkers": [
|
|
586
|
+
".bazelrc",
|
|
587
|
+
".bazelversion"
|
|
588
|
+
],
|
|
589
|
+
"rootMarkers": [
|
|
590
|
+
"MODULE.bazel",
|
|
591
|
+
"WORKSPACE.bazel",
|
|
592
|
+
"WORKSPACE"
|
|
593
|
+
]
|
|
594
|
+
},
|
|
595
|
+
"optOut": {
|
|
596
|
+
"configPath": "meta.executorHints.bazel.enabled",
|
|
597
|
+
"description": "Set meta.executorHints.bazel.enabled = false in repo config to disable Bazel hints"
|
|
598
|
+
},
|
|
599
|
+
"targetConventions": {
|
|
600
|
+
"build": "bazel build //...",
|
|
601
|
+
"coverage": "bazel coverage //...",
|
|
602
|
+
"description": "Recommended target naming (not assumed to exist). These are illustrative patterns; actual targets are repo-defined.",
|
|
603
|
+
"format": "bazel run //tools/format:check",
|
|
604
|
+
"lint": "//tools/lint:lint or bazel test //... with lint aspects",
|
|
605
|
+
"test": "bazel test //..."
|
|
606
|
+
}
|
|
607
|
+
},
|
|
608
|
+
"description": "Advisory execution substrate hints. Bazel is the first supported executor; future monorepo executors may follow the same pattern."
|
|
609
|
+
},
|
|
606
610
|
"migrationGuide": [
|
|
607
611
|
{
|
|
608
612
|
"description": "Start by adding pre-commit hooks and core formatting/linting so developers get fast feedback without touching CI.",
|
|
@@ -662,5 +666,5 @@
|
|
|
662
666
|
},
|
|
663
667
|
"stack": "csharp-dotnet",
|
|
664
668
|
"stackLabel": "C# / .NET",
|
|
665
|
-
"version":
|
|
669
|
+
"version": 3
|
|
666
670
|
}
|
|
@@ -561,48 +561,52 @@
|
|
|
561
561
|
"github-actions"
|
|
562
562
|
],
|
|
563
563
|
"meta": {
|
|
564
|
-
"bazelIntegration": {
|
|
565
|
-
"advisoryNotice": "bazelHints are suggestions, not required execution paths. Consumers should prefer stack-native commands unless explicitly adopting Bazel.",
|
|
566
|
-
"ciContract": {
|
|
567
|
-
"configFlag": "--config=ci (define in .bazelrc)",
|
|
568
|
-
"deterministicFlags": [
|
|
569
|
-
"--nokeep_going",
|
|
570
|
-
"--test_output=errors"
|
|
571
|
-
],
|
|
572
|
-
"remoteCache": "Optional; not required for CI",
|
|
573
|
-
"versionPinning": "Use .bazelversion file for Bazelisk"
|
|
574
|
-
},
|
|
575
|
-
"description": "Bazel build executor support for quality checks. All hints are ADVISORY—stack-native commands remain the default execution path.",
|
|
576
|
-
"detectionRules": {
|
|
577
|
-
"notes": "Detection uses repo-root markers only. Nested BUILD files do not trigger Bazel mode.",
|
|
578
|
-
"optionalMarkers": [
|
|
579
|
-
".bazelrc",
|
|
580
|
-
".bazelversion"
|
|
581
|
-
],
|
|
582
|
-
"rootMarkers": [
|
|
583
|
-
"MODULE.bazel",
|
|
584
|
-
"WORKSPACE.bazel",
|
|
585
|
-
"WORKSPACE"
|
|
586
|
-
]
|
|
587
|
-
},
|
|
588
|
-
"optOut": {
|
|
589
|
-
"configPath": "meta.bazelIntegration.enabled",
|
|
590
|
-
"description": "Set meta.bazelIntegration.enabled = false in repo config to disable Bazel hints"
|
|
591
|
-
},
|
|
592
|
-
"targetConventions": {
|
|
593
|
-
"build": "bazel build //...",
|
|
594
|
-
"coverage": "bazel coverage //...",
|
|
595
|
-
"description": "Recommended target naming (not assumed to exist). These are illustrative patterns; actual targets are repo-defined.",
|
|
596
|
-
"format": "bazel run //tools/format:check",
|
|
597
|
-
"lint": "//tools/lint:lint or bazel test //... with lint aspects",
|
|
598
|
-
"test": "bazel test //..."
|
|
599
|
-
}
|
|
600
|
-
},
|
|
601
564
|
"complexityChecks": {
|
|
602
565
|
"description": "When supported by the stack, run cyclomatic complexity or similar metrics in CI as a warning-only check initially.",
|
|
603
566
|
"enabledByDefault": true
|
|
604
567
|
},
|
|
568
|
+
"coverageThresholdDescription": "Expressed as a ratio (0-1), e.g., 0.8 = 80% coverage. Must be between 0 and 1.",
|
|
569
|
+
"coverageThresholdUnit": "ratio",
|
|
605
570
|
"defaultCoverageThreshold": 0.8,
|
|
571
|
+
"executorHints": {
|
|
572
|
+
"bazel": {
|
|
573
|
+
"advisoryNotice": "bazelHints are suggestions, not required execution paths. Consumers should prefer stack-native commands unless explicitly adopting Bazel.",
|
|
574
|
+
"ciContract": {
|
|
575
|
+
"configFlag": "--config=ci (define in .bazelrc)",
|
|
576
|
+
"deterministicFlags": [
|
|
577
|
+
"--nokeep_going",
|
|
578
|
+
"--test_output=errors"
|
|
579
|
+
],
|
|
580
|
+
"remoteCache": "Optional; not required for CI",
|
|
581
|
+
"versionPinning": "Use .bazelversion file for Bazelisk"
|
|
582
|
+
},
|
|
583
|
+
"detectionRules": {
|
|
584
|
+
"notes": "Detection uses repo-root markers only. Nested BUILD files do not trigger Bazel mode.",
|
|
585
|
+
"optionalMarkers": [
|
|
586
|
+
".bazelrc",
|
|
587
|
+
".bazelversion"
|
|
588
|
+
],
|
|
589
|
+
"rootMarkers": [
|
|
590
|
+
"MODULE.bazel",
|
|
591
|
+
"WORKSPACE.bazel",
|
|
592
|
+
"WORKSPACE"
|
|
593
|
+
]
|
|
594
|
+
},
|
|
595
|
+
"optOut": {
|
|
596
|
+
"configPath": "meta.executorHints.bazel.enabled",
|
|
597
|
+
"description": "Set meta.executorHints.bazel.enabled = false in repo config to disable Bazel hints"
|
|
598
|
+
},
|
|
599
|
+
"targetConventions": {
|
|
600
|
+
"build": "bazel build //...",
|
|
601
|
+
"coverage": "bazel coverage //...",
|
|
602
|
+
"description": "Recommended target naming (not assumed to exist). These are illustrative patterns; actual targets are repo-defined.",
|
|
603
|
+
"format": "bazel run //tools/format:check",
|
|
604
|
+
"lint": "//tools/lint:lint or bazel test //... with lint aspects",
|
|
605
|
+
"test": "bazel test //..."
|
|
606
|
+
}
|
|
607
|
+
},
|
|
608
|
+
"description": "Advisory execution substrate hints. Bazel is the first supported executor; future monorepo executors may follow the same pattern."
|
|
609
|
+
},
|
|
606
610
|
"migrationGuide": [
|
|
607
611
|
{
|
|
608
612
|
"description": "Start by adding pre-commit hooks and core formatting/linting so developers get fast feedback without touching CI.",
|
|
@@ -662,5 +666,5 @@
|
|
|
662
666
|
},
|
|
663
667
|
"stack": "csharp-dotnet",
|
|
664
668
|
"stackLabel": "C# / .NET",
|
|
665
|
-
"version":
|
|
669
|
+
"version": 3
|
|
666
670
|
}
|
|
@@ -630,48 +630,52 @@
|
|
|
630
630
|
"github-actions"
|
|
631
631
|
],
|
|
632
632
|
"meta": {
|
|
633
|
-
"bazelIntegration": {
|
|
634
|
-
"advisoryNotice": "bazelHints are suggestions, not required execution paths. Consumers should prefer stack-native commands unless explicitly adopting Bazel.",
|
|
635
|
-
"ciContract": {
|
|
636
|
-
"configFlag": "--config=ci (define in .bazelrc)",
|
|
637
|
-
"deterministicFlags": [
|
|
638
|
-
"--nokeep_going",
|
|
639
|
-
"--test_output=errors"
|
|
640
|
-
],
|
|
641
|
-
"remoteCache": "Optional; not required for CI",
|
|
642
|
-
"versionPinning": "Use .bazelversion file for Bazelisk"
|
|
643
|
-
},
|
|
644
|
-
"description": "Bazel build executor support for quality checks. All hints are ADVISORY—stack-native commands remain the default execution path.",
|
|
645
|
-
"detectionRules": {
|
|
646
|
-
"notes": "Detection uses repo-root markers only. Nested BUILD files do not trigger Bazel mode.",
|
|
647
|
-
"optionalMarkers": [
|
|
648
|
-
".bazelrc",
|
|
649
|
-
".bazelversion"
|
|
650
|
-
],
|
|
651
|
-
"rootMarkers": [
|
|
652
|
-
"MODULE.bazel",
|
|
653
|
-
"WORKSPACE.bazel",
|
|
654
|
-
"WORKSPACE"
|
|
655
|
-
]
|
|
656
|
-
},
|
|
657
|
-
"optOut": {
|
|
658
|
-
"configPath": "meta.bazelIntegration.enabled",
|
|
659
|
-
"description": "Set meta.bazelIntegration.enabled = false in repo config to disable Bazel hints"
|
|
660
|
-
},
|
|
661
|
-
"targetConventions": {
|
|
662
|
-
"build": "bazel build //...",
|
|
663
|
-
"coverage": "bazel coverage //...",
|
|
664
|
-
"description": "Recommended target naming (not assumed to exist). These are illustrative patterns; actual targets are repo-defined.",
|
|
665
|
-
"format": "bazel run //tools/format:check",
|
|
666
|
-
"lint": "//tools/lint:lint or bazel test //... with lint aspects",
|
|
667
|
-
"test": "bazel test //..."
|
|
668
|
-
}
|
|
669
|
-
},
|
|
670
633
|
"complexityChecks": {
|
|
671
634
|
"description": "When supported by the stack, run cyclomatic complexity or similar metrics in CI as a warning-only check initially.",
|
|
672
635
|
"enabledByDefault": true
|
|
673
636
|
},
|
|
637
|
+
"coverageThresholdDescription": "Expressed as a ratio (0-1), e.g., 0.8 = 80% coverage. Must be between 0 and 1.",
|
|
638
|
+
"coverageThresholdUnit": "ratio",
|
|
674
639
|
"defaultCoverageThreshold": 0.8,
|
|
640
|
+
"executorHints": {
|
|
641
|
+
"bazel": {
|
|
642
|
+
"advisoryNotice": "bazelHints are suggestions, not required execution paths. Consumers should prefer stack-native commands unless explicitly adopting Bazel.",
|
|
643
|
+
"ciContract": {
|
|
644
|
+
"configFlag": "--config=ci (define in .bazelrc)",
|
|
645
|
+
"deterministicFlags": [
|
|
646
|
+
"--nokeep_going",
|
|
647
|
+
"--test_output=errors"
|
|
648
|
+
],
|
|
649
|
+
"remoteCache": "Optional; not required for CI",
|
|
650
|
+
"versionPinning": "Use .bazelversion file for Bazelisk"
|
|
651
|
+
},
|
|
652
|
+
"detectionRules": {
|
|
653
|
+
"notes": "Detection uses repo-root markers only. Nested BUILD files do not trigger Bazel mode.",
|
|
654
|
+
"optionalMarkers": [
|
|
655
|
+
".bazelrc",
|
|
656
|
+
".bazelversion"
|
|
657
|
+
],
|
|
658
|
+
"rootMarkers": [
|
|
659
|
+
"MODULE.bazel",
|
|
660
|
+
"WORKSPACE.bazel",
|
|
661
|
+
"WORKSPACE"
|
|
662
|
+
]
|
|
663
|
+
},
|
|
664
|
+
"optOut": {
|
|
665
|
+
"configPath": "meta.executorHints.bazel.enabled",
|
|
666
|
+
"description": "Set meta.executorHints.bazel.enabled = false in repo config to disable Bazel hints"
|
|
667
|
+
},
|
|
668
|
+
"targetConventions": {
|
|
669
|
+
"build": "bazel build //...",
|
|
670
|
+
"coverage": "bazel coverage //...",
|
|
671
|
+
"description": "Recommended target naming (not assumed to exist). These are illustrative patterns; actual targets are repo-defined.",
|
|
672
|
+
"format": "bazel run //tools/format:check",
|
|
673
|
+
"lint": "//tools/lint:lint or bazel test //... with lint aspects",
|
|
674
|
+
"test": "bazel test //..."
|
|
675
|
+
}
|
|
676
|
+
},
|
|
677
|
+
"description": "Advisory execution substrate hints. Bazel is the first supported executor; future monorepo executors may follow the same pattern."
|
|
678
|
+
},
|
|
675
679
|
"migrationGuide": [
|
|
676
680
|
{
|
|
677
681
|
"description": "Start by adding pre-commit hooks and core formatting/linting so developers get fast feedback without touching CI.",
|
|
@@ -731,5 +735,5 @@
|
|
|
731
735
|
},
|
|
732
736
|
"stack": "csharp-dotnet",
|
|
733
737
|
"stackLabel": "C# / .NET",
|
|
734
|
-
"version":
|
|
738
|
+
"version": 3
|
|
735
739
|
}
|
|
@@ -552,48 +552,52 @@
|
|
|
552
552
|
"azure-devops"
|
|
553
553
|
],
|
|
554
554
|
"meta": {
|
|
555
|
-
"bazelIntegration": {
|
|
556
|
-
"advisoryNotice": "bazelHints are suggestions, not required execution paths. Consumers should prefer stack-native commands unless explicitly adopting Bazel.",
|
|
557
|
-
"ciContract": {
|
|
558
|
-
"configFlag": "--config=ci (define in .bazelrc)",
|
|
559
|
-
"deterministicFlags": [
|
|
560
|
-
"--nokeep_going",
|
|
561
|
-
"--test_output=errors"
|
|
562
|
-
],
|
|
563
|
-
"remoteCache": "Optional; not required for CI",
|
|
564
|
-
"versionPinning": "Use .bazelversion file for Bazelisk"
|
|
565
|
-
},
|
|
566
|
-
"description": "Bazel build executor support for quality checks. All hints are ADVISORY—stack-native commands remain the default execution path.",
|
|
567
|
-
"detectionRules": {
|
|
568
|
-
"notes": "Detection uses repo-root markers only. Nested BUILD files do not trigger Bazel mode.",
|
|
569
|
-
"optionalMarkers": [
|
|
570
|
-
".bazelrc",
|
|
571
|
-
".bazelversion"
|
|
572
|
-
],
|
|
573
|
-
"rootMarkers": [
|
|
574
|
-
"MODULE.bazel",
|
|
575
|
-
"WORKSPACE.bazel",
|
|
576
|
-
"WORKSPACE"
|
|
577
|
-
]
|
|
578
|
-
},
|
|
579
|
-
"optOut": {
|
|
580
|
-
"configPath": "meta.bazelIntegration.enabled",
|
|
581
|
-
"description": "Set meta.bazelIntegration.enabled = false in repo config to disable Bazel hints"
|
|
582
|
-
},
|
|
583
|
-
"targetConventions": {
|
|
584
|
-
"build": "bazel build //...",
|
|
585
|
-
"coverage": "bazel coverage //...",
|
|
586
|
-
"description": "Recommended target naming (not assumed to exist). These are illustrative patterns; actual targets are repo-defined.",
|
|
587
|
-
"format": "bazel run //tools/format:check",
|
|
588
|
-
"lint": "//tools/lint:lint or bazel test //... with lint aspects",
|
|
589
|
-
"test": "bazel test //..."
|
|
590
|
-
}
|
|
591
|
-
},
|
|
592
555
|
"complexityChecks": {
|
|
593
556
|
"description": "When supported by the stack, run cyclomatic complexity or similar metrics in CI as a warning-only check initially.",
|
|
594
557
|
"enabledByDefault": true
|
|
595
558
|
},
|
|
559
|
+
"coverageThresholdDescription": "Expressed as a ratio (0-1), e.g., 0.8 = 80% coverage. Must be between 0 and 1.",
|
|
560
|
+
"coverageThresholdUnit": "ratio",
|
|
596
561
|
"defaultCoverageThreshold": 0.8,
|
|
562
|
+
"executorHints": {
|
|
563
|
+
"bazel": {
|
|
564
|
+
"advisoryNotice": "bazelHints are suggestions, not required execution paths. Consumers should prefer stack-native commands unless explicitly adopting Bazel.",
|
|
565
|
+
"ciContract": {
|
|
566
|
+
"configFlag": "--config=ci (define in .bazelrc)",
|
|
567
|
+
"deterministicFlags": [
|
|
568
|
+
"--nokeep_going",
|
|
569
|
+
"--test_output=errors"
|
|
570
|
+
],
|
|
571
|
+
"remoteCache": "Optional; not required for CI",
|
|
572
|
+
"versionPinning": "Use .bazelversion file for Bazelisk"
|
|
573
|
+
},
|
|
574
|
+
"detectionRules": {
|
|
575
|
+
"notes": "Detection uses repo-root markers only. Nested BUILD files do not trigger Bazel mode.",
|
|
576
|
+
"optionalMarkers": [
|
|
577
|
+
".bazelrc",
|
|
578
|
+
".bazelversion"
|
|
579
|
+
],
|
|
580
|
+
"rootMarkers": [
|
|
581
|
+
"MODULE.bazel",
|
|
582
|
+
"WORKSPACE.bazel",
|
|
583
|
+
"WORKSPACE"
|
|
584
|
+
]
|
|
585
|
+
},
|
|
586
|
+
"optOut": {
|
|
587
|
+
"configPath": "meta.executorHints.bazel.enabled",
|
|
588
|
+
"description": "Set meta.executorHints.bazel.enabled = false in repo config to disable Bazel hints"
|
|
589
|
+
},
|
|
590
|
+
"targetConventions": {
|
|
591
|
+
"build": "bazel build //...",
|
|
592
|
+
"coverage": "bazel coverage //...",
|
|
593
|
+
"description": "Recommended target naming (not assumed to exist). These are illustrative patterns; actual targets are repo-defined.",
|
|
594
|
+
"format": "bazel run //tools/format:check",
|
|
595
|
+
"lint": "//tools/lint:lint or bazel test //... with lint aspects",
|
|
596
|
+
"test": "bazel test //..."
|
|
597
|
+
}
|
|
598
|
+
},
|
|
599
|
+
"description": "Advisory execution substrate hints. Bazel is the first supported executor; future monorepo executors may follow the same pattern."
|
|
600
|
+
},
|
|
597
601
|
"migrationGuide": [
|
|
598
602
|
{
|
|
599
603
|
"description": "Start by adding pre-commit hooks and core formatting/linting so developers get fast feedback without touching CI.",
|
|
@@ -653,5 +657,5 @@
|
|
|
653
657
|
},
|
|
654
658
|
"stack": "go",
|
|
655
659
|
"stackLabel": "Go",
|
|
656
|
-
"version":
|
|
660
|
+
"version": 3
|
|
657
661
|
}
|
|
@@ -552,48 +552,52 @@
|
|
|
552
552
|
"github-actions"
|
|
553
553
|
],
|
|
554
554
|
"meta": {
|
|
555
|
-
"bazelIntegration": {
|
|
556
|
-
"advisoryNotice": "bazelHints are suggestions, not required execution paths. Consumers should prefer stack-native commands unless explicitly adopting Bazel.",
|
|
557
|
-
"ciContract": {
|
|
558
|
-
"configFlag": "--config=ci (define in .bazelrc)",
|
|
559
|
-
"deterministicFlags": [
|
|
560
|
-
"--nokeep_going",
|
|
561
|
-
"--test_output=errors"
|
|
562
|
-
],
|
|
563
|
-
"remoteCache": "Optional; not required for CI",
|
|
564
|
-
"versionPinning": "Use .bazelversion file for Bazelisk"
|
|
565
|
-
},
|
|
566
|
-
"description": "Bazel build executor support for quality checks. All hints are ADVISORY—stack-native commands remain the default execution path.",
|
|
567
|
-
"detectionRules": {
|
|
568
|
-
"notes": "Detection uses repo-root markers only. Nested BUILD files do not trigger Bazel mode.",
|
|
569
|
-
"optionalMarkers": [
|
|
570
|
-
".bazelrc",
|
|
571
|
-
".bazelversion"
|
|
572
|
-
],
|
|
573
|
-
"rootMarkers": [
|
|
574
|
-
"MODULE.bazel",
|
|
575
|
-
"WORKSPACE.bazel",
|
|
576
|
-
"WORKSPACE"
|
|
577
|
-
]
|
|
578
|
-
},
|
|
579
|
-
"optOut": {
|
|
580
|
-
"configPath": "meta.bazelIntegration.enabled",
|
|
581
|
-
"description": "Set meta.bazelIntegration.enabled = false in repo config to disable Bazel hints"
|
|
582
|
-
},
|
|
583
|
-
"targetConventions": {
|
|
584
|
-
"build": "bazel build //...",
|
|
585
|
-
"coverage": "bazel coverage //...",
|
|
586
|
-
"description": "Recommended target naming (not assumed to exist). These are illustrative patterns; actual targets are repo-defined.",
|
|
587
|
-
"format": "bazel run //tools/format:check",
|
|
588
|
-
"lint": "//tools/lint:lint or bazel test //... with lint aspects",
|
|
589
|
-
"test": "bazel test //..."
|
|
590
|
-
}
|
|
591
|
-
},
|
|
592
555
|
"complexityChecks": {
|
|
593
556
|
"description": "When supported by the stack, run cyclomatic complexity or similar metrics in CI as a warning-only check initially.",
|
|
594
557
|
"enabledByDefault": true
|
|
595
558
|
},
|
|
559
|
+
"coverageThresholdDescription": "Expressed as a ratio (0-1), e.g., 0.8 = 80% coverage. Must be between 0 and 1.",
|
|
560
|
+
"coverageThresholdUnit": "ratio",
|
|
596
561
|
"defaultCoverageThreshold": 0.8,
|
|
562
|
+
"executorHints": {
|
|
563
|
+
"bazel": {
|
|
564
|
+
"advisoryNotice": "bazelHints are suggestions, not required execution paths. Consumers should prefer stack-native commands unless explicitly adopting Bazel.",
|
|
565
|
+
"ciContract": {
|
|
566
|
+
"configFlag": "--config=ci (define in .bazelrc)",
|
|
567
|
+
"deterministicFlags": [
|
|
568
|
+
"--nokeep_going",
|
|
569
|
+
"--test_output=errors"
|
|
570
|
+
],
|
|
571
|
+
"remoteCache": "Optional; not required for CI",
|
|
572
|
+
"versionPinning": "Use .bazelversion file for Bazelisk"
|
|
573
|
+
},
|
|
574
|
+
"detectionRules": {
|
|
575
|
+
"notes": "Detection uses repo-root markers only. Nested BUILD files do not trigger Bazel mode.",
|
|
576
|
+
"optionalMarkers": [
|
|
577
|
+
".bazelrc",
|
|
578
|
+
".bazelversion"
|
|
579
|
+
],
|
|
580
|
+
"rootMarkers": [
|
|
581
|
+
"MODULE.bazel",
|
|
582
|
+
"WORKSPACE.bazel",
|
|
583
|
+
"WORKSPACE"
|
|
584
|
+
]
|
|
585
|
+
},
|
|
586
|
+
"optOut": {
|
|
587
|
+
"configPath": "meta.executorHints.bazel.enabled",
|
|
588
|
+
"description": "Set meta.executorHints.bazel.enabled = false in repo config to disable Bazel hints"
|
|
589
|
+
},
|
|
590
|
+
"targetConventions": {
|
|
591
|
+
"build": "bazel build //...",
|
|
592
|
+
"coverage": "bazel coverage //...",
|
|
593
|
+
"description": "Recommended target naming (not assumed to exist). These are illustrative patterns; actual targets are repo-defined.",
|
|
594
|
+
"format": "bazel run //tools/format:check",
|
|
595
|
+
"lint": "//tools/lint:lint or bazel test //... with lint aspects",
|
|
596
|
+
"test": "bazel test //..."
|
|
597
|
+
}
|
|
598
|
+
},
|
|
599
|
+
"description": "Advisory execution substrate hints. Bazel is the first supported executor; future monorepo executors may follow the same pattern."
|
|
600
|
+
},
|
|
597
601
|
"migrationGuide": [
|
|
598
602
|
{
|
|
599
603
|
"description": "Start by adding pre-commit hooks and core formatting/linting so developers get fast feedback without touching CI.",
|
|
@@ -653,5 +657,5 @@
|
|
|
653
657
|
},
|
|
654
658
|
"stack": "go",
|
|
655
659
|
"stackLabel": "Go",
|
|
656
|
-
"version":
|
|
660
|
+
"version": 3
|
|
657
661
|
}
|
|
@@ -621,48 +621,52 @@
|
|
|
621
621
|
"github-actions"
|
|
622
622
|
],
|
|
623
623
|
"meta": {
|
|
624
|
-
"bazelIntegration": {
|
|
625
|
-
"advisoryNotice": "bazelHints are suggestions, not required execution paths. Consumers should prefer stack-native commands unless explicitly adopting Bazel.",
|
|
626
|
-
"ciContract": {
|
|
627
|
-
"configFlag": "--config=ci (define in .bazelrc)",
|
|
628
|
-
"deterministicFlags": [
|
|
629
|
-
"--nokeep_going",
|
|
630
|
-
"--test_output=errors"
|
|
631
|
-
],
|
|
632
|
-
"remoteCache": "Optional; not required for CI",
|
|
633
|
-
"versionPinning": "Use .bazelversion file for Bazelisk"
|
|
634
|
-
},
|
|
635
|
-
"description": "Bazel build executor support for quality checks. All hints are ADVISORY—stack-native commands remain the default execution path.",
|
|
636
|
-
"detectionRules": {
|
|
637
|
-
"notes": "Detection uses repo-root markers only. Nested BUILD files do not trigger Bazel mode.",
|
|
638
|
-
"optionalMarkers": [
|
|
639
|
-
".bazelrc",
|
|
640
|
-
".bazelversion"
|
|
641
|
-
],
|
|
642
|
-
"rootMarkers": [
|
|
643
|
-
"MODULE.bazel",
|
|
644
|
-
"WORKSPACE.bazel",
|
|
645
|
-
"WORKSPACE"
|
|
646
|
-
]
|
|
647
|
-
},
|
|
648
|
-
"optOut": {
|
|
649
|
-
"configPath": "meta.bazelIntegration.enabled",
|
|
650
|
-
"description": "Set meta.bazelIntegration.enabled = false in repo config to disable Bazel hints"
|
|
651
|
-
},
|
|
652
|
-
"targetConventions": {
|
|
653
|
-
"build": "bazel build //...",
|
|
654
|
-
"coverage": "bazel coverage //...",
|
|
655
|
-
"description": "Recommended target naming (not assumed to exist). These are illustrative patterns; actual targets are repo-defined.",
|
|
656
|
-
"format": "bazel run //tools/format:check",
|
|
657
|
-
"lint": "//tools/lint:lint or bazel test //... with lint aspects",
|
|
658
|
-
"test": "bazel test //..."
|
|
659
|
-
}
|
|
660
|
-
},
|
|
661
624
|
"complexityChecks": {
|
|
662
625
|
"description": "When supported by the stack, run cyclomatic complexity or similar metrics in CI as a warning-only check initially.",
|
|
663
626
|
"enabledByDefault": true
|
|
664
627
|
},
|
|
628
|
+
"coverageThresholdDescription": "Expressed as a ratio (0-1), e.g., 0.8 = 80% coverage. Must be between 0 and 1.",
|
|
629
|
+
"coverageThresholdUnit": "ratio",
|
|
665
630
|
"defaultCoverageThreshold": 0.8,
|
|
631
|
+
"executorHints": {
|
|
632
|
+
"bazel": {
|
|
633
|
+
"advisoryNotice": "bazelHints are suggestions, not required execution paths. Consumers should prefer stack-native commands unless explicitly adopting Bazel.",
|
|
634
|
+
"ciContract": {
|
|
635
|
+
"configFlag": "--config=ci (define in .bazelrc)",
|
|
636
|
+
"deterministicFlags": [
|
|
637
|
+
"--nokeep_going",
|
|
638
|
+
"--test_output=errors"
|
|
639
|
+
],
|
|
640
|
+
"remoteCache": "Optional; not required for CI",
|
|
641
|
+
"versionPinning": "Use .bazelversion file for Bazelisk"
|
|
642
|
+
},
|
|
643
|
+
"detectionRules": {
|
|
644
|
+
"notes": "Detection uses repo-root markers only. Nested BUILD files do not trigger Bazel mode.",
|
|
645
|
+
"optionalMarkers": [
|
|
646
|
+
".bazelrc",
|
|
647
|
+
".bazelversion"
|
|
648
|
+
],
|
|
649
|
+
"rootMarkers": [
|
|
650
|
+
"MODULE.bazel",
|
|
651
|
+
"WORKSPACE.bazel",
|
|
652
|
+
"WORKSPACE"
|
|
653
|
+
]
|
|
654
|
+
},
|
|
655
|
+
"optOut": {
|
|
656
|
+
"configPath": "meta.executorHints.bazel.enabled",
|
|
657
|
+
"description": "Set meta.executorHints.bazel.enabled = false in repo config to disable Bazel hints"
|
|
658
|
+
},
|
|
659
|
+
"targetConventions": {
|
|
660
|
+
"build": "bazel build //...",
|
|
661
|
+
"coverage": "bazel coverage //...",
|
|
662
|
+
"description": "Recommended target naming (not assumed to exist). These are illustrative patterns; actual targets are repo-defined.",
|
|
663
|
+
"format": "bazel run //tools/format:check",
|
|
664
|
+
"lint": "//tools/lint:lint or bazel test //... with lint aspects",
|
|
665
|
+
"test": "bazel test //..."
|
|
666
|
+
}
|
|
667
|
+
},
|
|
668
|
+
"description": "Advisory execution substrate hints. Bazel is the first supported executor; future monorepo executors may follow the same pattern."
|
|
669
|
+
},
|
|
666
670
|
"migrationGuide": [
|
|
667
671
|
{
|
|
668
672
|
"description": "Start by adding pre-commit hooks and core formatting/linting so developers get fast feedback without touching CI.",
|
|
@@ -722,5 +726,5 @@
|
|
|
722
726
|
},
|
|
723
727
|
"stack": "go",
|
|
724
728
|
"stackLabel": "Go",
|
|
725
|
-
"version":
|
|
729
|
+
"version": 3
|
|
726
730
|
}
|