@oddessentials/repo-standards 2.0.1 → 3.0.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.
@@ -302,6 +302,9 @@
302
302
  "id": "dependency-security",
303
303
  "label": "Dependency Management & Vulnerability Scanning",
304
304
  "stack": {
305
+ "anyOfFiles": [
306
+ "Cargo.lock"
307
+ ],
305
308
  "exampleConfigFiles": [
306
309
  "Cargo.lock",
307
310
  "deny.toml"
@@ -314,9 +317,7 @@
314
317
  "optionalFiles": [
315
318
  "deny.toml"
316
319
  ],
317
- "requiredFiles": [
318
- "Cargo.lock"
319
- ],
320
+ "pinningNotes": "Required for binaries/services; optional for libraries (add to .gitignore for libs). See https://doc.rust-lang.org/cargo/faq.html#why-have-cargolock-in-version-control",
320
321
  "verification": "Cargo.lock is present; run 'cargo audit' or 'cargo deny check' to verify security scanning."
321
322
  }
322
323
  },
@@ -561,48 +562,52 @@
561
562
  "azure-devops"
562
563
  ],
563
564
  "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
565
  "complexityChecks": {
602
566
  "description": "When supported by the stack, run cyclomatic complexity or similar metrics in CI as a warning-only check initially.",
603
567
  "enabledByDefault": true
604
568
  },
569
+ "coverageThresholdDescription": "Expressed as a ratio (0-1), e.g., 0.8 = 80% coverage. Must be between 0 and 1.",
570
+ "coverageThresholdUnit": "ratio",
605
571
  "defaultCoverageThreshold": 0.8,
