@oddessentials/repo-standards 1.0.1 → 1.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.
@@ -404,6 +404,62 @@
404
404
  }
405
405
  ],
406
406
  "recommended": [
407
+ {
408
+ "ciHints": {
409
+ "azure-devops": {
410
+ "notes": "CI hints are suggested mappings; adjust to your pipeline topology.",
411
+ "stage": "quality"
412
+ }
413
+ },
414
+ "description": "Automate dependency updates using Renovate or Dependabot to keep dependencies current and reduce security exposure window.",
415
+ "id": "dependency-update-automation",
416
+ "label": "Dependency Update Automation",
417
+ "stack": {
418
+ "anyOfFiles": [
419
+ "renovate.json",
420
+ ".renovaterc.json",
421
+ ".github/dependabot.yml"
422
+ ],
423
+ "exampleConfigFiles": [
424
+ "renovate.json",
425
+ ".github/dependabot.yml"
426
+ ],
427
+ "exampleTools": [
428
+ "renovate",
429
+ "dependabot"
430
+ ],
431
+ "notes": "Renovate supports pyproject.toml, requirements.txt, Pipfile, poetry.lock. For AzDO: self-hosted Renovate or schedule-triggered pipeline.",
432
+ "pinningNotes": "Use requirements.txt with pinned versions or poetry.lock for deterministic installs.",
433
+ "verification": "Check for renovate.json OR .github/dependabot.yml. Verify Python dependency PRs."
434
+ }
435
+ },
436
+ {
437
+ "ciHints": {
438
+ "azure-devops": {
439
+ "notes": "CI hints are suggested mappings; adjust to your pipeline topology.",
440
+ "stage": "quality"
441
+ }
442
+ },
443
+ "description": "Enforce module boundaries and import constraints to prevent architectural drift and unwanted coupling.",
444
+ "id": "dependency-architecture-rules",
445
+ "label": "Dependency Architecture Rules",
446
+ "stack": {
447
+ "exampleConfigFiles": [
448
+ "pyproject.toml",
449
+ ".importlinter"
450
+ ],
451
+ "exampleTools": [
452
+ "import-linter",
453
+ "pydeps"
454
+ ],
455
+ "notes": "Configure [tool.importlinter] in pyproject.toml OR use standalone .importlinter file. pydeps is visualization-only.",
456
+ "optionalFiles": [
457
+ "pyproject.toml",
458
+ ".importlinter"
459
+ ],
460
+ "verification": "Run 'lint-imports' successfully. Config must exist in pyproject.toml [tool.importlinter] section OR .importlinter file."
461
+ }
462
+ },
407
463
  {
408
464
  "ciHints": {
409
465
  "azure-devops": {
@@ -525,7 +581,8 @@
525
581
  "type-checking",
526
582
  "unit-test-runner",
527
583
  "unit-test-reporter",
528
- "dependency-security"
584
+ "dependency-security",
585
+ "dependency-update-automation"
529
586
  ],
530
587
  "notes": "Pin tool and runtime versions in CI and containers to avoid flaky differences across environments.",
531
588
  "step": 3,
@@ -553,5 +610,5 @@
553
610
  },
554
611
  "stack": "python",
555
612
  "stackLabel": "Python",
556
- "version": 1
613
+ "version": 2
557
614
  }
@@ -404,6 +404,62 @@
404
404
  }
405
405
  ],
406
406
  "recommended": [
407
+ {
408
+ "ciHints": {
409
+ "github-actions": {
410
+ "job": "ci",
411
+ "notes": "CI hints are suggested mappings; adjust to your workflow structure."
412
+ }
413
+ },
414
+ "description": "Automate dependency updates using Renovate or Dependabot to keep dependencies current and reduce security exposure window.",
415
+ "id": "dependency-update-automation",
416
+ "label": "Dependency Update Automation",
417
+ "stack": {
418
+ "anyOfFiles": [
419
+ "renovate.json",
420
+ ".renovaterc.json",
421
+ ".github/dependabot.yml"
422
+ ],
423
+ "exampleConfigFiles": [
424
+ "renovate.json",
425
+ ".github/dependabot.yml"
426
+ ],
427
+ "exampleTools": [
428
+ "renovate",
429
+ "dependabot"
430
+ ],
431
+ "notes": "Renovate supports pyproject.toml, requirements.txt, Pipfile, poetry.lock. For AzDO: self-hosted Renovate or schedule-triggered pipeline.",
432
+ "pinningNotes": "Use requirements.txt with pinned versions or poetry.lock for deterministic installs.",
433
+ "verification": "Check for renovate.json OR .github/dependabot.yml. Verify Python dependency PRs."
434
+ }
435
+ },
436
+ {
437
+ "ciHints": {
438
+ "github-actions": {
439
+ "job": "ci",
440
+ "notes": "CI hints are suggested mappings; adjust to your workflow structure."
441
+ }
442
+ },
443
+ "description": "Enforce module boundaries and import constraints to prevent architectural drift and unwanted coupling.",
444
+ "id": "dependency-architecture-rules",
445
+ "label": "Dependency Architecture Rules",
446
+ "stack": {
447
+ "exampleConfigFiles": [
448
+ "pyproject.toml",
449
+ ".importlinter"
450
+ ],
451
+ "exampleTools": [
452
+ "import-linter",
453
+ "pydeps"
454
+ ],
455
+ "notes": "Configure [tool.importlinter] in pyproject.toml OR use standalone .importlinter file. pydeps is visualization-only.",
456
+ "optionalFiles": [
457
+ "pyproject.toml",
458
+ ".importlinter"
459
+ ],
460
+ "verification": "Run 'lint-imports' successfully. Config must exist in pyproject.toml [tool.importlinter] section OR .importlinter file."
461
+ }
462
+ },
407
463
  {
408
464
  "ciHints": {
409
465
  "github-actions": {
@@ -525,7 +581,8 @@
525
581
  "type-checking",
526
582
  "unit-test-runner",
527
583
  "unit-test-reporter",
528
- "dependency-security"
584
+ "dependency-security",
585
+ "dependency-update-automation"
529
586
  ],
530
587
  "notes": "Pin tool and runtime versions in CI and containers to avoid flaky differences across environments.",
531
588
  "step": 3,
@@ -553,5 +610,5 @@
553
610
  },
554
611
  "stack": "python",
555
612
  "stackLabel": "Python",
556
- "version": 1
613
+ "version": 2
557
614
  }
@@ -452,6 +452,70 @@
452
452
  }
