@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,198 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tls-termination
|
|
3
|
+
type: skill
|
|
4
|
+
description: Configure TLS termination with cert-manager — Let's Encrypt, internal CA via Vault PKI, wildcard certs, mTLS between services.
|
|
5
|
+
related-rules:
|
|
6
|
+
- tls-policy.md
|
|
7
|
+
allowed-tools: Read, Write, Edit, Bash
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Skill: TLS Termination
|
|
11
|
+
|
|
12
|
+
> **Expertise:** cert-manager ClusterIssuer, Let's Encrypt ACME (HTTP-01 + DNS-01), Vault PKI, cert rotation, mTLS.
|
|
13
|
+
|
|
14
|
+
## When to load
|
|
15
|
+
|
|
16
|
+
When setting up TLS for a new service, debugging certificate issuance, rotating certificates, or implementing mTLS.
|
|
17
|
+
|
|
18
|
+
## cert-manager: Let's Encrypt (HTTP-01)
|
|
19
|
+
|
|
20
|
+
```yaml
|
|
21
|
+
# ClusterIssuer — Let's Encrypt production
|
|
22
|
+
apiVersion: cert-manager.io/v1
|
|
23
|
+
kind: ClusterIssuer
|
|
24
|
+
metadata:
|
|
25
|
+
name: letsencrypt-prod
|
|
26
|
+
spec:
|
|
27
|
+
acme:
|
|
28
|
+
server: https://acme-v02.api.letsencrypt.org/directory
|
|
29
|
+
email: ops@example.com
|
|
30
|
+
privateKeySecretRef:
|
|
31
|
+
name: letsencrypt-prod-key
|
|
32
|
+
solvers:
|
|
33
|
+
- http01:
|
|
34
|
+
ingress:
|
|
35
|
+
class: nginx # must match ingressClassName in Ingress
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
# Staging issuer (for testing — no rate limits)
|
|
39
|
+
apiVersion: cert-manager.io/v1
|
|
40
|
+
kind: ClusterIssuer
|
|
41
|
+
metadata:
|
|
42
|
+
name: letsencrypt-staging
|
|
43
|
+
spec:
|
|
44
|
+
acme:
|
|
45
|
+
server: https://acme-staging-v02.api.letsencrypt.org/directory
|
|
46
|
+
email: ops@example.com
|
|
47
|
+
privateKeySecretRef:
|
|
48
|
+
name: letsencrypt-staging-key
|
|
49
|
+
solvers:
|
|
50
|
+
- http01:
|
|
51
|
+
ingress:
|
|
52
|
+
class: nginx
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## cert-manager: Let's Encrypt (DNS-01 — for wildcard certs)
|
|
56
|
+
|
|
57
|
+
```yaml
|
|
58
|
+
# Requires DNS provider API credentials
|
|
59
|
+
apiVersion: cert-manager.io/v1
|
|
60
|
+
kind: ClusterIssuer
|
|
61
|
+
metadata:
|
|
62
|
+
name: letsencrypt-dns
|
|
63
|
+
spec:
|
|
64
|
+
acme:
|
|
65
|
+
server: https://acme-v02.api.letsencrypt.org/directory
|
|
66
|
+
email: ops@example.com
|
|
67
|
+
privateKeySecretRef:
|
|
68
|
+
name: letsencrypt-dns-key
|
|
69
|
+
solvers:
|
|
70
|
+
- dns01:
|
|
71
|
+
cloudflare:
|
|
72
|
+
email: ops@example.com
|
|
73
|
+
apiTokenSecretRef:
|
|
74
|
+
name: cloudflare-api-token
|
|
75
|
+
key: api-token
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
# Wildcard certificate
|
|
79
|
+
apiVersion: cert-manager.io/v1
|
|
80
|
+
kind: Certificate
|
|
81
|
+
metadata:
|
|
82
|
+
name: wildcard-example-com
|
|
83
|
+
namespace: production
|
|
84
|
+
spec:
|
|
85
|
+
secretName: wildcard-example-com-tls
|
|
86
|
+
issuerRef:
|
|
87
|
+
name: letsencrypt-dns
|
|
88
|
+
kind: ClusterIssuer
|
|
89
|
+
dnsNames:
|
|
90
|
+
- "*.example.com"
|
|
91
|
+
- "example.com"
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## cert-manager: Internal CA via Vault PKI
|
|
95
|
+
|
|
96
|
+
```yaml
|
|
97
|
+
# ClusterIssuer backed by HashiCorp Vault
|
|
98
|
+
apiVersion: cert-manager.io/v1
|
|
99
|
+
kind: ClusterIssuer
|
|
100
|
+
metadata:
|
|
101
|
+
name: vault-pki
|
|
102
|
+
spec:
|
|
103
|
+
vault:
|
|
104
|
+
server: https://vault.infra.svc.cluster.local:8200
|
|
105
|
+
path: pki/sign/internal-services
|
|
106
|
+
auth:
|
|
107
|
+
kubernetes:
|
|
108
|
+
mountPath: /v1/auth/kubernetes
|
|
109
|
+
role: cert-manager
|
|
110
|
+
secretRef:
|
|
111
|
+
name: cert-manager-vault-token
|
|
112
|
+
key: token
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
# Internal service certificate (short-lived, auto-rotated)
|
|
116
|
+
apiVersion: cert-manager.io/v1
|
|
117
|
+
kind: Certificate
|
|
118
|
+
metadata:
|
|
119
|
+
name: payment-service-tls
|
|
120
|
+
namespace: production
|
|
121
|
+
spec:
|
|
122
|
+
secretName: payment-service-tls
|
|
123
|
+
issuerRef:
|
|
124
|
+
name: vault-pki
|
|
125
|
+
kind: ClusterIssuer
|
|
126
|
+
duration: 24h # short-lived internal certs
|
|
127
|
+
renewBefore: 8h # renew 8h before expiry
|
|
128
|
+
dnsNames:
|
|
129
|
+
- payment-service.production.svc.cluster.local
|
|
130
|
+
- payment-service.production
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## Certificate Debugging
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
# Check certificate status
|
|
137
|
+
kubectl get certificate -A
|
|
138
|
+
kubectl describe certificate <name> -n <ns>
|
|
139
|
+
# Look for: Conditions: Ready=True / reason for failure in Events
|
|
140
|
+
|
|
141
|
+
# Check CertificateRequest and Order (debugging ACME)
|
|
142
|
+
kubectl get certificaterequest -n <ns>
|
|
143
|
+
kubectl describe certificaterequest <n> -n <ns>
|
|
144
|
+
kubectl get order -n <ns>
|
|
145
|
+
kubectl describe order <n> -n <ns>
|
|
146
|
+
|
|
147
|
+
# Test ACME challenge reachability
|
|
148
|
+
curl -v http://<domain>/.well-known/acme-challenge/test
|
|
149
|
+
|
|
150
|
+
# Check TLS certificate details
|
|
151
|
+
echo | openssl s_client -connect api.example.com:443 -servername api.example.com 2>/dev/null \
|
|
152
|
+
| openssl x509 -noout -text | grep -E "Subject:|DNS:|Not After"
|
|
153
|
+
|
|
154
|
+
# Check cert expiry for all ingresses
|
|
155
|
+
kubectl get secret -A -o json | jq -r '
|
|
156
|
+
.items[] | select(.type == "kubernetes.io/tls") |
|
|
157
|
+
"\(.metadata.namespace)/\(.metadata.name)"' | while read secret; do
|
|
158
|
+
ns=$(echo $secret | cut -d/ -f1)
|
|
159
|
+
name=$(echo $secret | cut -d/ -f2)
|
|
160
|
+
kubectl get secret $name -n $ns -o jsonpath='{.data.tls\.crt}' | \
|
|
161
|
+
base64 -d | openssl x509 -noout -enddate -subject 2>/dev/null | \
|
|
162
|
+
awk -v s="$secret" '{print s": "$0}'
|
|
163
|
+
done
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
## mTLS (service-to-service with cert-manager)
|
|
167
|
+
|
|
168
|
+
```yaml
|
|
169
|
+
# Each service gets a client cert for mTLS
|
|
170
|
+
apiVersion: cert-manager.io/v1
|
|
171
|
+
kind: Certificate
|
|
172
|
+
metadata:
|
|
173
|
+
name: order-service-client-cert
|
|
174
|
+
namespace: production
|
|
175
|
+
spec:
|
|
176
|
+
secretName: order-service-client-tls
|
|
177
|
+
issuerRef:
|
|
178
|
+
name: vault-pki
|
|
179
|
+
kind: ClusterIssuer
|
|
180
|
+
duration: 24h
|
|
181
|
+
usages:
|
|
182
|
+
- client auth # mTLS client usage
|
|
183
|
+
- digital signature
|
|
184
|
+
subject:
|
|
185
|
+
organizations: [mycompany]
|
|
186
|
+
commonName: order-service.production
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
```python
|
|
190
|
+
# Python: use client cert for mTLS call to upstream
|
|
191
|
+
import httpx
|
|
192
|
+
|
|
193
|
+
client = httpx.Client(
|
|
194
|
+
cert=("/var/run/secrets/tls/tls.crt", "/var/run/secrets/tls/tls.key"),
|
|
195
|
+
verify="/var/run/secrets/ca/ca.crt", # internal CA bundle
|
|
196
|
+
)
|
|
197
|
+
response = client.get("https://payment-service.production.svc.cluster.local:8443/charge")
|
|
198
|
+
```
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vpc-design
|
|
3
|
+
type: skill
|
|
4
|
+
description: Design cloud-agnostic private networks — subnet layout, CIDR allocation, zone redundancy, routing, and bare-metal equivalent.
|
|
5
|
+
related-rules:
|
|
6
|
+
- network-segmentation.md
|
|
7
|
+
allowed-tools: Read, Write, Edit
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Skill: VPC / Network Design
|
|
11
|
+
|
|
12
|
+
> **Expertise:** CIDR planning, zone-redundant subnets, routing tables, NAT, VPN/peering — AWS, GCP, Hetzner, and bare-metal.
|
|
13
|
+
|
|
14
|
+
## When to load
|
|
15
|
+
|
|
16
|
+
When designing a new network for a cloud environment or bare-metal cluster, planning subnets, or diagnosing routing issues.
|
|
17
|
+
|
|
18
|
+
## CIDR Allocation Strategy
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
Organization supernet: 10.0.0.0/8
|
|
22
|
+
|
|
23
|
+
Environment blocks:
|
|
24
|
+
production: 10.10.0.0/16 (65,534 addresses)
|
|
25
|
+
staging: 10.20.0.0/16
|
|
26
|
+
dev: 10.30.0.0/16
|
|
27
|
+
|
|
28
|
+
Per-environment subnet layout (/16 → four /18 zones):
|
|
29
|
+
Zone A (eu-west-1a): 10.10.0.0/18 (16,382 IPs)
|
|
30
|
+
Public subnet: 10.10.0.0/20 (4,094 IPs — load balancers, NAT GW)
|
|
31
|
+
App subnet: 10.10.16.0/20 (4,094 IPs — K8s nodes)
|
|
32
|
+
Data subnet: 10.10.32.0/20 (4,094 IPs — databases, Redis)
|
|
33
|
+
|
|
34
|
+
Zone B (eu-west-1b): 10.10.64.0/18
|
|
35
|
+
(same subdivision pattern)
|
|
36
|
+
|
|
37
|
+
Zone C (eu-west-1c): 10.10.128.0/18
|
|
38
|
+
(same subdivision pattern)
|
|
39
|
+
|
|
40
|
+
Reserved / Management: 10.10.192.0/18
|
|
41
|
+
Management subnet: 10.10.192.0/24 (jump hosts, CI runners)
|
|
42
|
+
Future expansion: 10.10.193.0/18
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Terraform: AWS VPC Module
|
|
46
|
+
|
|
47
|
+
```hcl
|
|
48
|
+
module "vpc" {
|
|
49
|
+
source = "git::https://git.example.com/infra/modules//vpc?ref=v2.1.0"
|
|
50
|
+
|
|
51
|
+
project = var.project
|
|
52
|
+
environment = var.environment
|
|
53
|
+
cidr = "10.10.0.0/16"
|
|
54
|
+
|
|
55
|
+
azs = ["eu-west-1a", "eu-west-1b", "eu-west-1c"]
|
|
56
|
+
public_subnets = ["10.10.0.0/20", "10.10.64.0/20", "10.10.128.0/20"]
|
|
57
|
+
private_subnets = ["10.10.16.0/20", "10.10.80.0/20", "10.10.144.0/20"]
|
|
58
|
+
database_subnets = ["10.10.32.0/20", "10.10.96.0/20", "10.10.160.0/20"]
|
|
59
|
+
|
|
60
|
+
enable_nat_gateway = true
|
|
61
|
+
single_nat_gateway = var.environment != "production" # save cost in non-prod
|
|
62
|
+
|
|
63
|
+
# K8s tags (required for AWS Load Balancer Controller)
|
|
64
|
+
private_subnet_tags = {
|
|
65
|
+
"kubernetes.io/role/internal-elb" = "1"
|
|
66
|
+
"kubernetes.io/cluster/${local.cluster_name}" = "owned"
|
|
67
|
+
}
|
|
68
|
+
public_subnet_tags = {
|
|
69
|
+
"kubernetes.io/role/elb" = "1"
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Terraform: Hetzner Network
|
|
75
|
+
|
|
76
|
+
```hcl
|
|
77
|
+
resource "hcloud_network" "main" {
|
|
78
|
+
name = "${var.project}-${var.environment}"
|
|
79
|
+
ip_range = "10.10.0.0/16"
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
resource "hcloud_network_subnet" "k8s_nodes" {
|
|
83
|
+
network_id = hcloud_network.main.id
|
|
84
|
+
type = "cloud"
|
|
85
|
+
network_zone = "eu-central"
|
|
86
|
+
ip_range = "10.10.16.0/20"
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
resource "hcloud_network_subnet" "databases" {
|
|
90
|
+
network_id = hcloud_network.main.id
|
|
91
|
+
type = "cloud"
|
|
92
|
+
network_zone = "eu-central"
|
|
93
|
+
ip_range = "10.10.32.0/20"
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
# Attach servers to subnets
|
|
97
|
+
resource "hcloud_server_network" "worker" {
|
|
98
|
+
for_each = var.worker_servers
|
|
99
|
+
server_id = each.value.id
|
|
100
|
+
network_id = hcloud_network.main.id
|
|
101
|
+
ip = each.value.private_ip
|
|
102
|
+
}
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## Bare-Metal Network Design
|
|
106
|
+
|
|
107
|
+
```
|
|
108
|
+
Physical topology:
|
|
109
|
+
- 2× top-of-rack switches (bonded for HA)
|
|
110
|
+
- Each server: 2× 10GbE NICs (bonded: active-backup or LACP)
|
|
111
|
+
|
|
112
|
+
VLAN layout:
|
|
113
|
+
VLAN 10 (management): 192.168.10.0/24 — IPMI, switch mgmt
|
|
114
|
+
VLAN 20 (K8s nodes): 10.10.16.0/20 — kubelet, pod CIDR routed
|
|
115
|
+
VLAN 30 (storage): 10.10.32.0/24 — Longhorn/Ceph replication
|
|
116
|
+
VLAN 40 (public): 203.0.113.0/28 — load balancer IPs (MetalLB pool)
|
|
117
|
+
|
|
118
|
+
Routing:
|
|
119
|
+
- Default GW on VLAN 20 → firewall → internet (via NAT for egress)
|
|
120
|
+
- VLAN 30 (storage) — no routing outside rack (isolated L2)
|
|
121
|
+
- VLAN 40 — router sends public IPs to MetalLB L2 advertisement
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## Network Security Design Checklist
|
|
125
|
+
|
|
126
|
+
- [ ] Data subnets have no route to internet (no NAT GW for DB subnet)
|
|
127
|
+
- [ ] Management access via VPN or jump host only (no public SSH)
|
|
128
|
+
- [ ] NAT Gateway in each AZ (not single NAT — single point of failure)
|
|
129
|
+
- [ ] VPC Flow Logs enabled (30-day retention)
|
|
130
|
+
- [ ] Security groups default-deny; rules documented with justification
|
|
131
|
+
- [ ] Subnet CIDR does not overlap with on-prem or peered VPCs
|
|
132
|
+
- [ ] IPv6 considered (especially for K8s pod addressing at scale)
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: onboard-ingress
|
|
3
|
+
type: workflow
|
|
4
|
+
trigger: /onboard-ingress
|
|
5
|
+
description: Expose a Kubernetes service externally — Ingress, TLS, rate limiting, MetalLB (bare-metal).
|
|
6
|
+
inputs:
|
|
7
|
+
- service_name
|
|
8
|
+
- hostname
|
|
9
|
+
- tls_source (letsencrypt|internal-ca|manual)
|
|
10
|
+
outputs:
|
|
11
|
+
- ingress_resource
|
|
12
|
+
- tls_certificate_issued
|
|
13
|
+
- service_accessible
|
|
14
|
+
roles:
|
|
15
|
+
- devops-engineer
|
|
16
|
+
execution:
|
|
17
|
+
initiator: developer
|
|
18
|
+
related-rules:
|
|
19
|
+
- ingress-standards.md
|
|
20
|
+
- tls-policy.md
|
|
21
|
+
uses-skills:
|
|
22
|
+
- ingress-patterns
|
|
23
|
+
- tls-termination
|
|
24
|
+
quality-gates:
|
|
25
|
+
- TLS certificate issued (not just pending)
|
|
26
|
+
- HTTPS accessible; HTTP redirects
|
|
27
|
+
- Rate limiting verified with load test
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Steps
|
|
31
|
+
|
|
32
|
+
### 1. Write Ingress Manifest — `@devops-engineer`
|
|
33
|
+
- Include all mandatory annotations (ssl-redirect, rate-limit, security headers, timeouts)
|
|
34
|
+
- Set cert-manager annotation matching chosen issuer
|
|
35
|
+
- **Done when:** `kubectl apply --dry-run=server` passes
|
|
36
|
+
|
|
37
|
+
### 2. Apply & Wait for Certificate — `@devops-engineer`
|
|
38
|
+
```bash
|
|
39
|
+
kubectl apply -f ingress.yaml
|
|
40
|
+
# Watch certificate issuance (Let's Encrypt: up to 2 min; internal CA: < 30s)
|
|
41
|
+
kubectl get certificate -n <ns> -w
|
|
42
|
+
kubectl describe certificate <cert-name> -n <ns> # check events if stuck
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### 3. Verify HTTPS — `@devops-engineer`
|
|
46
|
+
```bash
|
|
47
|
+
curl -v https://<hostname>/health
|
|
48
|
+
# Check: TLS version, cipher, cert expiry, HSTS header
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### 4. Verify Rate Limiting — `@devops-engineer`
|
|
52
|
+
```bash
|
|
53
|
+
# Quick rate limit test (expect 429 after N requests)
|
|
54
|
+
for i in $(seq 1 200); do
|
|
55
|
+
curl -s -o /dev/null -w "%{http_code}\n" https://<hostname>/health
|
|
56
|
+
done | sort | uniq -c
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### 5. DNS (if needed) — `@devops-engineer`
|
|
60
|
+
- Point hostname to MetalLB external IP: `kubectl get svc -n ingress-nginx`
|
|
61
|
+
- Add A record in DNS provider or internal CoreDNS
|
|
62
|
+
|
|
63
|
+
## Exit
|
|
64
|
+
HTTPS accessible + cert issued + security headers present + rate limit verified = ingress onboarded.
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: service-mesh-onboard
|
|
3
|
+
type: workflow
|
|
4
|
+
trigger: /service-mesh-onboard
|
|
5
|
+
description: Onboard a service to Linkerd or Istio service mesh — inject sidecar, validate mTLS, configure retry/timeout policies.
|
|
6
|
+
inputs:
|
|
7
|
+
- service_name
|
|
8
|
+
- namespace
|
|
9
|
+
- mesh (linkerd|istio)
|
|
10
|
+
outputs:
|
|
11
|
+
- service_meshed
|
|
12
|
+
- mtls_verified
|
|
13
|
+
- policies_applied
|
|
14
|
+
roles:
|
|
15
|
+
- devops-engineer
|
|
16
|
+
execution:
|
|
17
|
+
initiator: developer
|
|
18
|
+
related-rules:
|
|
19
|
+
- network-segmentation.md
|
|
20
|
+
- tls-policy.md
|
|
21
|
+
uses-skills:
|
|
22
|
+
- service-mesh
|
|
23
|
+
- ingress-patterns
|
|
24
|
+
quality-gates:
|
|
25
|
+
- mTLS verified between service and at least one upstream/downstream
|
|
26
|
+
- no plaintext traffic visible in mesh telemetry
|
|
27
|
+
- retry/timeout policy applied for critical paths
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Steps
|
|
31
|
+
|
|
32
|
+
### 1. Pre-Check Mesh Health — `@devops-engineer`
|
|
33
|
+
```bash
|
|
34
|
+
# Linkerd
|
|
35
|
+
linkerd check
|
|
36
|
+
linkerd viz stat ns/default # verify mesh is processing traffic
|
|
37
|
+
|
|
38
|
+
# Istio
|
|
39
|
+
istioctl check-inject -n ${NAMESPACE}
|
|
40
|
+
istioctl analyze -n ${NAMESPACE}
|
|
41
|
+
```
|
|
42
|
+
- **Done when:** mesh healthy with no data plane issues
|
|
43
|
+
|
|
44
|
+
### 2. Enable Injection — `@devops-engineer`
|
|
45
|
+
```bash
|
|
46
|
+
# Linkerd: annotate namespace (all new pods get sidecar)
|
|
47
|
+
kubectl annotate namespace ${NAMESPACE} linkerd.io/inject=enabled
|
|
48
|
+
|
|
49
|
+
# Istio: label namespace
|
|
50
|
+
kubectl label namespace ${NAMESPACE} istio-injection=enabled
|
|
51
|
+
|
|
52
|
+
# Restart pods to inject sidecar into existing pods
|
|
53
|
+
kubectl rollout restart deployment/${SERVICE} -n ${NAMESPACE}
|
|
54
|
+
```
|
|
55
|
+
- **Done when:** `kubectl get pods -n ${NAMESPACE}` shows 2/2 (or 3/3 for Istio) containers
|
|
56
|
+
|
|
57
|
+
### 3. Verify mTLS — `@devops-engineer`
|
|
58
|
+
```bash
|
|
59
|
+
# Linkerd: check edges (shows whether traffic is mTLS)
|
|
60
|
+
linkerd viz edges deployment/${SERVICE} -n ${NAMESPACE}
|
|
61
|
+
# Look for: SECURED column = true
|
|
62
|
+
|
|
63
|
+
linkerd viz tap deployment/${SERVICE} -n ${NAMESPACE} \
|
|
64
|
+
| grep -E "tls|secure"
|
|
65
|
+
|
|
66
|
+
# Istio: verify PeerAuthentication is enforced
|
|
67
|
+
kubectl get peerauthentication -n ${NAMESPACE}
|
|
68
|
+
# If no PeerAuthentication: all traffic still accepted (PERMISSIVE)
|
|
69
|
+
# Apply STRICT mode after all services in namespace are meshed:
|
|
70
|
+
kubectl apply -f - << 'YAML'
|
|
71
|
+
apiVersion: security.istio.io/v1beta1
|
|
72
|
+
kind: PeerAuthentication
|
|
73
|
+
metadata:
|
|
74
|
+
name: default
|
|
75
|
+
namespace: ${NAMESPACE}
|
|
76
|
+
spec:
|
|
77
|
+
mtls:
|
|
78
|
+
mode: STRICT
|
|
79
|
+
YAML
|
|
80
|
+
```
|
|
81
|
+
- **Done when:** `linkerd viz edges` shows SECURED=true or Istio PeerAuthentication=STRICT
|
|
82
|
+
|
|
83
|
+
### 4. Apply Traffic Policies — `@devops-engineer`
|
|
84
|
+
```bash
|
|
85
|
+
# Linkerd ServiceProfile: retries + timeouts
|
|
86
|
+
kubectl apply -f - << 'YAML'
|
|
87
|
+
apiVersion: linkerd.io/v1alpha2
|
|
88
|
+
kind: ServiceProfile
|
|
89
|
+
metadata:
|
|
90
|
+
name: ${SERVICE}.${NAMESPACE}.svc.cluster.local
|
|
91
|
+
namespace: ${NAMESPACE}
|
|
92
|
+
spec:
|
|
93
|
+
routes:
|
|
94
|
+
- name: POST /api/orders
|
|
95
|
+
condition:
|
|
96
|
+
method: POST
|
|
97
|
+
pathRegex: /api/orders
|
|
98
|
+
timeout: 10s
|
|
99
|
+
retryBudget:
|
|
100
|
+
retryRatio: 0.2
|
|
101
|
+
minRetriesPerSecond: 5
|
|
102
|
+
ttl: 10s
|
|
103
|
+
YAML
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### 5. Validate in Mesh Dashboard — `@devops-engineer`
|
|
107
|
+
```bash
|
|
108
|
+
# Linkerd: open viz dashboard
|
|
109
|
+
linkerd viz dashboard &
|
|
110
|
+
|
|
111
|
+
# Check for:
|
|
112
|
+
# - Success rate > 99% on meshed routes
|
|
113
|
+
# - Latency histograms visible
|
|
114
|
+
# - No "naked" (unmeshed) traffic sources reaching the service
|
|
115
|
+
|
|
116
|
+
# Istio: check Kiali or Grafana Istio dashboards
|
|
117
|
+
kubectl -n istio-system port-forward svc/kiali 20001:20001 &
|
|
118
|
+
```
|
|
119
|
+
- **Done when:** service visible in mesh dashboard; no unmeshed traffic warnings
|
|
120
|
+
|
|
121
|
+
## Exit
|
|
122
|
+
Sidecar injected + mTLS verified + policies applied + dashboard shows service = onboarded.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Observability — guidance index
|
|
2
|
+
|
|
3
|
+
## What this area covers
|
|
4
|
+
|
|
5
|
+
Platform observability: Prometheus metrics and Alertmanager rules, Loki log aggregation, Tempo distributed tracing, Grafana dashboards, SLO implementation, and service monitoring onboarding.
|
|
6
|
+
|
|
7
|
+
## Guidance chain
|
|
8
|
+
|
|
9
|
+
1. Project `.agent/` baseline
|
|
10
|
+
2. `observability/rules/*` — load all
|
|
11
|
+
3. `observability/skills/*/SKILL.md` — load only the skill matching the current task
|
|
12
|
+
4. `observability/workflows/*` — load the workflow matching the triggered command
|
|
13
|
+
|
|
14
|
+
## Cross-cutting constraints
|
|
15
|
+
|
|
16
|
+
- **Golden signals first** — every new service exposes latency, traffic, errors, and saturation before any custom metrics.
|
|
17
|
+
- **Alert on symptoms, not causes** — page on user-facing impact; use dashboards for internal diagnosis.
|
|
18
|
+
- **Data retention is policy, not default** — all retention periods must be explicitly configured and justified.
|
|
19
|
+
- **No alert without runbook** — every firing alert must link to a documented investigation path.
|
|
20
|
+
|
|
21
|
+
## Spec map
|
|
22
|
+
|
|
23
|
+
```text
|
|
24
|
+
observability/
|
|
25
|
+
├── rules/
|
|
26
|
+
│ ├── golden-signals.md ← required metrics per service, naming conventions
|
|
27
|
+
│ ├── alerting-standards.md ← severity levels, routing, inhibition, runbook requirement
|
|
28
|
+
│ └── data-retention.md ← retention tiers, cost caps, compliance minimums
|
|
29
|
+
├── skills/
|
|
30
|
+
│ ├── prometheus-alertmanager/SKILL.md ← PromQL, recording rules, alert routing
|
|
31
|
+
│ ├── grafana-dashboards/SKILL.md ← dashboard-as-code, variable design, panels
|
|
32
|
+
│ ├── log-aggregation/SKILL.md ← LogQL, structured logging, label design
|
|
33
|
+
│ ├── distributed-tracing/SKILL.md ← trace propagation, sampling, span attributes
|
|
34
|
+
│ └── slo-implementation/SKILL.md ← burn-rate alerts, error budget dashboards
|
|
35
|
+
├── workflows/
|
|
36
|
+
│ ├── observability-stack-setup.md ← /observability-stack-setup
|
|
37
|
+
│ ├── onboard-service-monitoring.md ← /onboard-service-monitoring
|
|
38
|
+
│ └── alert-investigation.md ← /alert-investigation
|
|
39
|
+
└── prompts/
|
|
40
|
+
└── *.md
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Discovery patterns
|
|
44
|
+
|
|
45
|
+
- `rules/*.md`
|
|
46
|
+
- `skills/*/SKILL.md`
|
|
47
|
+
- `workflows/*.md`
|
|
48
|
+
- `prompts/*.md`
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
---
|
|
2
|
+
workflow: alert-investigation
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Prompt: `/alert-investigation`
|
|
6
|
+
|
|
7
|
+
Use when: investigating a firing alert, burn-rate anomaly, or correlated trace/log signal to determine root cause and mitigation.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Example 1 — HighErrorRate firing in production
|
|
12
|
+
|
|
13
|
+
**EN:**
|
|
14
|
+
```
|
|
15
|
+
/alert-investigation
|
|
16
|
+
|
|
17
|
+
Alert: HighErrorRate / Service: payment-service / Namespace: production
|
|
18
|
+
Fired at: 2024-11-15 03:42 UTC / Current error rate: 4.2% (threshold: 1%)
|
|
19
|
+
Error type: HTTP 502 (Bad Gateway from upstream)
|
|
20
|
+
Available data:
|
|
21
|
+
- Prometheus: http_requests_total labels available
|
|
22
|
+
- Logs: Loki, JSON structured, trace_id present
|
|
23
|
+
- Traces: Tempo available
|
|
24
|
+
- Recent changes: payment-service v2.4.1 deployed 20 min ago
|
|
25
|
+
Investigation steps:
|
|
26
|
+
1. Identify which endpoint(s) are erroring (PromQL breakdown by path)
|
|
27
|
+
2. Correlate with deployment time
|
|
28
|
+
3. Check logs for upstream call errors (trace_id → Tempo for full trace)
|
|
29
|
+
4. Determine: rollback v2.4.0 or hotfix?
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
**RU:**
|
|
33
|
+
```
|
|
34
|
+
/alert-investigation
|
|
35
|
+
|
|
36
|
+
Алерт: HighErrorRate / Сервис: payment-service / Namespace: production
|
|
37
|
+
Сработал: 2024-11-15 03:42 UTC / Текущий error rate: 4.2% (порог: 1%)
|
|
38
|
+
Тип ошибок: HTTP 502 (Bad Gateway от upstream)
|
|
39
|
+
Доступные данные:
|
|
40
|
+
- Prometheus: метрики http_requests_total с labels
|
|
41
|
+
- Логи: Loki, JSON, trace_id присутствует
|
|
42
|
+
- Трейсы: Tempo доступен
|
|
43
|
+
- Последние изменения: payment-service v2.4.1 задеплоен 20 мин назад
|
|
44
|
+
Шаги расследования:
|
|
45
|
+
1. Определить какие endpoint(ы) ошибаются (PromQL разбивка по path)
|
|
46
|
+
2. Сопоставить со временем деплоя
|
|
47
|
+
3. Проверить логи на ошибки вызова upstream (trace_id → Tempo для полного трейса)
|
|
48
|
+
4. Решить: откатить до v2.4.0 или сделать hotfix?
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Example 2 — Alert fatigue investigation (too many false positives)
|
|
54
|
+
|
|
55
|
+
**EN:**
|
|
56
|
+
```
|
|
57
|
+
/alert-investigation
|
|
58
|
+
|
|
59
|
+
Problem: PodMemoryPressure alert fires 8-12 times per week for ml-worker pods but engineers stop acting on it
|
|
60
|
+
Current threshold: memory > 85% for 5m
|
|
61
|
+
Context: ml-worker has bursty memory usage (spikes to 90% during batch, then drops)
|
|
62
|
+
Goal: reduce false positive rate without missing real OOM risk
|
|
63
|
+
Analysis needed:
|
|
64
|
+
1. Query actual OOMKill events in last 30 days (kube_pod_container_status_last_terminated_reason)
|
|
65
|
+
2. Correlate memory spike timing with batch job schedule
|
|
66
|
+
3. Propose new threshold or alerting strategy (e.g. rate-of-change instead of absolute)
|
|
67
|
+
4. Update PrometheusRule + runbook
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
**RU:**
|
|
71
|
+
```
|
|
72
|
+
/alert-investigation
|
|
73
|
+
|
|
74
|
+
Проблема: алерт PodMemoryPressure срабатывает 8-12 раз в неделю для ml-worker подов, но инженеры перестали реагировать
|
|
75
|
+
Текущий порог: memory > 85% в течение 5м
|
|
76
|
+
Контекст: ml-worker имеет взрывное использование памяти (пики до 90% во время batch, потом падает)
|
|
77
|
+
Цель: снизить число false positive без пропуска реального риска OOM
|
|
78
|
+
Необходимый анализ:
|
|
79
|
+
1. Запросить реальные события OOMKill за последние 30 дней (kube_pod_container_status_last_terminated_reason)
|
|
80
|
+
2. Сопоставить время пиков памяти с расписанием batch job
|
|
81
|
+
3. Предложить новый порог или стратегию алертинга (например, rate-of-change вместо абсолютного значения)
|
|
82
|
+
4. Обновить PrometheusRule + runbook
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Example 3 — Trace slow checkout (multi-service waterfall)
|
|
88
|
+
|
|
89
|
+
**EN:**
|
|
90
|
+
```
|
|
91
|
+
/alert-investigation
|
|
92
|
+
|
|
93
|
+
Symptom: checkout p99 latency = 3.2s; SLO threshold = 500ms
|
|
94
|
+
Trace available: trace_id=abc123def456 (found in Loki error log, captured during slow request)
|
|
95
|
+
Services in trace: api-gateway → checkout-service → payment-service → order-service → postgres
|
|
96
|
+
Goal:
|
|
97
|
+
1. Open trace in Tempo; identify which span is slow
|
|
98
|
+
2. Check for: sequential calls that could be parallelised, N+1 DB queries, missing DB indexes
|
|
99
|
+
3. If DB span is slow: correlate with postgres slow query log (Loki query by trace_id)
|
|
100
|
+
4. Output: root cause span + recommended fix (code change or index)
|
|
101
|
+
Tempo URL: https://tempo.monitoring.internal
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
**RU:**
|
|
105
|
+
```
|
|
106
|
+
/alert-investigation
|
|
107
|
+
|
|
108
|
+
Симптом: checkout p99 latency = 3.2s; порог SLO = 500ms
|
|
109
|
+
Трейс доступен: trace_id=abc123def456 (найден в Loki error log, захвачен во время медленного запроса)
|
|
110
|
+
Сервисы в трейсе: api-gateway → checkout-service → payment-service → order-service → postgres
|
|
111
|
+
Цель:
|
|
112
|
+
1. Открыть трейс в Tempo; определить какой span медленный
|
|
113
|
+
2. Проверить: последовательные вызовы которые можно распараллелить, N+1 DB запросы, отсутствующие индексы
|
|
114
|
+
3. Если медленный DB span: сопоставить с postgres slow query log (запрос Loki по trace_id)
|
|
115
|
+
4. Результат: корневой медленный span + рекомендуемое исправление (изменение кода или индекс)
|
|
116
|
+
Tempo URL: https://tempo.monitoring.internal
|
|
117
|
+
```
|