@jetrabbits/agentic 0.0.1
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/AGENTS.md +143 -0
- package/README.md +154 -0
- package/agentic +1615 -0
- package/areas/devops/ci-cd/AGENTS.md +48 -0
- package/areas/devops/ci-cd/PROMPTS.md +7 -0
- package/areas/devops/ci-cd/prompts/onboard-repo.md +97 -0
- package/areas/devops/ci-cd/prompts/pipeline-debug.md +103 -0
- package/areas/devops/ci-cd/prompts/release-pipeline.md +115 -0
- package/areas/devops/ci-cd/rules/pipeline-standards.md +33 -0
- package/areas/devops/ci-cd/rules/quality-gates.md +24 -0
- package/areas/devops/ci-cd/rules/supply-chain-security.md +34 -0
- package/areas/devops/ci-cd/skills/artifact-management/SKILL.md +157 -0
- package/areas/devops/ci-cd/skills/build-optimization/SKILL.md +168 -0
- package/areas/devops/ci-cd/skills/github-actions-patterns/SKILL.md +190 -0
- package/areas/devops/ci-cd/skills/gitlab-ci-patterns/SKILL.md +169 -0
- package/areas/devops/ci-cd/skills/pipeline-security/SKILL.md +161 -0
- package/areas/devops/ci-cd/workflows/onboard-repo.md +73 -0
- package/areas/devops/ci-cd/workflows/pipeline-debug.md +66 -0
- package/areas/devops/ci-cd/workflows/release-pipeline.md +115 -0
- package/areas/devops/database-ops/AGENTS.md +47 -0
- package/areas/devops/database-ops/prompts/backup-verify.md +83 -0
- package/areas/devops/database-ops/prompts/db-incident.md +127 -0
- package/areas/devops/database-ops/rules/access-control.md +20 -0
- package/areas/devops/database-ops/rules/backup-policy.md +33 -0
- package/areas/devops/database-ops/rules/migration-runbook.md +32 -0
- package/areas/devops/database-ops/skills/backup-restore/SKILL.md +226 -0
- package/areas/devops/database-ops/skills/db-performance/SKILL.md +205 -0
- package/areas/devops/database-ops/skills/migration-safety/SKILL.md +155 -0
- package/areas/devops/database-ops/skills/postgres-operations/SKILL.md +156 -0
- package/areas/devops/database-ops/skills/redis-operations/SKILL.md +174 -0
- package/areas/devops/database-ops/workflows/backup-verify.md +107 -0
- package/areas/devops/database-ops/workflows/db-incident.md +86 -0
- package/areas/devops/devsecops/AGENTS.md +47 -0
- package/areas/devops/devsecops/prompts/policy-onboard.md +79 -0
- package/areas/devops/devsecops/prompts/security-scan-pipeline.md +131 -0
- package/areas/devops/devsecops/rules/container-security.md +22 -0
- package/areas/devops/devsecops/rules/policy-as-code.md +37 -0
- package/areas/devops/devsecops/rules/shift-left-policy.md +26 -0
- package/areas/devops/devsecops/skills/container-hardening/SKILL.md +146 -0
- package/areas/devops/devsecops/skills/opa-policies/SKILL.md +188 -0
- package/areas/devops/devsecops/skills/sbom-supply-chain/SKILL.md +165 -0
- package/areas/devops/devsecops/skills/secret-detection/SKILL.md +190 -0
- package/areas/devops/devsecops/skills/sigstore-signing/SKILL.md +184 -0
- package/areas/devops/devsecops/workflows/policy-onboard.md +104 -0
- package/areas/devops/devsecops/workflows/security-scan-pipeline.md +155 -0
- package/areas/devops/infrastructure/AGENTS.md +50 -0
- package/areas/devops/infrastructure/prompts/destroy-environment.md +81 -0
- package/areas/devops/infrastructure/prompts/drift-remediation.md +71 -0
- package/areas/devops/infrastructure/prompts/module-development.md +69 -0
- package/areas/devops/infrastructure/prompts/provision-environment.md +121 -0
- package/areas/devops/infrastructure/rules/iac-standards.md +80 -0
- package/areas/devops/infrastructure/rules/immutability.md +28 -0
- package/areas/devops/infrastructure/rules/secret-hygiene.md +53 -0
- package/areas/devops/infrastructure/rules/state-management.md +47 -0
- package/areas/devops/infrastructure/skills/ansible-playbooks/SKILL.md +174 -0
- package/areas/devops/infrastructure/skills/cost-optimization/SKILL.md +177 -0
- package/areas/devops/infrastructure/skills/drift-detection/SKILL.md +178 -0
- package/areas/devops/infrastructure/skills/state-management/SKILL.md +159 -0
- package/areas/devops/infrastructure/skills/terraform-modules/SKILL.md +169 -0
- package/areas/devops/infrastructure/workflows/destroy-environment.md +96 -0
- package/areas/devops/infrastructure/workflows/drift-remediation.md +66 -0
- package/areas/devops/infrastructure/workflows/module-development.md +101 -0
- package/areas/devops/infrastructure/workflows/provision-environment.md +96 -0
- package/areas/devops/kubernetes/AGENTS.md +57 -0
- package/areas/devops/kubernetes/PROMPTS.md +9 -0
- package/areas/devops/kubernetes/prompts/cluster-bootstrap.md +67 -0
- package/areas/devops/kubernetes/prompts/debug-workload.md +91 -0
- package/areas/devops/kubernetes/prompts/onboard-service.md +101 -0
- package/areas/devops/kubernetes/prompts/upgrade-cluster.md +63 -0
- package/areas/devops/kubernetes/rules/cluster-standards.md +51 -0
- package/areas/devops/kubernetes/rules/resource-governance.md +80 -0
- package/areas/devops/kubernetes/rules/upgrade-policy.md +52 -0
- package/areas/devops/kubernetes/rules/workload-security.md +64 -0
- package/areas/devops/kubernetes/skills/cluster-operations/SKILL.md +136 -0
- package/areas/devops/kubernetes/skills/helm-charts/SKILL.md +152 -0
- package/areas/devops/kubernetes/skills/network-policies/SKILL.md +169 -0
- package/areas/devops/kubernetes/skills/pod-troubleshooting/SKILL.md +129 -0
- package/areas/devops/kubernetes/skills/rbac-design/SKILL.md +148 -0
- package/areas/devops/kubernetes/skills/resource-tuning/SKILL.md +156 -0
- package/areas/devops/kubernetes/workflows/cluster-bootstrap.md +194 -0
- package/areas/devops/kubernetes/workflows/debug-workload.md +108 -0
- package/areas/devops/kubernetes/workflows/onboard-service.md +124 -0
- package/areas/devops/kubernetes/workflows/upgrade-cluster.md +165 -0
- package/areas/devops/networking/AGENTS.md +47 -0
- package/areas/devops/networking/prompts/onboard-ingress.md +119 -0
- package/areas/devops/networking/prompts/service-mesh-onboard.md +77 -0
- package/areas/devops/networking/rules/ingress-standards.md +17 -0
- package/areas/devops/networking/rules/network-segmentation.md +24 -0
- package/areas/devops/networking/rules/tls-policy.md +32 -0
- package/areas/devops/networking/skills/dns-management/SKILL.md +169 -0
- package/areas/devops/networking/skills/ingress-patterns/SKILL.md +165 -0
- package/areas/devops/networking/skills/service-mesh/SKILL.md +206 -0
- package/areas/devops/networking/skills/tls-termination/SKILL.md +198 -0
- package/areas/devops/networking/skills/vpc-design/SKILL.md +132 -0
- package/areas/devops/networking/workflows/onboard-ingress.md +64 -0
- package/areas/devops/networking/workflows/service-mesh-onboard.md +122 -0
- package/areas/devops/observability/AGENTS.md +48 -0
- package/areas/devops/observability/prompts/alert-investigation.md +117 -0
- package/areas/devops/observability/prompts/observability-stack-setup.md +99 -0
- package/areas/devops/observability/prompts/onboard-service-monitoring.md +79 -0
- package/areas/devops/observability/rules/alerting-standards.md +36 -0
- package/areas/devops/observability/rules/data-retention.md +19 -0
- package/areas/devops/observability/rules/golden-signals.md +28 -0
- package/areas/devops/observability/skills/distributed-tracing/SKILL.md +149 -0
- package/areas/devops/observability/skills/grafana-dashboards/SKILL.md +201 -0
- package/areas/devops/observability/skills/log-aggregation/SKILL.md +159 -0
- package/areas/devops/observability/skills/prometheus-alertmanager/SKILL.md +188 -0
- package/areas/devops/observability/skills/slo-implementation/SKILL.md +189 -0
- package/areas/devops/observability/workflows/alert-investigation.md +98 -0
- package/areas/devops/observability/workflows/observability-stack-setup.md +156 -0
- package/areas/devops/observability/workflows/onboard-service-monitoring.md +83 -0
- package/areas/devops/sre/AGENTS.md +48 -0
- package/areas/devops/sre/prompts/incident-response.md +129 -0
- package/areas/devops/sre/prompts/postmortem.md +101 -0
- package/areas/devops/sre/prompts/slo-review.md +125 -0
- package/areas/devops/sre/rules/error-budget-policy.md +25 -0
- package/areas/devops/sre/rules/on-call-standards.md +25 -0
- package/areas/devops/sre/rules/slo-policy.md +31 -0
- package/areas/devops/sre/skills/capacity-planning/SKILL.md +162 -0
- package/areas/devops/sre/skills/chaos-engineering/SKILL.md +186 -0
- package/areas/devops/sre/skills/incident-command/SKILL.md +119 -0
- package/areas/devops/sre/skills/postmortem-analysis/SKILL.md +104 -0
- package/areas/devops/sre/skills/slo-sli-design/SKILL.md +145 -0
- package/areas/devops/sre/workflows/incident-response.md +66 -0
- package/areas/devops/sre/workflows/postmortem.md +90 -0
- package/areas/devops/sre/workflows/slo-review.md +95 -0
- package/areas/software/backend/AGENTS.md +59 -0
- package/areas/software/backend/PROMPTS.md +50 -0
- package/areas/software/backend/README.md +48 -0
- package/areas/software/backend/prompts/add-migration.md +93 -0
- package/areas/software/backend/prompts/create-endpoint.md +97 -0
- package/areas/software/backend/prompts/debug-issue.md +87 -0
- package/areas/software/backend/prompts/develop-epic.md +83 -0
- package/areas/software/backend/prompts/develop-feature.md +91 -0
- package/areas/software/backend/prompts/refactor-module.md +79 -0
- package/areas/software/backend/prompts/test-feature.md +89 -0
- package/areas/software/backend/rules/architecture.md +20 -0
- package/areas/software/backend/rules/data_access.md +20 -0
- package/areas/software/backend/rules/security.md +20 -0
- package/areas/software/backend/rules/testing.md +19 -0
- package/areas/software/backend/skills/api-design/SKILL.md +170 -0
- package/areas/software/backend/skills/async-processing/SKILL.md +152 -0
- package/areas/software/backend/skills/database-modeling/SKILL.md +173 -0
- package/areas/software/backend/skills/observability/SKILL.md +162 -0
- package/areas/software/backend/skills/troubleshooting/SKILL.md +139 -0
- package/areas/software/backend/workflows/add-migration.md +79 -0
- package/areas/software/backend/workflows/create-endpoint.md +89 -0
- package/areas/software/backend/workflows/debug-issue.md +77 -0
- package/areas/software/backend/workflows/develop-epic.md +78 -0
- package/areas/software/backend/workflows/develop-feature.md +98 -0
- package/areas/software/backend/workflows/refactor-module.md +73 -0
- package/areas/software/backend/workflows/test-feature.md +67 -0
- package/areas/software/data-engineering/AGENTS.md +59 -0
- package/areas/software/data-engineering/PROMPTS.md +32 -0
- package/areas/software/data-engineering/prompts/backfill-data.md +107 -0
- package/areas/software/data-engineering/prompts/data-quality-incident.md +109 -0
- package/areas/software/data-engineering/prompts/lineage-trace.md +121 -0
- package/areas/software/data-engineering/prompts/new-model.md +117 -0
- package/areas/software/data-engineering/prompts/schema-migration.md +111 -0
- package/areas/software/data-engineering/rules/data-governance.md +11 -0
- package/areas/software/data-engineering/rules/pii-handling.md +19 -0
- package/areas/software/data-engineering/rules/pipeline-integrity.md +11 -0
- package/areas/software/data-engineering/rules/schema-management.md +21 -0
- package/areas/software/data-engineering/skills/data-modeling/SKILL.md +49 -0
- package/areas/software/data-engineering/skills/dbt-patterns/SKILL.md +43 -0
- package/areas/software/data-engineering/skills/lineage-governance/SKILL.md +38 -0
- package/areas/software/data-engineering/skills/orchestration/SKILL.md +35 -0
- package/areas/software/data-engineering/skills/quality-checks/SKILL.md +50 -0
- package/areas/software/data-engineering/skills/sql-optimization/SKILL.md +47 -0
- package/areas/software/data-engineering/skills/streaming-patterns/SKILL.md +48 -0
- package/areas/software/data-engineering/workflows/backfill-data.md +59 -0
- package/areas/software/data-engineering/workflows/data-quality-incident.md +64 -0
- package/areas/software/data-engineering/workflows/lineage-trace.md +56 -0
- package/areas/software/data-engineering/workflows/new-model.md +71 -0
- package/areas/software/data-engineering/workflows/schema-migration.md +67 -0
- package/areas/software/frontend/AGENTS.md +60 -0
- package/areas/software/frontend/PROMPTS.md +32 -0
- package/areas/software/frontend/prompts/a11y-fix.md +75 -0
- package/areas/software/frontend/prompts/bundle-analyze.md +75 -0
- package/areas/software/frontend/prompts/release-prep.md +83 -0
- package/areas/software/frontend/prompts/scaffold-component.md +69 -0
- package/areas/software/frontend/prompts/visual-regression.md +73 -0
- package/areas/software/frontend/rules/accessibility.md +16 -0
- package/areas/software/frontend/rules/architecture.md +29 -0
- package/areas/software/frontend/rules/performance.md +23 -0
- package/areas/software/frontend/rules/quality.md +12 -0
- package/areas/software/frontend/skills/a11y-audit/SKILL.md +61 -0
- package/areas/software/frontend/skills/api-integration/SKILL.md +58 -0
- package/areas/software/frontend/skills/component-design/SKILL.md +171 -0
- package/areas/software/frontend/skills/css-architecture/SKILL.md +146 -0
- package/areas/software/frontend/skills/error-handling/SKILL.md +55 -0
- package/areas/software/frontend/skills/performance-tuning/SKILL.md +58 -0
- package/areas/software/frontend/skills/state-management/SKILL.md +54 -0
- package/areas/software/frontend/skills/testing-patterns/SKILL.md +69 -0
- package/areas/software/frontend/workflows/a11y-fix.md +63 -0
- package/areas/software/frontend/workflows/bundle-analyze.md +56 -0
- package/areas/software/frontend/workflows/release-prep.md +66 -0
- package/areas/software/frontend/workflows/scaffold-component.md +67 -0
- package/areas/software/frontend/workflows/visual-regression.md +65 -0
- package/areas/software/full-stack/AGENTS.md +72 -0
- package/areas/software/full-stack/PROMPTS.md +66 -0
- package/areas/software/full-stack/prompts/backend-project-full-cycle.md +141 -0
- package/areas/software/full-stack/prompts/debug-issue.md +115 -0
- package/areas/software/full-stack/prompts/develop-feature.md +119 -0
- package/areas/software/full-stack/prompts/feature-implementation-flow.md +137 -0
- package/areas/software/full-stack/prompts/testing-ci-pipeline.md +119 -0
- package/areas/software/full-stack/rules/api-design-guide.md +24 -0
- package/areas/software/full-stack/rules/async-concurrency-guide.md +21 -0
- package/areas/software/full-stack/rules/backend-architecture-rule.md +41 -0
- package/areas/software/full-stack/rules/background-jobs-guide.md +20 -0
- package/areas/software/full-stack/rules/code-quality-guide.md +22 -0
- package/areas/software/full-stack/rules/database-access-guide.md +24 -0
- package/areas/software/full-stack/rules/database-migrations-guide.md +24 -0
- package/areas/software/full-stack/rules/domain-models-guide.md +28 -0
- package/areas/software/full-stack/rules/e2e-test-guide.md +18 -0
- package/areas/software/full-stack/rules/env-settings-guide.md +34 -0
- package/areas/software/full-stack/rules/error-handling-guide.md +20 -0
- package/areas/software/full-stack/rules/logging-observability-guide.md +22 -0
- package/areas/software/full-stack/rules/project-guide.md +34 -0
- package/areas/software/full-stack/rules/python-venv-guide.md +23 -0
- package/areas/software/full-stack/rules/security-guide.md +22 -0
- package/areas/software/full-stack/rules/svt-test-guide.md +17 -0
- package/areas/software/full-stack/rules/testing-ci-guide.md +25 -0
- package/areas/software/full-stack/skills/api-design-principles/SKILL.md +125 -0
- package/areas/software/full-stack/skills/api-design-principles/assets/api-design-checklist.md +155 -0
- package/areas/software/full-stack/skills/api-design-principles/assets/rest-api-template.py +182 -0
- package/areas/software/full-stack/skills/api-design-principles/references/graphql-schema-design.md +583 -0
- package/areas/software/full-stack/skills/api-design-principles/references/rest-best-practices.md +408 -0
- package/areas/software/full-stack/skills/api-design-principles/resources/implementation-playbook.md +513 -0
- package/areas/software/full-stack/skills/api-patterns/SKILL.md +81 -0
- package/areas/software/full-stack/skills/api-patterns/api-style.md +42 -0
- package/areas/software/full-stack/skills/api-patterns/auth.md +24 -0
- package/areas/software/full-stack/skills/api-patterns/documentation.md +26 -0
- package/areas/software/full-stack/skills/api-patterns/graphql.md +41 -0
- package/areas/software/full-stack/skills/api-patterns/rate-limiting.md +31 -0
- package/areas/software/full-stack/skills/api-patterns/response.md +37 -0
- package/areas/software/full-stack/skills/api-patterns/rest.md +40 -0
- package/areas/software/full-stack/skills/api-patterns/scripts/api_validator.py +211 -0
- package/areas/software/full-stack/skills/api-patterns/security-testing.md +122 -0
- package/areas/software/full-stack/skills/api-patterns/trpc.md +41 -0
- package/areas/software/full-stack/skills/api-patterns/versioning.md +22 -0
- package/areas/software/full-stack/skills/app-builder/SKILL.md +135 -0
- package/areas/software/full-stack/skills/app-builder/agent-coordination.md +71 -0
- package/areas/software/full-stack/skills/app-builder/feature-building.md +53 -0
- package/areas/software/full-stack/skills/app-builder/project-detection.md +34 -0
- package/areas/software/full-stack/skills/app-builder/scaffolding.md +118 -0
- package/areas/software/full-stack/skills/app-builder/tech-stack.md +40 -0
- package/areas/software/full-stack/skills/app-builder/templates/SKILL.md +39 -0
- package/areas/software/full-stack/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
- package/areas/software/full-stack/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
- package/areas/software/full-stack/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
- package/areas/software/full-stack/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
- package/areas/software/full-stack/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
- package/areas/software/full-stack/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
- package/areas/software/full-stack/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
- package/areas/software/full-stack/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +82 -0
- package/areas/software/full-stack/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +100 -0
- package/areas/software/full-stack/skills/app-builder/templates/nextjs-static/TEMPLATE.md +106 -0
- package/areas/software/full-stack/skills/app-builder/templates/nuxt-app/TEMPLATE.md +101 -0
- package/areas/software/full-stack/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
- package/areas/software/full-stack/skills/app-builder/templates/react-native-app/TEMPLATE.md +93 -0
- package/areas/software/full-stack/skills/backend-developer/SKILL.md +58 -0
- package/areas/software/full-stack/skills/bash-pro/SKILL.md +310 -0
- package/areas/software/full-stack/skills/blackbox-test/SKILL.md +84 -0
- package/areas/software/full-stack/skills/prompt-project-planner/SKILL.md +130 -0
- package/areas/software/full-stack/skills/prompt-project-planner/output.schema.md +68 -0
- package/areas/software/full-stack/skills/prompt-project-planner/questions.md +80 -0
- package/areas/software/full-stack/skills/python-pro/SKILL.md +158 -0
- package/areas/software/full-stack/skills/skill-creator/LICENSE.txt +202 -0
- package/areas/software/full-stack/skills/skill-creator/SKILL.md +356 -0
- package/areas/software/full-stack/skills/skill-creator/references/output-patterns.md +82 -0
- package/areas/software/full-stack/skills/skill-creator/references/workflows.md +28 -0
- package/areas/software/full-stack/skills/skill-creator/scripts/init_skill.py +303 -0
- package/areas/software/full-stack/skills/skill-creator/scripts/package_skill.py +110 -0
- package/areas/software/full-stack/skills/skill-creator/scripts/quick_validate.py +95 -0
- package/areas/software/full-stack/workflows/backend-project-full-cycle.md +132 -0
- package/areas/software/full-stack/workflows/debug-issue.md +70 -0
- package/areas/software/full-stack/workflows/develop-feature.md +85 -0
- package/areas/software/full-stack/workflows/feature-implementation-flow.md +78 -0
- package/areas/software/full-stack/workflows/testing-ci-pipeline.md +65 -0
- package/areas/software/general/AGENTS.md +68 -0
- package/areas/software/general/prompts/code-review-workflow.md +87 -0
- package/areas/software/general/prompts/development-cycle-workflow.md +83 -0
- package/areas/software/general/prompts/project-setup-workflow.md +93 -0
- package/areas/software/general/rules/code-style-guide.md +31 -0
- package/areas/software/general/rules/docker-compose-guide.md +27 -0
- package/areas/software/general/rules/git-workflow-guide.md +27 -0
- package/areas/software/general/rules/github-workflow-guide.md +27 -0
- package/areas/software/general/rules/gitlab-ci-guide.md +27 -0
- package/areas/software/general/rules/lint-format-guide.md +29 -0
- package/areas/software/general/rules/makefile-guide.md +34 -0
- package/areas/software/general/rules/readme-sync-guide.md +40 -0
- package/areas/software/general/rules/sdlc-methodology-guide.md +27 -0
- package/areas/software/general/rules/sdlc-role-responsibilities.md +108 -0
- package/areas/software/general/skills/general-dev-tools/SKILL.md +324 -0
- package/areas/software/general/workflows/code-review-workflow.md +84 -0
- package/areas/software/general/workflows/development-cycle-workflow.md +85 -0
- package/areas/software/general/workflows/project-setup-workflow.md +94 -0
- package/areas/software/mlops/AGENTS.md +57 -0
- package/areas/software/mlops/PROMPTS.md +32 -0
- package/areas/software/mlops/prompts/champion-challenger.md +87 -0
- package/areas/software/mlops/prompts/deploy-endpoint.md +91 -0
- package/areas/software/mlops/prompts/evaluate-model.md +87 -0
- package/areas/software/mlops/prompts/model-incident.md +87 -0
- package/areas/software/mlops/prompts/train-experiment.md +83 -0
- package/areas/software/mlops/rules/data-integrity.md +9 -0
- package/areas/software/mlops/rules/model-governance.md +9 -0
- package/areas/software/mlops/rules/production-safety.md +9 -0
- package/areas/software/mlops/rules/reproducibility.md +9 -0
- package/areas/software/mlops/skills/experiment-tracking/SKILL.md +29 -0
- package/areas/software/mlops/skills/feature-engineering/SKILL.md +44 -0
- package/areas/software/mlops/skills/inference-serving/SKILL.md +35 -0
- package/areas/software/mlops/skills/model-evaluation/SKILL.md +40 -0
- package/areas/software/mlops/skills/model-monitoring/SKILL.md +32 -0
- package/areas/software/mlops/workflows/champion-challenger.md +65 -0
- package/areas/software/mlops/workflows/deploy-endpoint.md +70 -0
- package/areas/software/mlops/workflows/evaluate-model.md +63 -0
- package/areas/software/mlops/workflows/model-incident.md +64 -0
- package/areas/software/mlops/workflows/train-experiment.md +56 -0
- package/areas/software/mobile/AGENTS.md +58 -0
- package/areas/software/mobile/PROMPTS.md +32 -0
- package/areas/software/mobile/prompts/crash-triage.md +63 -0
- package/areas/software/mobile/prompts/device-testing.md +83 -0
- package/areas/software/mobile/prompts/ota-update.md +75 -0
- package/areas/software/mobile/prompts/release-build.md +67 -0
- package/areas/software/mobile/prompts/store-submission.md +79 -0
- package/areas/software/mobile/rules/offline-first.md +10 -0
- package/areas/software/mobile/rules/performance-budget.md +20 -0
- package/areas/software/mobile/rules/platform-compliance.md +17 -0
- package/areas/software/mobile/rules/security-mobile.md +9 -0
- package/areas/software/mobile/skills/app-store-prep/SKILL.md +27 -0
- package/areas/software/mobile/skills/mobile-testing/SKILL.md +36 -0
- package/areas/software/mobile/skills/native-modules/SKILL.md +38 -0
- package/areas/software/mobile/skills/navigation-patterns/SKILL.md +49 -0
- package/areas/software/mobile/skills/push-notifications/SKILL.md +40 -0
- package/areas/software/mobile/skills/state-sync/SKILL.md +48 -0
- package/areas/software/mobile/workflows/crash-triage.md +63 -0
- package/areas/software/mobile/workflows/device-testing.md +54 -0
- package/areas/software/mobile/workflows/ota-update.md +54 -0
- package/areas/software/mobile/workflows/release-build.md +67 -0
- package/areas/software/mobile/workflows/store-submission.md +63 -0
- package/areas/software/platform/AGENTS.md +67 -0
- package/areas/software/platform/PROMPTS.md +32 -0
- package/areas/software/platform/prompts/cost-audit.md +117 -0
- package/areas/software/platform/prompts/deploy-production.md +109 -0
- package/areas/software/platform/prompts/drift-check.md +107 -0
- package/areas/software/platform/prompts/incident-response.md +121 -0
- package/areas/software/platform/prompts/provision-env.md +113 -0
- package/areas/software/platform/rules/cost-governance.md +11 -0
- package/areas/software/platform/rules/immutability.md +17 -0
- package/areas/software/platform/rules/reliability.md +19 -0
- package/areas/software/platform/rules/security-posture.md +12 -0
- package/areas/software/platform/skills/ci-cd-pipelines/SKILL.md +58 -0
- package/areas/software/platform/skills/incident-response/SKILL.md +41 -0
- package/areas/software/platform/skills/k8s-manifests/SKILL.md +56 -0
- package/areas/software/platform/skills/networking/SKILL.md +44 -0
- package/areas/software/platform/skills/observability-setup/SKILL.md +49 -0
- package/areas/software/platform/skills/secrets-management/SKILL.md +43 -0
- package/areas/software/platform/skills/terraform-patterns/SKILL.md +75 -0
- package/areas/software/platform/workflows/cost-audit.md +61 -0
- package/areas/software/platform/workflows/deploy-production.md +67 -0
- package/areas/software/platform/workflows/drift-check.md +61 -0
- package/areas/software/platform/workflows/incident-response.md +69 -0
- package/areas/software/platform/workflows/provision-env.md +77 -0
- package/areas/software/qa/AGENTS.md +58 -0
- package/areas/software/qa/PROMPTS.md +32 -0
- package/areas/software/qa/prompts/flakiness-investigation.md +61 -0
- package/areas/software/qa/prompts/performance-audit.md +65 -0
- package/areas/software/qa/prompts/regression-suite.md +61 -0
- package/areas/software/qa/prompts/smoke-test.md +65 -0
- package/areas/software/qa/prompts/test-coverage-report.md +61 -0
- package/areas/software/qa/rules/flakiness-policy.md +12 -0
- package/areas/software/qa/rules/quality-gates.md +28 -0
- package/areas/software/qa/rules/test-data.md +9 -0
- package/areas/software/qa/rules/test-strategy.md +11 -0
- package/areas/software/qa/skills/accessibility-testing/SKILL.md +139 -0
- package/areas/software/qa/skills/api-testing/SKILL.md +140 -0
- package/areas/software/qa/skills/e2e-patterns/SKILL.md +152 -0
- package/areas/software/qa/skills/performance-testing/SKILL.md +177 -0
- package/areas/software/qa/skills/test-data-management/SKILL.md +161 -0
- package/areas/software/qa/skills/test-pyramid/SKILL.md +127 -0
- package/areas/software/qa/workflows/flakiness-investigation.md +63 -0
- package/areas/software/qa/workflows/performance-audit.md +59 -0
- package/areas/software/qa/workflows/regression-suite.md +59 -0
- package/areas/software/qa/workflows/smoke-test.md +64 -0
- package/areas/software/qa/workflows/test-coverage-report.md +57 -0
- package/areas/software/security/AGENTS.md +58 -0
- package/areas/software/security/PROMPTS.md +32 -0
- package/areas/software/security/prompts/compliance-report.md +113 -0
- package/areas/software/security/prompts/pen-test-sim.md +113 -0
- package/areas/software/security/prompts/secret-rotation.md +115 -0
- package/areas/software/security/prompts/security-scan.md +91 -0
- package/areas/software/security/prompts/threat-model-review.md +105 -0
- package/areas/software/security/rules/compliance-baseline.md +23 -0
- package/areas/software/security/rules/dependency-policy.md +12 -0
- package/areas/software/security/rules/secrets-policy.md +22 -0
- package/areas/software/security/rules/secure-coding.md +22 -0
- package/areas/software/security/skills/auth-patterns/SKILL.md +42 -0
- package/areas/software/security/skills/crypto-standards/SKILL.md +42 -0
- package/areas/software/security/skills/dependency-audit/SKILL.md +29 -0
- package/areas/software/security/skills/sast-dast-interpretation/SKILL.md +33 -0
- package/areas/software/security/skills/security-headers/SKILL.md +29 -0
- package/areas/software/security/skills/threat-modeling/SKILL.md +36 -0
- package/areas/software/security/workflows/compliance-report.md +57 -0
- package/areas/software/security/workflows/pen-test-sim.md +63 -0
- package/areas/software/security/workflows/secret-rotation.md +67 -0
- package/areas/software/security/workflows/security-scan.md +64 -0
- package/areas/software/security/workflows/threat-model-review.md +62 -0
- package/areas/template/AGENTS-area.tmpl.md +61 -0
- package/areas/template/AGENTS.tmpl.md +67 -0
- package/areas/template/GUIDE.md +102 -0
- package/areas/template/PROMPTS.tmpl.md +29 -0
- package/areas/template/README.md +57 -0
- package/areas/template/README.tmpl.md +51 -0
- package/areas/template/prompt.tmpl.md +101 -0
- package/areas/template/rule.tmpl.md +71 -0
- package/areas/template/skill.tmpl.md +108 -0
- package/areas/template/workflow.tmpl.md +104 -0
- package/bin/agentic.js +24 -0
- package/extensions/antigravity/GEMINI.md +10 -0
- package/extensions/claude/CLAUDE.md +10 -0
- package/extensions/codex/AGENTS.override.md +93 -0
- package/extensions/gemini/GEMINI.md +10 -0
- package/extensions/opencode/agents/designer.md +65 -0
- package/extensions/opencode/agents/developer.md +63 -0
- package/extensions/opencode/agents/devops-engineer.md +69 -0
- package/extensions/opencode/agents/pm.md +61 -0
- package/extensions/opencode/agents/product-owner.md +76 -0
- package/extensions/opencode/agents/qa.md +66 -0
- package/extensions/opencode/agents/team-lead.md +67 -0
- package/extensions/opencode/commands/feature.md +75 -0
- package/extensions/opencode/opencode.json +93 -0
- package/extensions/opencode/plugins/model-checker.json +14 -0
- package/extensions/opencode/plugins/model-checker.ts +279 -0
- package/extensions/opencode/plugins/sound-notification.ts +13 -0
- package/extensions/opencode/plugins/telegram-notification.ts +86 -0
- package/extensions/opencode/skills/code_review_expert/SKILL.md +144 -0
- package/extensions/opencode/skills/design_expert/SKILL.md +42 -0
- package/extensions/opencode/skills/qa_expert/SKILL.md +116 -0
- package/package.json +19 -0
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sbom-supply-chain
|
|
3
|
+
type: skill
|
|
4
|
+
description: Generate, attach, and verify SBOMs (CycloneDX/SPDX) for container images; implement SLSA provenance; harden software supply chain.
|
|
5
|
+
related-rules:
|
|
6
|
+
- supply-chain-security.md (ci-cd)
|
|
7
|
+
- shift-left-policy.md
|
|
8
|
+
allowed-tools: Read, Write, Edit, Bash
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Skill: SBOM & Supply Chain Security
|
|
12
|
+
|
|
13
|
+
> **Expertise:** Syft/Trivy SBOM generation, cosign SBOM attestation, SLSA provenance, dependency pinning, OCI attestations.
|
|
14
|
+
|
|
15
|
+
## When to load
|
|
16
|
+
|
|
17
|
+
When generating SBOMs for images, attaching attestations to OCI registry, verifying supply chain integrity, or achieving SLSA compliance.
|
|
18
|
+
|
|
19
|
+
## SBOM Generation (Syft)
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
# Generate CycloneDX SBOM from image (OCI)
|
|
23
|
+
syft registry.example.com/myorg/order-service:v1.2.3 \
|
|
24
|
+
-o cyclonedx-json=sbom.cdx.json
|
|
25
|
+
|
|
26
|
+
# Generate SPDX SBOM from image
|
|
27
|
+
syft registry.example.com/myorg/order-service:v1.2.3 \
|
|
28
|
+
-o spdx-json=sbom.spdx.json
|
|
29
|
+
|
|
30
|
+
# Generate from local directory (during build)
|
|
31
|
+
syft dir:. -o cyclonedx-json=sbom.cdx.json
|
|
32
|
+
|
|
33
|
+
# Generate from Dockerfile build context (before push)
|
|
34
|
+
syft packages docker:myimage:latest -o cyclonedx-json=sbom.cdx.json
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## SBOM Attestation via cosign
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
# Sign image and attach SBOM as OCI attestation
|
|
41
|
+
# Step 1: Build and push image
|
|
42
|
+
docker buildx build --push \
|
|
43
|
+
-t registry.example.com/myorg/order-service:v1.2.3 .
|
|
44
|
+
|
|
45
|
+
# Step 2: Get digest
|
|
46
|
+
DIGEST=$(crane digest registry.example.com/myorg/order-service:v1.2.3)
|
|
47
|
+
|
|
48
|
+
# Step 3: Generate SBOM
|
|
49
|
+
syft registry.example.com/myorg/order-service:v1.2.3 \
|
|
50
|
+
-o cyclonedx-json=sbom.cdx.json
|
|
51
|
+
|
|
52
|
+
# Step 4: Attach SBOM as attestation (Sigstore keyless)
|
|
53
|
+
cosign attest \
|
|
54
|
+
--predicate sbom.cdx.json \
|
|
55
|
+
--type cyclonedx \
|
|
56
|
+
registry.example.com/myorg/order-service@${DIGEST}
|
|
57
|
+
|
|
58
|
+
# Step 5: Verify attestation exists
|
|
59
|
+
cosign verify-attestation \
|
|
60
|
+
--type cyclonedx \
|
|
61
|
+
--certificate-identity-regexp ".*" \
|
|
62
|
+
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
|
|
63
|
+
registry.example.com/myorg/order-service@${DIGEST} \
|
|
64
|
+
| jq '.payload | @base64d | fromjson | .predicate.metadata'
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## GitHub Actions: Full Supply Chain Pipeline
|
|
68
|
+
|
|
69
|
+
```yaml
|
|
70
|
+
# .github/workflows/supply-chain.yml
|
|
71
|
+
jobs:
|
|
72
|
+
build-sign-attest:
|
|
73
|
+
runs-on: ubuntu-latest
|
|
74
|
+
permissions:
|
|
75
|
+
contents: read
|
|
76
|
+
packages: write
|
|
77
|
+
id-token: write # for cosign keyless signing
|
|
78
|
+
|
|
79
|
+
steps:
|
|
80
|
+
- uses: actions/checkout@v4
|
|
81
|
+
|
|
82
|
+
- name: Install cosign
|
|
83
|
+
uses: sigstore/cosign-installer@v3
|
|
84
|
+
|
|
85
|
+
- name: Install syft
|
|
86
|
+
uses: anchore/sbom-action/download-syft@v0
|
|
87
|
+
|
|
88
|
+
- name: Build and push
|
|
89
|
+
id: build
|
|
90
|
+
uses: docker/build-push-action@v6
|
|
91
|
+
with:
|
|
92
|
+
push: true
|
|
93
|
+
tags: registry.example.com/myorg/order-service:${{ github.sha }}
|
|
94
|
+
|
|
95
|
+
- name: Sign image (keyless via OIDC)
|
|
96
|
+
run: |
|
|
97
|
+
cosign sign \
|
|
98
|
+
registry.example.com/myorg/order-service@${{ steps.build.outputs.digest }}
|
|
99
|
+
|
|
100
|
+
- name: Generate SBOM
|
|
101
|
+
run: |
|
|
102
|
+
syft registry.example.com/myorg/order-service@${{ steps.build.outputs.digest }} \
|
|
103
|
+
-o cyclonedx-json=sbom.cdx.json
|
|
104
|
+
|
|
105
|
+
- name: Attach SBOM attestation
|
|
106
|
+
run: |
|
|
107
|
+
cosign attest \
|
|
108
|
+
--predicate sbom.cdx.json \
|
|
109
|
+
--type cyclonedx \
|
|
110
|
+
registry.example.com/myorg/order-service@${{ steps.build.outputs.digest }}
|
|
111
|
+
|
|
112
|
+
- name: Generate SLSA provenance
|
|
113
|
+
uses: slsa-framework/slsa-github-generator/.github/workflows/generator_container_slsa3.yml@v2
|
|
114
|
+
with:
|
|
115
|
+
image: registry.example.com/myorg/order-service
|
|
116
|
+
digest: ${{ steps.build.outputs.digest }}
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
## Verify Before Deploy (admission check)
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
# Verify image is signed before deploying
|
|
123
|
+
cosign verify \
|
|
124
|
+
--certificate-identity-regexp "https://github.com/myorg/myrepo" \
|
|
125
|
+
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
|
|
126
|
+
registry.example.com/myorg/order-service@sha256:<digest>
|
|
127
|
+
|
|
128
|
+
# Kyverno policy: enforce signed images in production
|
|
129
|
+
# (see opa-policies skill for full Kyverno policy)
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Dependency Pinning (supply chain hardening)
|
|
133
|
+
|
|
134
|
+
```dockerfile
|
|
135
|
+
# Pin base image to digest — not just tag
|
|
136
|
+
FROM python:3.12-slim@sha256:abc123... # ✅
|
|
137
|
+
FROM python:3.12-slim # ❌ tag can be replaced
|
|
138
|
+
|
|
139
|
+
# Verify base image digest in CI
|
|
140
|
+
crane digest python:3.12-slim
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
# Python: generate requirements with hashes (pip-compile)
|
|
145
|
+
pip-compile --generate-hashes requirements.in -o requirements.txt
|
|
146
|
+
|
|
147
|
+
# Install with hash verification
|
|
148
|
+
pip install -r requirements.txt --require-hashes
|
|
149
|
+
|
|
150
|
+
# Node: lock file with integrity hashes (automatic in npm/yarn)
|
|
151
|
+
npm ci # uses package-lock.json with sha512 integrity hashes
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
## SBOM Analysis
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
# Scan SBOM for vulnerabilities (without re-pulling image)
|
|
158
|
+
grype sbom:sbom.cdx.json --fail-on high
|
|
159
|
+
|
|
160
|
+
# List all packages in SBOM
|
|
161
|
+
cat sbom.cdx.json | jq '.components[] | {name: .name, version: .version, purl: .purl}'
|
|
162
|
+
|
|
163
|
+
# Check for GPL licenses in SBOM
|
|
164
|
+
cat sbom.cdx.json | jq '.components[] | select(.licenses[]?.license.id | startswith("GPL"))'
|
|
165
|
+
```
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: secret-detection
|
|
3
|
+
type: skill
|
|
4
|
+
description: Detect secrets in code, git history, and running containers — pre-commit hooks, CI scanning, and incident response for exposed credentials.
|
|
5
|
+
related-rules:
|
|
6
|
+
- shift-left-policy.md
|
|
7
|
+
- secret-hygiene.md (infrastructure)
|
|
8
|
+
allowed-tools: Read, Write, Edit, Bash
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Skill: Secret Detection
|
|
12
|
+
|
|
13
|
+
> **Expertise:** trufflehog, gitleaks, git-secrets, pre-commit hooks, CI scanning, secret rotation playbook.
|
|
14
|
+
|
|
15
|
+
## When to load
|
|
16
|
+
|
|
17
|
+
When setting up secret scanning pre-commit or in CI, investigating a potential credential leak, or remediating secrets found in git history.
|
|
18
|
+
|
|
19
|
+
## Pre-Commit Hook Setup
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
# Install pre-commit
|
|
23
|
+
pip install pre-commit
|
|
24
|
+
|
|
25
|
+
# .pre-commit-config.yaml
|
|
26
|
+
repos:
|
|
27
|
+
- repo: https://github.com/trufflesecurity/trufflehog
|
|
28
|
+
rev: v3.88.0
|
|
29
|
+
hooks:
|
|
30
|
+
- id: trufflehog
|
|
31
|
+
name: TruffleHog — secret scan
|
|
32
|
+
entry: trufflehog git file://. --since-commit HEAD --only-verified --fail
|
|
33
|
+
language: system
|
|
34
|
+
pass_filenames: false
|
|
35
|
+
|
|
36
|
+
- repo: https://github.com/gitleaks/gitleaks
|
|
37
|
+
rev: v8.21.0
|
|
38
|
+
hooks:
|
|
39
|
+
- id: gitleaks
|
|
40
|
+
name: Gitleaks — detect hardcoded secrets
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
# Install hooks for all team members (add to onboarding docs)
|
|
45
|
+
pre-commit install
|
|
46
|
+
pre-commit install --hook-type commit-msg
|
|
47
|
+
|
|
48
|
+
# Run against all files (one-time audit)
|
|
49
|
+
pre-commit run trufflehog --all-files
|
|
50
|
+
pre-commit run gitleaks --all-files
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## CI: trufflehog (GitHub Actions)
|
|
54
|
+
|
|
55
|
+
```yaml
|
|
56
|
+
- name: Scan for secrets (trufflehog)
|
|
57
|
+
uses: trufflesecurity/trufflehog@main
|
|
58
|
+
with:
|
|
59
|
+
path: ./
|
|
60
|
+
base: ${{ github.event.repository.default_branch }}
|
|
61
|
+
head: HEAD
|
|
62
|
+
extra_args: >
|
|
63
|
+
--only-verified
|
|
64
|
+
--fail
|
|
65
|
+
--format json
|
|
66
|
+
--json-output trufflehog-results.json
|
|
67
|
+
continue-on-error: false # hard fail
|
|
68
|
+
|
|
69
|
+
- name: Upload results
|
|
70
|
+
if: failure()
|
|
71
|
+
uses: actions/upload-artifact@v4
|
|
72
|
+
with:
|
|
73
|
+
name: secret-scan-results
|
|
74
|
+
path: trufflehog-results.json
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## CI: gitleaks (GitLab CI)
|
|
78
|
+
|
|
79
|
+
```yaml
|
|
80
|
+
secret-scan:
|
|
81
|
+
stage: validate
|
|
82
|
+
image: zricethezav/gitleaks:latest
|
|
83
|
+
script:
|
|
84
|
+
- gitleaks detect
|
|
85
|
+
--source .
|
|
86
|
+
--config .gitleaks.toml
|
|
87
|
+
--redact
|
|
88
|
+
--exit-code 1
|
|
89
|
+
--report-format json
|
|
90
|
+
--report-path gitleaks-report.json
|
|
91
|
+
artifacts:
|
|
92
|
+
when: on_failure
|
|
93
|
+
paths: [gitleaks-report.json]
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## gitleaks Configuration (.gitleaks.toml)
|
|
97
|
+
|
|
98
|
+
```toml
|
|
99
|
+
# .gitleaks.toml
|
|
100
|
+
title = "MyProject Gitleaks Config"
|
|
101
|
+
|
|
102
|
+
[extend]
|
|
103
|
+
useDefault = true # use built-in rules + extend
|
|
104
|
+
|
|
105
|
+
# Custom rule: internal API keys
|
|
106
|
+
[[rules]]
|
|
107
|
+
id = "internal-api-key"
|
|
108
|
+
description = "Internal API Key"
|
|
109
|
+
regex = '''MYCOMPANY_API_KEY_[A-Za-z0-9]{32}'''
|
|
110
|
+
tags = ["key", "internal"]
|
|
111
|
+
|
|
112
|
+
# Allowlist: suppress known false positives
|
|
113
|
+
[allowlist]
|
|
114
|
+
description = "Global allowlist"
|
|
115
|
+
regexes = [
|
|
116
|
+
'''EXAMPLE_.*''', # example values in docs
|
|
117
|
+
'''test_.*_key''', # test fixtures
|
|
118
|
+
]
|
|
119
|
+
paths = [
|
|
120
|
+
'''.gitleaks.toml''', # this file itself
|
|
121
|
+
'''tests/fixtures/''', # test data
|
|
122
|
+
]
|
|
123
|
+
commits = [
|
|
124
|
+
"abc123def456" # specific commit with known false positive
|
|
125
|
+
]
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## Full Repo Audit (historical scan)
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
# Scan all branches and full history
|
|
132
|
+
trufflehog git file://. \
|
|
133
|
+
--only-verified \
|
|
134
|
+
--format json | tee trufflehog-full-audit.json
|
|
135
|
+
|
|
136
|
+
# Gitleaks: scan full history
|
|
137
|
+
gitleaks detect \
|
|
138
|
+
--source . \
|
|
139
|
+
--log-opts "--all" \
|
|
140
|
+
--report-format json \
|
|
141
|
+
--report-path gitleaks-full-audit.json
|
|
142
|
+
|
|
143
|
+
# Summary: count findings by type
|
|
144
|
+
cat trufflehog-full-audit.json | jq 'group_by(.DetectorName) | map({type: .[0].DetectorName, count: length})'
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## Incident Response: Secret Exposed in Git
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
# STOP: rotate the secret FIRST, before anything else
|
|
151
|
+
# Only after rotation (new secret is active and old one invalid):
|
|
152
|
+
|
|
153
|
+
# 1. Remove from git history using git-filter-repo (safer than filter-branch)
|
|
154
|
+
pip install git-filter-repo
|
|
155
|
+
|
|
156
|
+
git filter-repo \
|
|
157
|
+
--replace-text <(echo 'EXPOSED_SECRET==>REMOVED') \
|
|
158
|
+
--force
|
|
159
|
+
|
|
160
|
+
# 2. Force push (coordinate with team — everyone must re-clone)
|
|
161
|
+
git push --force --all
|
|
162
|
+
git push --force --tags
|
|
163
|
+
|
|
164
|
+
# 3. Notify all contributors to re-clone (old clones have the secret in history)
|
|
165
|
+
|
|
166
|
+
# 4. Check if GitHub/GitLab cached the secret (check forks, PRs, CI logs)
|
|
167
|
+
# GitHub: check cached pipelines in CI for the old secret
|
|
168
|
+
# GitLab: check CI job logs, pipeline artifacts
|
|
169
|
+
|
|
170
|
+
# 5. Audit: who may have cloned or cached the repo during exposure window
|
|
171
|
+
# Check VCS audit logs for clone events
|
|
172
|
+
|
|
173
|
+
# 6. File security incident report
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
## False Positive Management
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
# Inline suppression (trufflehog)
|
|
180
|
+
SOME_VAR="obviously-not-a-secret" # trufflehog:ignore
|
|
181
|
+
|
|
182
|
+
# Inline suppression (gitleaks)
|
|
183
|
+
SOME_VAR="test-value" # gitleaks:allow
|
|
184
|
+
|
|
185
|
+
# .gitleaksignore file (commit-hash based)
|
|
186
|
+
# Get commit hash of false positive commit:
|
|
187
|
+
git log --oneline | grep "Add example config"
|
|
188
|
+
# Add to .gitleaksignore:
|
|
189
|
+
echo "abc123def456:path/to/file.yaml" >> .gitleaksignore
|
|
190
|
+
```
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sigstore-signing
|
|
3
|
+
type: skill
|
|
4
|
+
description: Sign container images and artifacts with cosign (keyless via OIDC and key-based); verify signatures in CD pipelines and admission policies.
|
|
5
|
+
related-rules:
|
|
6
|
+
- supply-chain-security.md (ci-cd)
|
|
7
|
+
- shift-left-policy.md
|
|
8
|
+
allowed-tools: Read, Write, Edit, Bash
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Skill: Sigstore / cosign Signing
|
|
12
|
+
|
|
13
|
+
> **Expertise:** cosign keyless signing (Sigstore), key-based signing, signature verification, Kyverno/OPA enforcement, Rekor transparency log.
|
|
14
|
+
|
|
15
|
+
## When to load
|
|
16
|
+
|
|
17
|
+
When setting up image signing in CI, verifying signatures before deploy, or enforcing signature policies in K8s admission.
|
|
18
|
+
|
|
19
|
+
## Keyless Signing (OIDC — GitHub Actions)
|
|
20
|
+
|
|
21
|
+
```yaml
|
|
22
|
+
# .github/workflows/sign.yml
|
|
23
|
+
jobs:
|
|
24
|
+
sign:
|
|
25
|
+
runs-on: ubuntu-latest
|
|
26
|
+
permissions:
|
|
27
|
+
contents: read
|
|
28
|
+
packages: write
|
|
29
|
+
id-token: write # ← required for keyless OIDC signing
|
|
30
|
+
|
|
31
|
+
steps:
|
|
32
|
+
- name: Install cosign
|
|
33
|
+
uses: sigstore/cosign-installer@v3
|
|
34
|
+
|
|
35
|
+
- name: Build and push
|
|
36
|
+
id: build
|
|
37
|
+
uses: docker/build-push-action@v6
|
|
38
|
+
with:
|
|
39
|
+
push: true
|
|
40
|
+
tags: ghcr.io/myorg/order-service:${{ github.sha }}
|
|
41
|
+
|
|
42
|
+
- name: Sign image (keyless)
|
|
43
|
+
run: |
|
|
44
|
+
cosign sign \
|
|
45
|
+
--yes \
|
|
46
|
+
ghcr.io/myorg/order-service@${{ steps.build.outputs.digest }}
|
|
47
|
+
# Signature stored in Rekor transparency log
|
|
48
|
+
# No private key needed — OIDC token proves identity
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Key-Based Signing (when OIDC not available)
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
# Generate signing key pair (do once; store private key in Vault)
|
|
55
|
+
cosign generate-key-pair
|
|
56
|
+
# Creates: cosign.key (private — store in Vault) + cosign.pub (public — commit to repo)
|
|
57
|
+
|
|
58
|
+
# Sign with key
|
|
59
|
+
cosign sign \
|
|
60
|
+
--key cosign.key \
|
|
61
|
+
registry.example.com/myorg/order-service:v1.2.3
|
|
62
|
+
|
|
63
|
+
# Sign in CI using secret
|
|
64
|
+
cosign sign \
|
|
65
|
+
--key env://COSIGN_PRIVATE_KEY \ # inject from CI secret
|
|
66
|
+
registry.example.com/myorg/order-service:v1.2.3
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Verification
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
# Verify keyless signature (GitHub Actions OIDC)
|
|
73
|
+
cosign verify \
|
|
74
|
+
--certificate-identity-regexp "https://github.com/myorg/myrepo/.github/workflows/.*" \
|
|
75
|
+
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
|
|
76
|
+
ghcr.io/myorg/order-service:v1.2.3
|
|
77
|
+
|
|
78
|
+
# Verify key-based signature
|
|
79
|
+
cosign verify \
|
|
80
|
+
--key cosign.pub \
|
|
81
|
+
registry.example.com/myorg/order-service:v1.2.3
|
|
82
|
+
|
|
83
|
+
# Verify and show full certificate info
|
|
84
|
+
cosign verify \
|
|
85
|
+
--certificate-identity-regexp ".*" \
|
|
86
|
+
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
|
|
87
|
+
ghcr.io/myorg/order-service:v1.2.3 | jq '.[0].optional'
|
|
88
|
+
|
|
89
|
+
# Check Rekor transparency log entry
|
|
90
|
+
cosign verify \
|
|
91
|
+
--rekor-url https://rekor.sigstore.dev \
|
|
92
|
+
... | jq '.[0].rekorLogIndex'
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## Verification in CD Pipeline (before deploy)
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
# Add to Helm pre-upgrade hook or CD pipeline
|
|
99
|
+
DIGEST=$(crane digest registry.example.com/myorg/order-service:${VERSION})
|
|
100
|
+
|
|
101
|
+
cosign verify \
|
|
102
|
+
--certificate-identity-regexp "https://github.com/myorg/.*" \
|
|
103
|
+
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
|
|
104
|
+
registry.example.com/myorg/order-service@${DIGEST} || {
|
|
105
|
+
echo "Image signature verification FAILED — aborting deploy"
|
|
106
|
+
exit 1
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
echo "Signature verified — proceeding with deploy"
|
|
110
|
+
helm upgrade ...
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Kyverno Policy: Enforce Signed Images
|
|
114
|
+
|
|
115
|
+
```yaml
|
|
116
|
+
apiVersion: kyverno.io/v1
|
|
117
|
+
kind: ClusterPolicy
|
|
118
|
+
metadata:
|
|
119
|
+
name: require-signed-images
|
|
120
|
+
spec:
|
|
121
|
+
validationFailureAction: Enforce
|
|
122
|
+
background: false
|
|
123
|
+
rules:
|
|
124
|
+
- name: verify-image-signature
|
|
125
|
+
match:
|
|
126
|
+
any:
|
|
127
|
+
- resources:
|
|
128
|
+
kinds: [Pod]
|
|
129
|
+
namespaces: [production, staging]
|
|
130
|
+
verifyImages:
|
|
131
|
+
- imageReferences:
|
|
132
|
+
- "registry.example.com/myorg/*"
|
|
133
|
+
attestors:
|
|
134
|
+
- count: 1
|
|
135
|
+
entries:
|
|
136
|
+
- keyless:
|
|
137
|
+
subject: "https://github.com/myorg/*"
|
|
138
|
+
issuer: "https://token.actions.githubusercontent.com"
|
|
139
|
+
rekor:
|
|
140
|
+
url: https://rekor.sigstore.dev
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
## Custom Attestations (beyond SBOM)
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
# Attach custom attestation (e.g., test results, compliance evidence)
|
|
147
|
+
cat > test-results.json << 'EOF'
|
|
148
|
+
{
|
|
149
|
+
"tests_passed": 142,
|
|
150
|
+
"tests_failed": 0,
|
|
151
|
+
"coverage_pct": 84.2,
|
|
152
|
+
"timestamp": "2024-11-15T14:22:00Z"
|
|
153
|
+
}
|
|
154
|
+
EOF
|
|
155
|
+
|
|
156
|
+
cosign attest \
|
|
157
|
+
--predicate test-results.json \
|
|
158
|
+
--type https://example.com/predicates/test-results/v1 \
|
|
159
|
+
registry.example.com/myorg/order-service@${DIGEST}
|
|
160
|
+
|
|
161
|
+
# Verify custom attestation
|
|
162
|
+
cosign verify-attestation \
|
|
163
|
+
--type https://example.com/predicates/test-results/v1 \
|
|
164
|
+
--certificate-identity-regexp ".*" \
|
|
165
|
+
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
|
|
166
|
+
registry.example.com/myorg/order-service@${DIGEST} \
|
|
167
|
+
| jq '.payload | @base64d | fromjson | .predicate'
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
## Signing Key Rotation
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
# 1. Generate new key pair
|
|
174
|
+
cosign generate-key-pair # → new cosign.key + cosign.pub
|
|
175
|
+
|
|
176
|
+
# 2. Re-sign all production images with new key
|
|
177
|
+
for image in $(cat production-images.txt); do
|
|
178
|
+
cosign sign --key new-cosign.key $image
|
|
179
|
+
done
|
|
180
|
+
|
|
181
|
+
# 3. Update Kyverno policy to accept BOTH old and new key during transition
|
|
182
|
+
# 4. After all images re-signed: remove old key from policy
|
|
183
|
+
# 5. Revoke old key in Vault; delete from CI secrets
|
|
184
|
+
```
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: policy-onboard
|
|
3
|
+
type: workflow
|
|
4
|
+
trigger: /policy-onboard
|
|
5
|
+
description: Deploy OPA/Gatekeeper or Kyverno admission policies to a cluster or namespace — design, test, dry-run, enforce.
|
|
6
|
+
inputs:
|
|
7
|
+
- policy_name
|
|
8
|
+
- engine (gatekeeper|kyverno)
|
|
9
|
+
- target_namespaces
|
|
10
|
+
- enforcement_action (deny|warn|dryrun)
|
|
11
|
+
outputs:
|
|
12
|
+
- deployed_policies
|
|
13
|
+
- test_results
|
|
14
|
+
roles:
|
|
15
|
+
- devops-engineer
|
|
16
|
+
execution:
|
|
17
|
+
initiator: developer
|
|
18
|
+
related-rules:
|
|
19
|
+
- policy-as-code.md
|
|
20
|
+
- container-security.md
|
|
21
|
+
uses-skills:
|
|
22
|
+
- opa-policies
|
|
23
|
+
- container-hardening
|
|
24
|
+
quality-gates:
|
|
25
|
+
- each policy tested with passing AND failing manifest before deploy
|
|
26
|
+
- dryrun in staging before enforce in production
|
|
27
|
+
- existing workloads checked for compliance before switching to enforce
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Steps
|
|
31
|
+
|
|
32
|
+
### 1. Design Policy — `@devops-engineer`
|
|
33
|
+
- What is the policy checking? (privilege escalation / missing limits / bad image tag)
|
|
34
|
+
- Which resource types and namespaces does it apply to?
|
|
35
|
+
- What is the enforcement mode for each environment?
|
|
36
|
+
- staging: `warn` or `dryrun` → gather data, don't break things
|
|
37
|
+
- production: `deny` (after staging validation)
|
|
38
|
+
- Write policy in Rego (Gatekeeper) or YAML (Kyverno)
|
|
39
|
+
|
|
40
|
+
### 2. Unit Test — `@devops-engineer`
|
|
41
|
+
```bash
|
|
42
|
+
# Gatekeeper / OPA
|
|
43
|
+
opa test policies/ -v --ignore='*_test.rego'
|
|
44
|
+
|
|
45
|
+
# Kyverno
|
|
46
|
+
kyverno test . --test-case-selector "policy=${POLICY_NAME}"
|
|
47
|
+
|
|
48
|
+
# Manual: apply failing manifest and expect rejection
|
|
49
|
+
kubectl apply --dry-run=server -f test/failing-manifest.yaml
|
|
50
|
+
# Should output: "admission webhook ... denied"
|
|
51
|
+
|
|
52
|
+
kubectl apply --dry-run=server -f test/passing-manifest.yaml
|
|
53
|
+
# Should output: "... configured (dry run)"
|
|
54
|
+
```
|
|
55
|
+
- **Done when:** unit tests pass; both positive and negative cases covered
|
|
56
|
+
|
|
57
|
+
### 3. Dryrun in Staging — `@devops-engineer`
|
|
58
|
+
```bash
|
|
59
|
+
# Gatekeeper: deploy with dryrun enforcement
|
|
60
|
+
kubectl apply -f policies/gatekeeper/constraints/${POLICY}-staging.yaml
|
|
61
|
+
# enforcement_action: dryrun ← logs violations, does not block
|
|
62
|
+
|
|
63
|
+
# Wait 10 minutes, then check for violations
|
|
64
|
+
kubectl get constraint ${POLICY} -o json | \
|
|
65
|
+
jq '.status.violations'
|
|
66
|
+
|
|
67
|
+
# Kyverno: audit mode
|
|
68
|
+
# spec.validationFailureAction: Audit ← logs, does not block
|
|
69
|
+
kubectl get polr -n ${NAMESPACE} # policy reports
|
|
70
|
+
```
|
|
71
|
+
- Document: which existing workloads would be blocked if set to `deny`?
|
|
72
|
+
- For each violation: fix workload OR create documented exception
|
|
73
|
+
|
|
74
|
+
### 4. Fix Existing Violations — `@developer` + `@devops-engineer`
|
|
75
|
+
- For each dryrun violation: fix the workload manifest (add securityContext, resource limits, etc.)
|
|
76
|
+
- Create tracking tickets for violations that require code changes
|
|
77
|
+
- **Do not proceed to enforce until existing violations are resolved**
|
|
78
|
+
|
|
79
|
+
### 5. Switch to Enforce — `@devops-engineer` + `@team-lead`
|
|
80
|
+
```bash
|
|
81
|
+
# After all violations resolved in staging:
|
|
82
|
+
# Update constraint enforcement action
|
|
83
|
+
kubectl patch constraint ${POLICY} \
|
|
84
|
+
--type=merge \
|
|
85
|
+
-p '{"spec":{"enforcementAction":"deny"}}'
|
|
86
|
+
|
|
87
|
+
# Verify: try deploying a non-compliant manifest
|
|
88
|
+
kubectl apply --dry-run=server -f test/failing-manifest.yaml
|
|
89
|
+
# Must be rejected
|
|
90
|
+
```
|
|
91
|
+
- Apply same enforce mode to production after staging confirmed clean
|
|
92
|
+
- Announce in #devops-changes: "Policy ${POLICY} now enforcing in production"
|
|
93
|
+
|
|
94
|
+
### 6. Monitor Policy Health — `@devops-engineer`
|
|
95
|
+
```bash
|
|
96
|
+
# Gatekeeper: ongoing violation audit (runs every 60s)
|
|
97
|
+
kubectl get constraint ${POLICY} -o jsonpath='{.status.byPod}'
|
|
98
|
+
|
|
99
|
+
# Set up Prometheus alert for policy violations
|
|
100
|
+
# metric: gatekeeper_violations_total{enforcement_action="deny"}
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Exit
|
|
104
|
+
Policy tested + existing violations resolved + enforce mode active + monitoring in place = policy onboarded.
|