453
453
  ],
454
454
  "recommended": [
455
+ {
456
+ "ciHints": {
457
+ "azure-devops": {
458
+ "notes": "CI hints are suggested mappings; adjust to your pipeline topology.",
459
+ "stage": "quality"
460
+ },
461
+ "github-actions": {
462
+ "job": "ci",
463
+ "notes": "CI hints are suggested mappings; adjust to your workflow structure."
464
+ }
465
+ },
466
+ "description": "Automate dependency updates using Renovate or Dependabot to keep dependencies current and reduce security exposure window.",
467
+ "id": "dependency-update-automation",
468
+ "label": "Dependency Update Automation",
469
+ "stack": {
470
+ "anyOfFiles": [
471
+ "renovate.json",
472
+ ".renovaterc.json",
473
+ ".github/dependabot.yml"
474
+ ],
475
+ "exampleConfigFiles": [
476
+ "renovate.json",
477
+ ".github/dependabot.yml"
478
+ ],
479
+ "exampleTools": [
480
+ "renovate",
481
+ "dependabot"
482
+ ],
483
+ "notes": "Renovate supports pyproject.toml, requirements.txt, Pipfile, poetry.lock. For AzDO: self-hosted Renovate or schedule-triggered pipeline.",
484
+ "pinningNotes": "Use requirements.txt with pinned versions or poetry.lock for deterministic installs.",
485
+ "verification": "Check for renovate.json OR .github/dependabot.yml. Verify Python dependency PRs."
486
+ }
487
+ },
488
+ {
489
+ "ciHints": {
490
+ "azure-devops": {
491
+ "notes": "CI hints are suggested mappings; adjust to your pipeline topology.",
492
+ "stage": "quality"
493
+ },
494
+ "github-actions": {
495
+ "job": "ci",
496
+ "notes": "CI hints are suggested mappings; adjust to your workflow structure."
497
+ }
498
+ },
499
+ "description": "Enforce module boundaries and import constraints to prevent architectural drift and unwanted coupling.",
500
+ "id": "dependency-architecture-rules",
501
+ "label": "Dependency Architecture Rules",
502
+ "stack": {
503
+ "exampleConfigFiles": [
504
+ "pyproject.toml",
505
+ ".importlinter"
506
+ ],
507
+ "exampleTools": [
508
+ "import-linter",
509
+ "pydeps"
510
+ ],
511
+ "notes": "Configure [tool.importlinter] in pyproject.toml OR use standalone .importlinter file. pydeps is visualization-only.",
512
+ "optionalFiles": [
513
+ "pyproject.toml",
514
+ ".importlinter"
515
+ ],
516
+ "verification": "Run 'lint-imports' successfully. Config must exist in pyproject.toml [tool.importlinter] section OR .importlinter file."
517
+ }
518
+ },
455
519
  {
456
520
  "ciHints": {
457
521
  "azure-devops": {
@@ -586,7 +650,8 @@
586
650
  "type-checking",
587
651
  "unit-test-runner",
588
652
  "unit-test-reporter",
589
- "dependency-security"
653
+ "dependency-security",
654
+ "dependency-update-automation"
590
655
  ],
591
656
  "notes": "Pin tool and runtime versions in CI and containers to avoid flaky differences across environments.",
592
657
  "step": 3,
@@ -614,5 +679,5 @@
614
679
  },
615
680
  "stack": "python",
616
681
  "stackLabel": "Python",
617
- "version": 1
682
+ "version": 2
618
683
  }