572
+ "executorHints": {
573
+ "bazel": {
574
+ "advisoryNotice": "bazelHints are suggestions, not required execution paths. Consumers should prefer stack-native commands unless explicitly adopting Bazel.",
575
+ "ciContract": {
576
+ "configFlag": "--config=ci (define in .bazelrc)",
577
+ "deterministicFlags": [
578
+ "--nokeep_going",
579
+ "--test_output=errors"
580
+ ],
581
+ "remoteCache": "Optional; not required for CI",
582
+ "versionPinning": "Use .bazelversion file for Bazelisk"
583
+ },
584
+ "detectionRules": {
585
+ "notes": "Detection uses repo-root markers only. Nested BUILD files do not trigger Bazel mode.",
586
+ "optionalMarkers": [
587
+ ".bazelrc",
588
+ ".bazelversion"
589
+ ],
590
+ "rootMarkers": [
591
+ "MODULE.bazel",
592
+ "WORKSPACE.bazel",
593
+ "WORKSPACE"
594
+ ]
595
+ },
596
+ "optOut": {
597
+ "configPath": "meta.executorHints.bazel.enabled",
598
+ "description": "Set meta.executorHints.bazel.enabled = false in repo config to disable Bazel hints"
599
+ },
600
+ "targetConventions": {
601
+ "build": "bazel build //...",
602
+ "coverage": "bazel coverage //...",
603
+ "description": "Recommended target naming (not assumed to exist). These are illustrative patterns; actual targets are repo-defined.",
604
+ "format": "bazel run //tools/format:check",
605
+ "lint": "//tools/lint:lint or bazel test //... with lint aspects",
606
+ "test": "bazel test //..."
607
+ }
608
+ },
609
+ "description": "Advisory execution substrate hints. Bazel is the first supported executor; future monorepo executors may follow the same pattern."
610
+ },
606
611
  "migrationGuide": [
607
612
  {
608
613
  "description": "Start by adding pre-commit hooks and core formatting/linting so developers get fast feedback without touching CI.",
@@ -302,6 +302,9 @@
302
302
  "id": "dependency-security",
303
303
  "label": "Dependency Management & Vulnerability Scanning",
304
304
  "stack": {
305
+ "anyOfFiles": [
306
+ "Cargo.lock"
307
+ ],
305
308
  "exampleConfigFiles": [
306
309
  "Cargo.lock",
307
310
  "deny.toml"
@@ -314,9 +317,7 @@
314
317
  "optionalFiles": [
315
318
  "deny.toml"
316
319
  ],
317
- "requiredFiles": [
318
- "Cargo.lock"
319
- ],
320
+ "pinningNotes": "Required for binaries/services; optional for libraries (add to .gitignore for libs). See https://doc.rust-lang.org/cargo/faq.html#why-have-cargolock-in-version-control",
320
321
  "verification": "Cargo.lock is present; run 'cargo audit' or 'cargo deny check' to verify security scanning."
321
322
  }
322
323
  },
@@ -561,48 +562,52 @@
561
562
  "github-actions"
562
563
  ],
563
564
  "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
565
  "complexityChecks": {
602
566
  "description": "When supported by the stack, run cyclomatic complexity or similar metrics in CI as a warning-only check initially.",
603
567
  "enabledByDefault": true
604
568
  },
569
+ "coverageThresholdDescription": "Expressed as a ratio (0-1), e.g., 0.8 = 80% coverage. Must be between 0 and 1.",
570
+ "coverageThresholdUnit": "ratio",
605
571
  "defaultCoverageThreshold": 0.8,
572
+ "executorHints": {
573
+ "bazel": {
574
+ "advisoryNotice": "bazelHints are suggestions, not required execution paths. Consumers should prefer stack-native commands unless explicitly adopting Bazel.",
575
+ "ciContract": {
576
+ "configFlag": "--config=ci (define in .bazelrc)",
577
+ "deterministicFlags": [
578
+ "--nokeep_going",
579
+ "--test_output=errors"
580
+ ],
581
+ "remoteCache": "Optional; not required for CI",
582
+ "versionPinning": "Use .bazelversion file for Bazelisk"
583
+ },
584
+ "detectionRules": {
585
+ "notes": "Detection uses repo-root markers only. Nested BUILD files do not trigger Bazel mode.",
586
+ "optionalMarkers": [
587
+ ".bazelrc",
588
+ ".bazelversion"
589
+ ],
590
+ "rootMarkers": [
591
+ "MODULE.bazel",
592
+ "WORKSPACE.bazel",
593
+ "WORKSPACE"
594
+ ]
595
+ },
596
+ "optOut": {
597
+ "configPath": "meta.executorHints.bazel.enabled",
598
+ "description": "Set meta.executorHints.bazel.enabled = false in repo config to disable Bazel hints"
599
+ },
600
+ "targetConventions": {
601
+ "build": "bazel build //...",
602
+ "coverage": "bazel coverage //...",
603
+ "description": "Recommended target naming (not assumed to exist). These are illustrative patterns; actual targets are repo-defined.",
604
+ "format": "bazel run //tools/format:check",
605
+ "lint": "//tools/lint:lint or bazel test //... with lint aspects",
606
+ "test": "bazel test //..."
607
+ }
608
+ },
609
+ "description": "Advisory execution substrate hints. Bazel is the first supported executor; future monorepo executors may follow the same pattern."
610
+ },
606
611
  "migrationGuide": [
607
612
  {
608
613
  "description": "Start by adding pre-commit hooks and core formatting/linting so developers get fast feedback without touching CI.",
@@ -338,6 +338,9 @@
338
338
  "id": "dependency-security",
339
339
  "label": "Dependency Management & Vulnerability Scanning",
340
340
  "stack": {
341
+ "anyOfFiles": [
342
+ "Cargo.lock"
343
+ ],
341
344
  "exampleConfigFiles": [
342
345
  "Cargo.lock",
343
346
  "deny.toml"
@@ -350,9 +353,7 @@
350
353
  "optionalFiles": [
351
354
  "deny.toml"
352
355
  ],
353
- "requiredFiles": [
354
- "Cargo.lock"
355
- ],
356
+ "pinningNotes": "Required for binaries/services; optional for libraries (add to .gitignore for libs). See https://doc.rust-lang.org/cargo/faq.html#why-have-cargolock-in-version-control",
356
357
  "verification": "Cargo.lock is present; run 'cargo audit' or 'cargo deny check' to verify security scanning."
357
358
  }
358
359
  },
@@ -630,48 +631,52 @@
630
631
  "github-actions"
631
632
  ],
632
633
  "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
634
  "complexityChecks": {
671
635
  "description": "When supported by the stack, run cyclomatic complexity or similar metrics in CI as a warning-only check initially.",
672
636
  "enabledByDefault": true
673
637
  },
638
+ "coverageThresholdDescription": "Expressed as a ratio (0-1), e.g., 0.8 = 80% coverage. Must be between 0 and 1.",
639
+ "coverageThresholdUnit": "ratio",
674
640
  "defaultCoverageThreshold": 0.8,
641
+ "executorHints": {
642
+ "bazel": {
643
+ "advisoryNotice": "bazelHints are suggestions, not required execution paths. Consumers should prefer stack-native commands unless explicitly adopting Bazel.",
644
+ "ciContract": {
645
+ "configFlag": "--config=ci (define in .bazelrc)",
646
+ "deterministicFlags": [
647
+ "--nokeep_going",
648
+ "--test_output=errors"
649
+ ],
650
+ "remoteCache": "Optional; not required for CI",
651
+ "versionPinning": "Use .bazelversion file for Bazelisk"
652
+ },
653
+ "detectionRules": {
654
+ "notes": "Detection uses repo-root markers only. Nested BUILD files do not trigger Bazel mode.",
655
+ "optionalMarkers": [
656
+ ".bazelrc",
657
+ ".bazelversion"
658
+ ],
659
+ "rootMarkers": [
660
+ "MODULE.bazel",
661
+ "WORKSPACE.bazel",
662
+ "WORKSPACE"
663
+ ]
664
+ },
665
+ "optOut": {
666
+ "configPath": "meta.executorHints.bazel.enabled",
667
+ "description": "Set meta.executorHints.bazel.enabled = false in repo config to disable Bazel hints"
668
+ },
669
+ "targetConventions": {
670
+ "build": "bazel build //...",
671
+ "coverage": "bazel coverage //...",
672
+ "description": "Recommended target naming (not assumed to exist). These are illustrative patterns; actual targets are repo-defined.",
673
+ "format": "bazel run //tools/format:check",
674
+ "lint": "//tools/lint:lint or bazel test //... with lint aspects",
675
+ "test": "bazel test //..."
676
+ }
677
+ },
678
+ "description": "Advisory execution substrate hints. Bazel is the first supported executor; future monorepo executors may follow the same pattern."
679
+ },
675
680
  "migrationGuide": [
676
681
  {
677
682
  "description": "Start by adding pre-commit hooks and core formatting/linting so developers get fast feedback without touching CI.",