agent-skill-kit 3.9.135
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/.agent/global.d.ts +80 -0
- package/.agent/rules/GEMINI.md +210 -0
- package/.agent/rules/autopilot.md +287 -0
- package/.agent/rules/code-rules.md +227 -0
- package/.agent/scripts/audit_workflows.ts +23 -0
- package/.agent/scripts/auto_preview.ts +170 -0
- package/.agent/scripts/checklist.ts +180 -0
- package/.agent/scripts/compile-agents.ts +237 -0
- package/.agent/scripts/fix_skills.ts +49 -0
- package/.agent/scripts/session_manager.ts +222 -0
- package/.agent/scripts/skill-audit.ts +255 -0
- package/.agent/scripts/sync_workflows.ts +54 -0
- package/.agent/scripts/utils/colors.ts +58 -0
- package/.agent/scripts/utils/process-manager.ts +131 -0
- package/.agent/scripts/utils/reporter.ts +192 -0
- package/.agent/scripts/utils/runner.ts +128 -0
- package/.agent/scripts/verify_all.ts +243 -0
- package/.agent/scripts/version-sync.ts +256 -0
- package/.agent/skills/SKILL_INDEX.md +129 -0
- package/.agent/skills/agent-browser/AGENTS.md +728 -0
- package/.agent/skills/agent-browser/SKILL.md +193 -0
- package/.agent/skills/agent-browser/rules/_sections.md +15 -0
- package/.agent/skills/agent-browser/rules/_template.md +32 -0
- package/.agent/skills/agent-browser/rules/engineering-spec.md +528 -0
- package/.agent/skills/agent-browser/scripts/browser_cli.ts +52 -0
- package/.agent/skills/agent-browser/scripts/session_manager.ts +166 -0
- package/.agent/skills/ai-artist/AGENTS.md +1082 -0
- package/.agent/skills/ai-artist/SKILL.md +186 -0
- package/.agent/skills/ai-artist/rules/_sections.md +30 -0
- package/.agent/skills/ai-artist/rules/_template.md +32 -0
- package/.agent/skills/ai-artist/rules/domain-code.md +118 -0
- package/.agent/skills/ai-artist/rules/domain-marketing.md +105 -0
- package/.agent/skills/ai-artist/rules/engineering-spec.md +519 -0
- package/.agent/skills/ai-artist/rules/image-prompts.md +195 -0
- package/.agent/skills/ai-artist/rules/model-syntax.md +115 -0
- package/.agent/skills/ai-artist/scripts/prompt_compiler.ts +72 -0
- package/.agent/skills/ai-artist/templates/image-core.txt +1 -0
- package/.agent/skills/ai-artist/templates/llm-core.txt +6 -0
- package/.agent/skills/api-architect/AGENTS.md +1896 -0
- package/.agent/skills/api-architect/SKILL.md +173 -0
- package/.agent/skills/api-architect/rules/_sections.md +35 -0
- package/.agent/skills/api-architect/rules/_template.md +32 -0
- package/.agent/skills/api-architect/rules/api-style.md +115 -0
- package/.agent/skills/api-architect/rules/auth.md +134 -0
- package/.agent/skills/api-architect/rules/documentation.md +131 -0
- package/.agent/skills/api-architect/rules/engineering-spec.md +505 -0
- package/.agent/skills/api-architect/rules/graphql.md +154 -0
- package/.agent/skills/api-architect/rules/rate-limiting.md +76 -0
- package/.agent/skills/api-architect/rules/response.md +138 -0
- package/.agent/skills/api-architect/rules/rest.md +113 -0
- package/.agent/skills/api-architect/rules/security-testing.md +146 -0
- package/.agent/skills/api-architect/rules/trpc.md +129 -0
- package/.agent/skills/api-architect/rules/versioning.md +100 -0
- package/.agent/skills/api-architect/scripts/api_validator.ts +413 -0
- package/.agent/skills/auth-patterns/AGENTS.md +1830 -0
- package/.agent/skills/auth-patterns/SKILL.md +163 -0
- package/.agent/skills/auth-patterns/rules/_sections.md +30 -0
- package/.agent/skills/auth-patterns/rules/_template.md +32 -0
- package/.agent/skills/auth-patterns/rules/engineering-spec.md +515 -0
- package/.agent/skills/auth-patterns/rules/jwt-deep.md +196 -0
- package/.agent/skills/auth-patterns/rules/mfa.md +174 -0
- package/.agent/skills/auth-patterns/rules/oauth2.md +134 -0
- package/.agent/skills/auth-patterns/rules/passkey.md +243 -0
- package/.agent/skills/auth-patterns/rules/rbac-abac.md +206 -0
- package/.agent/skills/auth-patterns/rules/session.md +183 -0
- package/.agent/skills/auth-patterns/scripts/auth_validator.ts +121 -0
- package/.agent/skills/chrome-devtools/AGENTS.md +952 -0
- package/.agent/skills/chrome-devtools/SKILL.md +160 -0
- package/.agent/skills/chrome-devtools/rules/_sections.md +25 -0
- package/.agent/skills/chrome-devtools/rules/_template.md +32 -0
- package/.agent/skills/chrome-devtools/rules/aria-snapshot.md +95 -0
- package/.agent/skills/chrome-devtools/rules/engineering-spec.md +510 -0
- package/.agent/skills/chrome-devtools/rules/scripts-guide.md +174 -0
- package/.agent/skills/chrome-devtools/scripts/aria-snapshot.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/click.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/console.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/core_cli.ts +79 -0
- package/.agent/skills/chrome-devtools/scripts/evaluate.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/fill.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/navigate.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/network.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/performance.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/screenshot.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/select-ref.ts +3 -0
- package/.agent/skills/cicd-pipeline/AGENTS.md +809 -0
- package/.agent/skills/cicd-pipeline/SKILL.md +164 -0
- package/.agent/skills/cicd-pipeline/rules/_sections.md +15 -0
- package/.agent/skills/cicd-pipeline/rules/_template.md +32 -0
- package/.agent/skills/cicd-pipeline/rules/engineering-spec.md +477 -0
- package/.agent/skills/cicd-pipeline/scripts/flag-manager.ts +253 -0
- package/.agent/skills/cicd-pipeline/scripts/pipeline_validator.ts +133 -0
- package/.agent/skills/code-constitution/AGENTS.md +597 -0
- package/.agent/skills/code-constitution/CHANGELOG.md +216 -0
- package/.agent/skills/code-constitution/SKILL.md +191 -0
- package/.agent/skills/code-constitution/VERSION +3 -0
- package/.agent/skills/code-constitution/examples/violation-backend-mutation/after.tsx +59 -0
- package/.agent/skills/code-constitution/examples/violation-backend-mutation/before.tsx +42 -0
- package/.agent/skills/code-constitution/examples/violation-backend-mutation/explanation.md +91 -0
- package/.agent/skills/code-constitution/examples/violation-chart-injection/after.tsx +99 -0
- package/.agent/skills/code-constitution/examples/violation-chart-injection/before.tsx +57 -0
- package/.agent/skills/code-constitution/examples/violation-chart-injection/explanation.md +120 -0
- package/.agent/skills/code-constitution/knowledge/lessons-learned.yaml +3 -0
- package/.agent/skills/code-constitution/metadata/precedence.yaml +117 -0
- package/.agent/skills/code-constitution/metadata/scope-map.yaml +156 -0
- package/.agent/skills/code-constitution/proposals/v1.1-change-proposal-template.md +201 -0
- package/.agent/skills/code-constitution/resources/AUTHORITY_MODEL.md +115 -0
- package/.agent/skills/code-constitution/resources/ENFORCEMENT_GUIDE.md +246 -0
- package/.agent/skills/code-constitution/resources/LOAD_ORDER.md +86 -0
- package/.agent/skills/code-constitution/rules/_sections.md +15 -0
- package/.agent/skills/code-constitution/rules/_template.md +32 -0
- package/.agent/skills/code-constitution/rules/constitution/master-constitution.md +210 -0
- package/.agent/skills/code-constitution/rules/doctrines/architecture/architecture-doctrine.md +188 -0
- package/.agent/skills/code-constitution/rules/doctrines/backend/backend-data-engine-doctrine.md +218 -0
- package/.agent/skills/code-constitution/rules/doctrines/commercial/commercial-guardrails-doctrine.md +196 -0
- package/.agent/skills/code-constitution/rules/doctrines/data/data-integrity-doctrine.md +202 -0
- package/.agent/skills/code-constitution/rules/doctrines/frontend/frontend-mobile-doctrine.md +169 -0
- package/.agent/skills/code-constitution/rules/doctrines/frontend/interaction-patterns-doctrine.md +176 -0
- package/.agent/skills/code-constitution/rules/doctrines/learning/learning-engine-doctrine.md +192 -0
- package/.agent/skills/code-constitution/rules/doctrines/performance/performance-doctrine.md +180 -0
- package/.agent/skills/code-constitution/rules/doctrines/review/code-review-doctrine.md +174 -0
- package/.agent/skills/code-constitution/rules/enforcement/agents/agent-enforcement-protocol.md +218 -0
- package/.agent/skills/code-constitution/rules/enforcement/agents/agent-system-prompt.md +196 -0
- package/.agent/skills/code-constitution/rules/enforcement/checklists/backend-api-review-checklist.md +131 -0
- package/.agent/skills/code-constitution/rules/enforcement/checklists/chart-component-review-checklist.md +147 -0
- package/.agent/skills/code-constitution/rules/enforcement/checklists/frontend-review-checklist.md +194 -0
- package/.agent/skills/code-constitution/rules/enforcement/playbooks/doctrine-violation-playbook.md +236 -0
- package/.agent/skills/code-constitution/rules/engineering-spec.md +561 -0
- package/.agent/skills/code-constitution/scripts/audit_pr.ts +219 -0
- package/.agent/skills/code-constitution/scripts/check_boundaries.ts +134 -0
- package/.agent/skills/code-constitution/scripts/learn.ts +202 -0
- package/.agent/skills/code-constitution/scripts/validate_doctrine.ts +287 -0
- package/.agent/skills/code-craft/AGENTS.md +803 -0
- package/.agent/skills/code-craft/SKILL.md +170 -0
- package/.agent/skills/code-craft/rules/_sections.md +20 -0
- package/.agent/skills/code-craft/rules/_template.md +32 -0
- package/.agent/skills/code-craft/rules/engineering-spec.md +447 -0
- package/.agent/skills/code-craft/rules/verification-scripts.md +83 -0
- package/.agent/skills/code-craft/scripts/code_quality_checker.ts +193 -0
- package/.agent/skills/code-review/AGENTS.md +1664 -0
- package/.agent/skills/code-review/SKILL.md +152 -0
- package/.agent/skills/code-review/rules/_sections.md +15 -0
- package/.agent/skills/code-review/rules/_template.md +32 -0
- package/.agent/skills/code-review/rules/engineering-spec.md +466 -0
- package/.agent/skills/code-review/scripts/lint_runner.ts +213 -0
- package/.agent/skills/code-review/scripts/type_coverage.ts +118 -0
- package/.agent/skills/context-engineering/AGENTS.md +499 -0
- package/.agent/skills/context-engineering/SKILL.md +147 -0
- package/.agent/skills/context-engineering/rules/_sections.md +15 -0
- package/.agent/skills/context-engineering/rules/_template.md +32 -0
- package/.agent/skills/context-engineering/rules/engineering-spec.md +463 -0
- package/.agent/skills/context-engineering/scripts/context_analyzer.ts +127 -0
- package/.agent/skills/copywriting/AGENTS.md +501 -0
- package/.agent/skills/copywriting/SKILL.md +188 -0
- package/.agent/skills/copywriting/rules/_sections.md +15 -0
- package/.agent/skills/copywriting/rules/_template.md +32 -0
- package/.agent/skills/copywriting/rules/engineering-spec.md +465 -0
- package/.agent/skills/copywriting/scripts/copy_validator.ts +185 -0
- package/.agent/skills/data-modeler/AGENTS.md +814 -0
- package/.agent/skills/data-modeler/SKILL.md +195 -0
- package/.agent/skills/data-modeler/rules/_sections.md +15 -0
- package/.agent/skills/data-modeler/rules/_template.md +32 -0
- package/.agent/skills/data-modeler/rules/database-selection.md +124 -0
- package/.agent/skills/data-modeler/rules/engineering-spec.md +479 -0
- package/.agent/skills/data-modeler/rules/indexing.md +166 -0
- package/.agent/skills/data-modeler/rules/migrations.md +176 -0
- package/.agent/skills/data-modeler/rules/optimization.md +161 -0
- package/.agent/skills/data-modeler/rules/orm-selection.md +155 -0
- package/.agent/skills/data-modeler/rules/schema-design.md +162 -0
- package/.agent/skills/data-modeler/scripts/schema_validator.ts +357 -0
- package/.agent/skills/debug-pro/AGENTS.md +798 -0
- package/.agent/skills/debug-pro/SKILL.md +193 -0
- package/.agent/skills/debug-pro/defense-in-depth/SKILL.md +148 -0
- package/.agent/skills/debug-pro/root-cause-tracing/SKILL.md +196 -0
- package/.agent/skills/debug-pro/root-cause-tracing/find-polluter.sh +63 -0
- package/.agent/skills/debug-pro/rules/_sections.md +15 -0
- package/.agent/skills/debug-pro/rules/_template.md +32 -0
- package/.agent/skills/debug-pro/rules/engineering-spec.md +491 -0
- package/.agent/skills/debug-pro/scripts/debug_verifier.ts +148 -0
- package/.agent/skills/debug-pro/verification-before-completion/SKILL.md +160 -0
- package/.agent/skills/design-system/AGENTS.md +4216 -0
- package/.agent/skills/design-system/SKILL.md +186 -0
- package/.agent/skills/design-system/rules/_sections.md +65 -0
- package/.agent/skills/design-system/rules/_template.md +32 -0
- package/.agent/skills/design-system/rules/animation-guide.md +355 -0
- package/.agent/skills/design-system/rules/color-system.md +335 -0
- package/.agent/skills/design-system/rules/color-systems.md +133 -0
- package/.agent/skills/design-system/rules/decision-trees.md +442 -0
- package/.agent/skills/design-system/rules/design-extraction.md +152 -0
- package/.agent/skills/design-system/rules/engineering-spec.md +484 -0
- package/.agent/skills/design-system/rules/motion-design.md +161 -0
- package/.agent/skills/design-system/rules/motion-graphics.md +330 -0
- package/.agent/skills/design-system/rules/spatial-composition.md +184 -0
- package/.agent/skills/design-system/rules/typography-system.md +369 -0
- package/.agent/skills/design-system/rules/typography.md +124 -0
- package/.agent/skills/design-system/rules/ux-psychology.md +565 -0
- package/.agent/skills/design-system/rules/visual-effects.md +407 -0
- package/.agent/skills/design-system/scripts/accessibility_checker.ts +292 -0
- package/.agent/skills/design-system/scripts/ux_audit.ts +356 -0
- package/.agent/skills/doc-templates/AGENTS.md +820 -0
- package/.agent/skills/doc-templates/SKILL.md +260 -0
- package/.agent/skills/doc-templates/rules/_sections.md +20 -0
- package/.agent/skills/doc-templates/rules/_template.md +32 -0
- package/.agent/skills/doc-templates/rules/doc.md +355 -0
- package/.agent/skills/doc-templates/rules/engineering-spec.md +422 -0
- package/.agent/skills/doc-templates/scripts/editor-server.ts +162 -0
- package/.agent/skills/doc-templates/scripts/inject_otel.ts +22 -0
- package/.agent/skills/doc-templates/scripts/kanban-server.ts +171 -0
- package/.agent/skills/doc-templates/scripts/markdown-server.ts +185 -0
- package/.agent/skills/e2e-automation/AGENTS.md +882 -0
- package/.agent/skills/e2e-automation/SKILL.md +175 -0
- package/.agent/skills/e2e-automation/rules/_sections.md +20 -0
- package/.agent/skills/e2e-automation/rules/_template.md +32 -0
- package/.agent/skills/e2e-automation/rules/aria-snapshot.md +185 -0
- package/.agent/skills/e2e-automation/rules/engineering-spec.md +501 -0
- package/.agent/skills/e2e-automation/scripts/playwright_runner.ts +208 -0
- package/.agent/skills/execution-reporter/AGENTS.md +419 -0
- package/.agent/skills/execution-reporter/SKILL.md +152 -0
- package/.agent/skills/execution-reporter/rules/_sections.md +15 -0
- package/.agent/skills/execution-reporter/rules/_template.md +32 -0
- package/.agent/skills/execution-reporter/rules/engineering-spec.md +389 -0
- package/.agent/skills/game-development/2d-games/SKILL.md +140 -0
- package/.agent/skills/game-development/3d-games/SKILL.md +156 -0
- package/.agent/skills/game-development/AGENTS.md +783 -0
- package/.agent/skills/game-development/SKILL.md +178 -0
- package/.agent/skills/game-development/game-art/SKILL.md +207 -0
- package/.agent/skills/game-development/game-audio/SKILL.md +211 -0
- package/.agent/skills/game-development/game-design/SKILL.md +151 -0
- package/.agent/skills/game-development/mobile-games/SKILL.md +130 -0
- package/.agent/skills/game-development/multiplayer/SKILL.md +154 -0
- package/.agent/skills/game-development/pc-games/SKILL.md +167 -0
- package/.agent/skills/game-development/rules/_sections.md +15 -0
- package/.agent/skills/game-development/rules/_template.md +32 -0
- package/.agent/skills/game-development/rules/engineering-spec.md +480 -0
- package/.agent/skills/game-development/vr-ar/SKILL.md +144 -0
- package/.agent/skills/game-development/web-games/SKILL.md +173 -0
- package/.agent/skills/git-workflow/AGENTS.md +554 -0
- package/.agent/skills/git-workflow/SKILL.md +181 -0
- package/.agent/skills/git-workflow/rules/_sections.md +15 -0
- package/.agent/skills/git-workflow/rules/_template.md +32 -0
- package/.agent/skills/git-workflow/rules/engineering-spec.md +518 -0
- package/.agent/skills/gitops/AGENTS.md +921 -0
- package/.agent/skills/gitops/SKILL.md +163 -0
- package/.agent/skills/gitops/rules/_sections.md +25 -0
- package/.agent/skills/gitops/rules/_template.md +32 -0
- package/.agent/skills/gitops/rules/argocd-setup.md +148 -0
- package/.agent/skills/gitops/rules/engineering-spec.md +450 -0
- package/.agent/skills/gitops/rules/sync-policies.md +145 -0
- package/.agent/skills/google-adk-python/AGENTS.md +1054 -0
- package/.agent/skills/google-adk-python/SKILL.md +168 -0
- package/.agent/skills/google-adk-python/rules/_sections.md +25 -0
- package/.agent/skills/google-adk-python/rules/_template.md +32 -0
- package/.agent/skills/google-adk-python/rules/deployment.md +138 -0
- package/.agent/skills/google-adk-python/rules/engineering-spec.md +451 -0
- package/.agent/skills/google-adk-python/rules/multi-agent.md +146 -0
- package/.agent/skills/google-adk-python/rules/tools.md +131 -0
- package/.agent/skills/idea-storm/AGENTS.md +995 -0
- package/.agent/skills/idea-storm/SKILL.md +160 -0
- package/.agent/skills/idea-storm/rules/_sections.md +25 -0
- package/.agent/skills/idea-storm/rules/_template.md +32 -0
- package/.agent/skills/idea-storm/rules/architecture-debate.md +122 -0
- package/.agent/skills/idea-storm/rules/dynamic-questioning.md +374 -0
- package/.agent/skills/idea-storm/rules/engineering-spec.md +466 -0
- package/.agent/skills/knowledge-compiler/SKILL.md +320 -0
- package/.agent/skills/knowledge-graph/AGENTS.md +762 -0
- package/.agent/skills/knowledge-graph/SKILL.md +157 -0
- package/.agent/skills/knowledge-graph/rules/_sections.md +15 -0
- package/.agent/skills/knowledge-graph/rules/_template.md +32 -0
- package/.agent/skills/knowledge-graph/rules/engineering-spec.md +439 -0
- package/.agent/skills/knowledge-linter/SKILL.md +217 -0
- package/.agent/skills/lifecycle-orchestrator/AGENTS.md +989 -0
- package/.agent/skills/lifecycle-orchestrator/SKILL.md +169 -0
- package/.agent/skills/lifecycle-orchestrator/rules/_sections.md +15 -0
- package/.agent/skills/lifecycle-orchestrator/rules/_template.md +32 -0
- package/.agent/skills/lifecycle-orchestrator/rules/engineering-spec.md +525 -0
- package/.agent/skills/lifecycle-orchestrator/scripts/state_manager.ts +189 -0
- package/.agent/skills/mcp-builder/AGENTS.md +1653 -0
- package/.agent/skills/mcp-builder/SKILL.md +166 -0
- package/.agent/skills/mcp-builder/rules/_sections.md +40 -0
- package/.agent/skills/mcp-builder/rules/_template.md +32 -0
- package/.agent/skills/mcp-builder/rules/best-practices.md +157 -0
- package/.agent/skills/mcp-builder/rules/design-principles.md +105 -0
- package/.agent/skills/mcp-builder/rules/engineering-spec.md +473 -0
- package/.agent/skills/mcp-builder/rules/evaluation.md +103 -0
- package/.agent/skills/mcp-builder/rules/python-implementation.md +249 -0
- package/.agent/skills/mcp-builder/rules/quickstart.md +111 -0
- package/.agent/skills/mcp-builder/rules/typescript-implementation.md +280 -0
- package/.agent/skills/mcp-management/AGENTS.md +837 -0
- package/.agent/skills/mcp-management/SKILL.md +164 -0
- package/.agent/skills/mcp-management/rules/_sections.md +25 -0
- package/.agent/skills/mcp-management/rules/_template.md +32 -0
- package/.agent/skills/mcp-management/rules/cli-usage.md +146 -0
- package/.agent/skills/mcp-management/rules/engineering-spec.md +501 -0
- package/.agent/skills/mcp-management/rules/protocol.md +159 -0
- package/.agent/skills/media-processing/AGENTS.md +479 -0
- package/.agent/skills/media-processing/SKILL.md +176 -0
- package/.agent/skills/media-processing/rules/_sections.md +15 -0
- package/.agent/skills/media-processing/rules/_template.md +32 -0
- package/.agent/skills/media-processing/rules/engineering-spec.md +452 -0
- package/.agent/skills/media-processing/scripts/convert-video.ts +155 -0
- package/.agent/skills/media-processing/scripts/optimize-image.ts +127 -0
- package/.agent/skills/mobile-design/AGENTS.md +6531 -0
- package/.agent/skills/mobile-design/SKILL.md +165 -0
- package/.agent/skills/mobile-design/rules/_sections.md +45 -0
- package/.agent/skills/mobile-design/rules/_template.md +32 -0
- package/.agent/skills/mobile-design/rules/decision-trees.md +540 -0
- package/.agent/skills/mobile-design/rules/engineering-spec.md +467 -0
- package/.agent/skills/mobile-design/rules/mobile-backend.md +516 -0
- package/.agent/skills/mobile-design/rules/mobile-color-system.md +436 -0
- package/.agent/skills/mobile-design/rules/mobile-debugging.md +146 -0
- package/.agent/skills/mobile-design/rules/mobile-design-thinking.md +381 -0
- package/.agent/skills/mobile-design/rules/mobile-navigation.md +474 -0
- package/.agent/skills/mobile-design/rules/mobile-performance.md +783 -0
- package/.agent/skills/mobile-design/rules/mobile-testing.md +380 -0
- package/.agent/skills/mobile-design/rules/mobile-typography.md +449 -0
- package/.agent/skills/mobile-design/rules/platform-android.md +682 -0
- package/.agent/skills/mobile-design/rules/platform-ios.md +577 -0
- package/.agent/skills/mobile-design/rules/touch-psychology.md +553 -0
- package/.agent/skills/mobile-design/scripts/mobile_audit.ts +309 -0
- package/.agent/skills/mobile-developer/AGENTS.md +904 -0
- package/.agent/skills/mobile-developer/SKILL.md +194 -0
- package/.agent/skills/mobile-developer/rules/_sections.md +75 -0
- package/.agent/skills/mobile-developer/rules/_template.md +32 -0
- package/.agent/skills/mobile-developer/rules/anti-patterns.md +70 -0
- package/.agent/skills/mobile-developer/rules/app-store-optimization.md +319 -0
- package/.agent/skills/mobile-developer/rules/decision-trees.md +545 -0
- package/.agent/skills/mobile-developer/rules/deep-linking.md +441 -0
- package/.agent/skills/mobile-developer/rules/engineering-spec.md +477 -0
- package/.agent/skills/mobile-developer/rules/flutter.md +475 -0
- package/.agent/skills/mobile-developer/rules/mobile-backend.md +516 -0
- package/.agent/skills/mobile-developer/rules/mobile-color-system.md +444 -0
- package/.agent/skills/mobile-developer/rules/mobile-debugging.md +428 -0
- package/.agent/skills/mobile-developer/rules/mobile-design-thinking.md +367 -0
- package/.agent/skills/mobile-developer/rules/mobile-navigation.md +483 -0
- package/.agent/skills/mobile-developer/rules/mobile-performance.md +778 -0
- package/.agent/skills/mobile-developer/rules/mobile-testing.md +382 -0
- package/.agent/skills/mobile-developer/rules/mobile-typography.md +457 -0
- package/.agent/skills/mobile-developer/rules/native.md +572 -0
- package/.agent/skills/mobile-developer/rules/platform-android.md +676 -0
- package/.agent/skills/mobile-developer/rules/platform-ios.md +571 -0
- package/.agent/skills/mobile-developer/rules/push-notifications.md +599 -0
- package/.agent/skills/mobile-developer/rules/react-native.md +422 -0
- package/.agent/skills/mobile-developer/rules/touch-psychology.md +547 -0
- package/.agent/skills/mobile-developer/scripts/mobile_audit.ts +701 -0
- package/.agent/skills/nextjs-pro/AGENTS.md +3932 -0
- package/.agent/skills/nextjs-pro/SKILL.md +171 -0
- package/.agent/skills/nextjs-pro/rules/_sections.md +50 -0
- package/.agent/skills/nextjs-pro/rules/_template.md +32 -0
- package/.agent/skills/nextjs-pro/rules/advanced-event-handler-refs.md +59 -0
- package/.agent/skills/nextjs-pro/rules/advanced-init-once.md +46 -0
- package/.agent/skills/nextjs-pro/rules/advanced-use-latest.md +43 -0
- package/.agent/skills/nextjs-pro/rules/async-api-routes.md +42 -0
- package/.agent/skills/nextjs-pro/rules/async-defer-await.md +84 -0
- package/.agent/skills/nextjs-pro/rules/async-dependencies.md +55 -0
- package/.agent/skills/nextjs-pro/rules/async-parallel.md +32 -0
- package/.agent/skills/nextjs-pro/rules/async-suspense-boundaries.md +103 -0
- package/.agent/skills/nextjs-pro/rules/bundle-barrel-imports.md +63 -0
- package/.agent/skills/nextjs-pro/rules/bundle-conditional.md +35 -0
- package/.agent/skills/nextjs-pro/rules/bundle-defer-third-party.md +53 -0
- package/.agent/skills/nextjs-pro/rules/bundle-dynamic-imports.md +39 -0
- package/.agent/skills/nextjs-pro/rules/bundle-preload.md +54 -0
- package/.agent/skills/nextjs-pro/rules/client-event-listeners.md +78 -0
- package/.agent/skills/nextjs-pro/rules/client-localstorage-schema.md +75 -0
- package/.agent/skills/nextjs-pro/rules/client-passive-event-listeners.md +52 -0
- package/.agent/skills/nextjs-pro/rules/client-swr-dedup.md +60 -0
- package/.agent/skills/nextjs-pro/rules/engineering-spec.md +440 -0
- package/.agent/skills/nextjs-pro/rules/js-batch-dom-css.md +111 -0
- package/.agent/skills/nextjs-pro/rules/js-cache-function-results.md +84 -0
- package/.agent/skills/nextjs-pro/rules/js-cache-property-access.md +32 -0
- package/.agent/skills/nextjs-pro/rules/js-cache-storage.md +74 -0
- package/.agent/skills/nextjs-pro/rules/js-combine-iterations.md +36 -0
- package/.agent/skills/nextjs-pro/rules/js-early-exit.md +54 -0
- package/.agent/skills/nextjs-pro/rules/js-hoist-regexp.md +49 -0
- package/.agent/skills/nextjs-pro/rules/js-index-maps.md +41 -0
- package/.agent/skills/nextjs-pro/rules/js-length-check-first.md +53 -0
- package/.agent/skills/nextjs-pro/rules/js-min-max-loop.md +86 -0
- package/.agent/skills/nextjs-pro/rules/js-set-map-lookups.md +28 -0
- package/.agent/skills/nextjs-pro/rules/js-tosorted-immutable.md +61 -0
- package/.agent/skills/nextjs-pro/rules/rendering-activity.md +30 -0
- package/.agent/skills/nextjs-pro/rules/rendering-animate-svg-wrapper.md +51 -0
- package/.agent/skills/nextjs-pro/rules/rendering-conditional-render.md +44 -0
- package/.agent/skills/nextjs-pro/rules/rendering-content-visibility.md +42 -0
- package/.agent/skills/nextjs-pro/rules/rendering-hoist-jsx.md +50 -0
- package/.agent/skills/nextjs-pro/rules/rendering-hydration-no-flicker.md +86 -0
- package/.agent/skills/nextjs-pro/rules/rendering-hydration-suppress-warning.md +34 -0
- package/.agent/skills/nextjs-pro/rules/rendering-svg-precision.md +32 -0
- package/.agent/skills/nextjs-pro/rules/rendering-usetransition-loading.md +79 -0
- package/.agent/skills/nextjs-pro/rules/rerender-defer-reads.md +43 -0
- package/.agent/skills/nextjs-pro/rules/rerender-dependencies.md +49 -0
- package/.agent/skills/nextjs-pro/rules/rerender-derived-state-no-effect.md +44 -0
- package/.agent/skills/nextjs-pro/rules/rerender-derived-state.md +33 -0
- package/.agent/skills/nextjs-pro/rules/rerender-functional-setstate.md +78 -0
- package/.agent/skills/nextjs-pro/rules/rerender-lazy-state-init.md +62 -0
- package/.agent/skills/nextjs-pro/rules/rerender-memo-with-default-value.md +42 -0
- package/.agent/skills/nextjs-pro/rules/rerender-memo.md +48 -0
- package/.agent/skills/nextjs-pro/rules/rerender-move-effect-to-event.md +49 -0
- package/.agent/skills/nextjs-pro/rules/rerender-simple-expression-in-memo.md +39 -0
- package/.agent/skills/nextjs-pro/rules/rerender-transitions.md +44 -0
- package/.agent/skills/nextjs-pro/rules/rerender-use-ref-transient-values.md +77 -0
- package/.agent/skills/nextjs-pro/rules/schema.json +34 -0
- package/.agent/skills/nextjs-pro/rules/server-after-nonblocking.md +77 -0
- package/.agent/skills/nextjs-pro/rules/server-auth-actions.md +100 -0
- package/.agent/skills/nextjs-pro/rules/server-cache-lru.md +45 -0
- package/.agent/skills/nextjs-pro/rules/server-cache-react.md +80 -0
- package/.agent/skills/nextjs-pro/rules/server-dedup-props.md +69 -0
- package/.agent/skills/nextjs-pro/rules/server-parallel-fetching.md +87 -0
- package/.agent/skills/nextjs-pro/rules/server-serialization.md +42 -0
- package/.agent/skills/nodejs-pro/AGENTS.md +866 -0
- package/.agent/skills/nodejs-pro/SKILL.md +172 -0
- package/.agent/skills/nodejs-pro/rules/_sections.md +50 -0
- package/.agent/skills/nodejs-pro/rules/_template.md +32 -0
- package/.agent/skills/nodejs-pro/rules/architecture-patterns.md +229 -0
- package/.agent/skills/nodejs-pro/rules/async-patterns.md +246 -0
- package/.agent/skills/nodejs-pro/rules/engineering-spec.md +438 -0
- package/.agent/skills/nodejs-pro/rules/error-handling.md +257 -0
- package/.agent/skills/nodejs-pro/rules/framework-selection.md +220 -0
- package/.agent/skills/nodejs-pro/rules/runtime-modules.md +176 -0
- package/.agent/skills/nodejs-pro/rules/testing-strategy.md +266 -0
- package/.agent/skills/nodejs-pro/rules/validation-security.md +205 -0
- package/.agent/skills/observability/AGENTS.md +607 -0
- package/.agent/skills/observability/SKILL.md +178 -0
- package/.agent/skills/observability/rules/_sections.md +15 -0
- package/.agent/skills/observability/rules/_template.md +32 -0
- package/.agent/skills/observability/rules/engineering-spec.md +440 -0
- package/.agent/skills/offensive-sec/AGENTS.md +849 -0
- package/.agent/skills/offensive-sec/SKILL.md +191 -0
- package/.agent/skills/offensive-sec/rules/_sections.md +15 -0
- package/.agent/skills/offensive-sec/rules/_template.md +32 -0
- package/.agent/skills/offensive-sec/rules/engineering-spec.md +470 -0
- package/.agent/skills/perf-optimizer/AGENTS.md +870 -0
- package/.agent/skills/perf-optimizer/SKILL.md +189 -0
- package/.agent/skills/perf-optimizer/rules/_sections.md +15 -0
- package/.agent/skills/perf-optimizer/rules/_template.md +32 -0
- package/.agent/skills/perf-optimizer/rules/backend-patterns.md +312 -0
- package/.agent/skills/perf-optimizer/rules/engineering-spec.md +428 -0
- package/.agent/skills/perf-optimizer/scripts/lighthouse_audit.ts +201 -0
- package/.agent/skills/problem-checker/AGENTS.md +519 -0
- package/.agent/skills/problem-checker/SKILL.md +189 -0
- package/.agent/skills/problem-checker/rules/_sections.md +15 -0
- package/.agent/skills/problem-checker/rules/_template.md +32 -0
- package/.agent/skills/problem-checker/rules/engineering-spec.md +483 -0
- package/.agent/skills/problem-checker/scripts/check_problems.ts +396 -0
- package/.agent/skills/project-planner/AGENTS.md +2698 -0
- package/.agent/skills/project-planner/SKILL.md +166 -0
- package/.agent/skills/project-planner/rules/_sections.md +15 -0
- package/.agent/skills/project-planner/rules/_template.md +32 -0
- package/.agent/skills/project-planner/rules/engineering-spec.md +420 -0
- package/.agent/skills/python-pro/AGENTS.md +1871 -0
- package/.agent/skills/python-pro/SKILL.md +182 -0
- package/.agent/skills/python-pro/rules/_sections.md +50 -0
- package/.agent/skills/python-pro/rules/_template.md +32 -0
- package/.agent/skills/python-pro/rules/async-patterns.md +168 -0
- package/.agent/skills/python-pro/rules/django-patterns.md +194 -0
- package/.agent/skills/python-pro/rules/engineering-spec.md +442 -0
- package/.agent/skills/python-pro/rules/fastapi-patterns.md +179 -0
- package/.agent/skills/python-pro/rules/framework-selection.md +167 -0
- package/.agent/skills/python-pro/rules/project-structure.md +181 -0
- package/.agent/skills/python-pro/rules/testing-patterns.md +212 -0
- package/.agent/skills/python-pro/rules/type-hints.md +159 -0
- package/.agent/skills/react-pro/AGENTS.md +963 -0
- package/.agent/skills/react-pro/SKILL.md +232 -0
- package/.agent/skills/react-pro/rules/_sections.md +40 -0
- package/.agent/skills/react-pro/rules/_template.md +32 -0
- package/.agent/skills/react-pro/rules/component-patterns.md +145 -0
- package/.agent/skills/react-pro/rules/composition-compound.md +82 -0
- package/.agent/skills/react-pro/rules/data-fetching.md +133 -0
- package/.agent/skills/react-pro/rules/engineering-spec.md +453 -0
- package/.agent/skills/react-pro/rules/error-boundary.md +61 -0
- package/.agent/skills/react-pro/rules/file-organization.md +158 -0
- package/.agent/skills/react-pro/rules/hooks-custom.md +61 -0
- package/.agent/skills/react-pro/rules/mui-styling.md +138 -0
- package/.agent/skills/react-pro/rules/patterns.md +24 -0
- package/.agent/skills/react-pro/rules/performance-optimization.md +65 -0
- package/.agent/skills/react-pro/rules/performance.md +137 -0
- package/.agent/skills/react-pro/rules/react19-hooks.md +85 -0
- package/.agent/skills/react-pro/rules/state-management.md +90 -0
- package/.agent/skills/react-pro/rules/testing-patterns.md +52 -0
- package/.agent/skills/registry.json +1251 -0
- package/.agent/skills/security-scanner/AGENTS.md +851 -0
- package/.agent/skills/security-scanner/SKILL.md +182 -0
- package/.agent/skills/security-scanner/rules/_sections.md +15 -0
- package/.agent/skills/security-scanner/rules/_template.md +32 -0
- package/.agent/skills/security-scanner/rules/auth-patterns.md +281 -0
- package/.agent/skills/security-scanner/rules/checklists.md +186 -0
- package/.agent/skills/security-scanner/rules/engineering-spec.md +440 -0
- package/.agent/skills/security-scanner/scripts/security_scan.ts +513 -0
- package/.agent/skills/seo-optimizer/AGENTS.md +839 -0
- package/.agent/skills/seo-optimizer/SKILL.md +180 -0
- package/.agent/skills/seo-optimizer/rules/_sections.md +15 -0
- package/.agent/skills/seo-optimizer/rules/_template.md +32 -0
- package/.agent/skills/seo-optimizer/rules/engineering-spec.md +433 -0
- package/.agent/skills/seo-optimizer/scripts/geo_checker.ts +109 -0
- package/.agent/skills/seo-optimizer/scripts/seo_checker.ts +308 -0
- package/.agent/skills/server-ops/AGENTS.md +643 -0
- package/.agent/skills/server-ops/SKILL.md +194 -0
- package/.agent/skills/server-ops/rules/_sections.md +15 -0
- package/.agent/skills/server-ops/rules/_template.md +32 -0
- package/.agent/skills/server-ops/rules/engineering-spec.md +450 -0
- package/.agent/skills/shell-script/AGENTS.md +499 -0
- package/.agent/skills/shell-script/SKILL.md +205 -0
- package/.agent/skills/shell-script/rules/_sections.md +15 -0
- package/.agent/skills/shell-script/rules/_template.md +32 -0
- package/.agent/skills/shell-script/rules/engineering-spec.md +463 -0
- package/.agent/skills/skill-generator/SKILL.md +147 -0
- package/.agent/skills/smart-router/SKILL.md +95 -0
- package/.agent/skills/studio/AGENTS.md +636 -0
- package/.agent/skills/studio/SKILL.md +178 -0
- package/.agent/skills/studio/data/charts.csv +26 -0
- package/.agent/skills/studio/data/colors.csv +97 -0
- package/.agent/skills/studio/data/icons.csv +101 -0
- package/.agent/skills/studio/data/landing.csv +31 -0
- package/.agent/skills/studio/data/products.csv +97 -0
- package/.agent/skills/studio/data/prompts.csv +24 -0
- package/.agent/skills/studio/data/react-performance.csv +45 -0
- package/.agent/skills/studio/data/stacks/flutter.csv +52 -0
- package/.agent/skills/studio/data/stacks/html-tailwind.csv +56 -0
- package/.agent/skills/studio/data/stacks/jetpack-compose.csv +53 -0
- package/.agent/skills/studio/data/stacks/nextjs.csv +53 -0
- package/.agent/skills/studio/data/stacks/nuxt-ui.csv +51 -0
- package/.agent/skills/studio/data/stacks/nuxtjs.csv +59 -0
- package/.agent/skills/studio/data/stacks/react-native.csv +52 -0
- package/.agent/skills/studio/data/stacks/react.csv +54 -0
- package/.agent/skills/studio/data/stacks/shadcn.csv +61 -0
- package/.agent/skills/studio/data/stacks/svelte.csv +54 -0
- package/.agent/skills/studio/data/stacks/swiftui.csv +51 -0
- package/.agent/skills/studio/data/stacks/vue.csv +50 -0
- package/.agent/skills/studio/data/styles.csv +59 -0
- package/.agent/skills/studio/data/typography.csv +58 -0
- package/.agent/skills/studio/data/ui-reasoning.csv +101 -0
- package/.agent/skills/studio/data/ux-guidelines.csv +100 -0
- package/.agent/skills/studio/data/web-interface.csv +31 -0
- package/.agent/skills/studio/rules/_sections.md +15 -0
- package/.agent/skills/studio/rules/_template.md +32 -0
- package/.agent/skills/studio/rules/engineering-spec.md +455 -0
- package/.agent/skills/studio/scripts/core.ts +345 -0
- package/.agent/skills/studio/scripts/design_system.ts +953 -0
- package/.agent/skills/studio/scripts/search.ts +197 -0
- package/.agent/skills/studio/scripts/types.ts +147 -0
- package/.agent/skills/studio/scripts/utils/component-specs.ts +154 -0
- package/.agent/skills/studio/scripts/utils/config-loader.ts +165 -0
- package/.agent/skills/studio/scripts/utils/css-templates.ts +169 -0
- package/.agent/skills/studio/scripts/utils/css-validator.ts +95 -0
- package/.agent/skills/studio/scripts/utils/csv-loader.ts +52 -0
- package/.agent/skills/studio/scripts/utils/intelligent-overrides.ts +129 -0
- package/.agent/skills/studio/scripts/utils/page-override-formatter.ts +143 -0
- package/.agent/skills/studio/scripts/utils/page-type-detector.ts +124 -0
- package/.agent/skills/studio/scripts/utils/search-cache.ts +165 -0
- package/.agent/skills/studio/scripts/utils/text-utils.ts +44 -0
- package/.agent/skills/system-design/AGENTS.md +597 -0
- package/.agent/skills/system-design/SKILL.md +153 -0
- package/.agent/skills/system-design/rules/_sections.md +15 -0
- package/.agent/skills/system-design/rules/_template.md +32 -0
- package/.agent/skills/system-design/rules/context-discovery.md +117 -0
- package/.agent/skills/system-design/rules/engineering-spec.md +437 -0
- package/.agent/skills/system-design/rules/examples.md +180 -0
- package/.agent/skills/system-design/rules/pattern-selection.md +130 -0
- package/.agent/skills/system-design/rules/patterns-reference.md +110 -0
- package/.agent/skills/system-design/rules/trade-off-analysis.md +169 -0
- package/.agent/skills/tailwind-kit/AGENTS.md +1135 -0
- package/.agent/skills/tailwind-kit/SKILL.md +171 -0
- package/.agent/skills/tailwind-kit/rules/_sections.md +20 -0
- package/.agent/skills/tailwind-kit/rules/_template.md +32 -0
- package/.agent/skills/tailwind-kit/rules/components.md +232 -0
- package/.agent/skills/tailwind-kit/rules/engineering-spec.md +435 -0
- package/.agent/skills/tailwind-kit/rules/responsive.md +221 -0
- package/.agent/skills/tailwind-kit/rules/v4-config.md +72 -0
- package/.agent/skills/test-architect/AGENTS.md +851 -0
- package/.agent/skills/test-architect/SKILL.md +176 -0
- package/.agent/skills/test-architect/rules/_sections.md +15 -0
- package/.agent/skills/test-architect/rules/_template.md +32 -0
- package/.agent/skills/test-architect/rules/engineering-spec.md +434 -0
- package/.agent/skills/test-architect/scripts/test_runner.ts +265 -0
- package/.agent/skills/typescript-expert/AGENTS.md +1045 -0
- package/.agent/skills/typescript-expert/SKILL.md +200 -0
- package/.agent/skills/typescript-expert/rules/_sections.md +20 -0
- package/.agent/skills/typescript-expert/rules/_template.md +32 -0
- package/.agent/skills/typescript-expert/rules/engineering-spec.md +433 -0
- package/.agent/skills/typescript-expert/rules/tsconfig-strict.json +92 -0
- package/.agent/skills/typescript-expert/rules/typescript-cheatsheet.md +407 -0
- package/.agent/skills/typescript-expert/rules/utility-types.ts +264 -0
- package/.agent/skills/typescript-expert/scripts/ts_diagnostic.ts +321 -0
- package/.agent/skills/vercel-deploy/AGENTS.md +490 -0
- package/.agent/skills/vercel-deploy/SKILL.md +175 -0
- package/.agent/skills/vercel-deploy/rules/_sections.md +15 -0
- package/.agent/skills/vercel-deploy/rules/_template.md +32 -0
- package/.agent/skills/vercel-deploy/rules/engineering-spec.md +463 -0
- package/.agent/skills/vercel-deploy/scripts/deploy.sh +310 -0
- package/.agent/workflows/api.md +377 -0
- package/.agent/workflows/autopilot.md +344 -0
- package/.agent/workflows/build.md +338 -0
- package/.agent/workflows/chronicle.md +279 -0
- package/.agent/workflows/cook.md +217 -0
- package/.agent/workflows/diagnose.md +302 -0
- package/.agent/workflows/fix.md +253 -0
- package/.agent/workflows/game.md +329 -0
- package/.agent/workflows/inspect.md +276 -0
- package/.agent/workflows/knowledge.md +212 -0
- package/.agent/workflows/launch.md +345 -0
- package/.agent/workflows/mobile.md +354 -0
- package/.agent/workflows/monitor.md +239 -0
- package/.agent/workflows/optimize.md +269 -0
- package/.agent/workflows/plan.md +278 -0
- package/.agent/workflows/stage.md +286 -0
- package/.agent/workflows/studio.md +276 -0
- package/.agent/workflows/think.md +262 -0
- package/.agent/workflows/validate.md +289 -0
- package/.agentignore +161 -0
- package/.gitattributes +16 -0
- package/CHANGELOG.md +198 -0
- package/LICENSE +40 -0
- package/README.md +173 -0
- package/docs/SKILL_DESIGN_GUIDE.md +561 -0
- package/docs/The-Complete-Guide-to-Building-Skills-for-Claude.md +1207 -0
- package/docs/WORKFLOW_DESIGN_GUIDE.md +325 -0
- package/package.json +33 -0
- package/tsconfig.json +28 -0
|
@@ -0,0 +1,450 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: GitOps Workflow — Engineering Specification
|
|
3
|
+
impact: MEDIUM
|
|
4
|
+
tags: gitops
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# GitOps Workflow — Engineering Specification
|
|
8
|
+
|
|
9
|
+
> Production-grade specification for declarative Kubernetes deployment with ArgoCD and Flux at FAANG scale.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 1. Overview
|
|
14
|
+
|
|
15
|
+
GitOps Workflow provides structured decision frameworks for declarative, Git-based Kubernetes continuous delivery: ArgoCD vs Flux tool selection, sync policy configuration (manual/auto/prune/self-heal), repository structure, OpenGitOps compliance, secret management strategy, and multi-environment promotion. The skill operates as an expert knowledge base with reference files — it produces architecture decisions and configuration guidance. It does not install tools, configure clusters, or modify Kubernetes resources.
|
|
16
|
+
|
|
17
|
+
**Contract Version:** 2.0.0
|
|
18
|
+
**Backward Compatibility:** breaking (first hardened version)
|
|
19
|
+
**Breaking Changes:** None — new spec for first hardening
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## 2. Problem Statement
|
|
24
|
+
|
|
25
|
+
Kubernetes deployment at scale faces four quantified problems:
|
|
26
|
+
|
|
27
|
+
| Problem | Measurement | Impact |
|
|
28
|
+
|---------|-------------|--------|
|
|
29
|
+
| Imperative deployments | 45% of K8s deployments use `kubectl apply` ad-hoc | No audit trail, no rollback |
|
|
30
|
+
| Cluster drift | 35% of production clusters drift from declared state within 24h | State inconsistency |
|
|
31
|
+
| Secrets in Git | 20% of GitOps repos contain plaintext secrets | Credential exposure |
|
|
32
|
+
| No promotion workflow | 40% of multi-env setups lack structured promotion | Staging ≠ production |
|
|
33
|
+
|
|
34
|
+
GitOps Workflow eliminates these with declarative Git-as-source-of-truth, continuous reconciliation, sealed secrets, and environment promotion patterns.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## 3. Design Goals
|
|
39
|
+
|
|
40
|
+
| ID | Goal | Measurable Constraint |
|
|
41
|
+
|----|------|-----------------------|
|
|
42
|
+
| G1 | Git as single source of truth | 100% of cluster state tracked in Git |
|
|
43
|
+
| G2 | Continuous reconciliation | Drift detected within reconciliation interval (default: 3 min) |
|
|
44
|
+
| G3 | ArgoCD vs Flux selection | Decision tree with 4 criteria (UI, multi-cluster, learning curve, team size) |
|
|
45
|
+
| G4 | Sync policy selection | 4 policies mapped to environment type |
|
|
46
|
+
| G5 | No secrets in Git | Sealed Secrets or External Secrets required |
|
|
47
|
+
| G6 | Multi-env promotion | staging → production with approval gate |
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## 4. Non-Goals
|
|
52
|
+
|
|
53
|
+
| ID | Excluded | Rationale |
|
|
54
|
+
|----|----------|-----------|
|
|
55
|
+
| NG1 | Kubernetes cluster provisioning | Infrastructure concern |
|
|
56
|
+
| NG2 | CI pipeline configuration | Owned by `cicd-pipeline` skill |
|
|
57
|
+
| NG3 | Server management | Owned by `server-ops` skill |
|
|
58
|
+
| NG4 | Git operations (commit, push) | Owned by `git-workflow` skill |
|
|
59
|
+
| NG5 | Helm chart development | Specialized concern |
|
|
60
|
+
| NG6 | Service mesh configuration | Infrastructure concern |
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## 5. System Boundaries
|
|
65
|
+
|
|
66
|
+
| Boundary | Owned | Not Owned |
|
|
67
|
+
|----------|-------|-----------|
|
|
68
|
+
| ArgoCD vs Flux decision (4 criteria) | Selection framework | Tool installation |
|
|
69
|
+
| Sync policy selection (4 policies) | Policy recommendation | ArgoCD/Flux configuration |
|
|
70
|
+
| Repository structure template | Directory layout | File creation |
|
|
71
|
+
| OpenGitOps compliance (4 principles) | Compliance checklist | Reconciliation implementation |
|
|
72
|
+
| Secret management strategy | Approach selection (Sealed/External Secrets) | Secret rotation |
|
|
73
|
+
| Multi-env promotion | Promotion workflow pattern | Approval system |
|
|
74
|
+
|
|
75
|
+
**Side-effect boundary:** GitOps Workflow produces architecture decisions and configuration guidance. It does not install ArgoCD/Flux, create Kubernetes resources, or modify cluster state.
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## 6. Integration Model
|
|
80
|
+
|
|
81
|
+
### 6.1 Agent Contract
|
|
82
|
+
|
|
83
|
+
#### Input Schema
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
Request_Type: string # "tool-select" | "sync-policy" | "repo-structure" |
|
|
87
|
+
# "secret-strategy" | "promotion" | "full-guide"
|
|
88
|
+
Context: {
|
|
89
|
+
cluster_count: number # 1 = single, 2+ = multi-cluster
|
|
90
|
+
team_size: string # "small" (<5) | "medium" (5-20) | "large" (20+)
|
|
91
|
+
needs_ui: boolean # Whether web UI is required
|
|
92
|
+
environments: Array<string> # ["dev", "staging", "production"]
|
|
93
|
+
has_helm: boolean # Whether Helm charts are used
|
|
94
|
+
secret_manager: string | null # "sealed-secrets" | "external-secrets" | "vault" | null
|
|
95
|
+
}
|
|
96
|
+
contract_version: string # "2.0.0"
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
#### Output Schema
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
Status: "success" | "error"
|
|
103
|
+
Data: {
|
|
104
|
+
tool: {
|
|
105
|
+
recommended: string # "argocd" | "flux"
|
|
106
|
+
rationale: string
|
|
107
|
+
comparison: Array<{
|
|
108
|
+
feature: string
|
|
109
|
+
argocd: string
|
|
110
|
+
flux: string
|
|
111
|
+
}>
|
|
112
|
+
} | null
|
|
113
|
+
sync_policy: {
|
|
114
|
+
environment: string
|
|
115
|
+
policy: string # "manual" | "auto" | "prune" | "self-heal"
|
|
116
|
+
rationale: string
|
|
117
|
+
} | null
|
|
118
|
+
repo_structure: {
|
|
119
|
+
directories: Array<string>
|
|
120
|
+
description: string
|
|
121
|
+
} | null
|
|
122
|
+
secret_strategy: {
|
|
123
|
+
approach: string # "sealed-secrets" | "external-secrets" | "vault"
|
|
124
|
+
rationale: string
|
|
125
|
+
} | null
|
|
126
|
+
promotion: {
|
|
127
|
+
workflow: Array<string> # Ordered promotion steps
|
|
128
|
+
approval_required: boolean
|
|
129
|
+
} | null
|
|
130
|
+
reference_file: string | null
|
|
131
|
+
metadata: {
|
|
132
|
+
contract_version: string
|
|
133
|
+
backward_compatibility: string
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
Error: ErrorSchema | null
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
#### Error Schema
|
|
140
|
+
|
|
141
|
+
```
|
|
142
|
+
Code: string # From Error Taxonomy (Section 11)
|
|
143
|
+
Message: string
|
|
144
|
+
Request_Type: string
|
|
145
|
+
Recoverable: boolean
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
#### Deterministic Guarantees
|
|
149
|
+
|
|
150
|
+
- Tool selection is deterministic: needs_ui=true OR cluster_count>1 → ArgoCD; else → Flux.
|
|
151
|
+
- Sync policy mapping is fixed: production → manual; dev/staging → auto; cleanup → prune; drift → self-heal.
|
|
152
|
+
- Repository structure is fixed: apps/{env}/, infrastructure/, argocd/applications/.
|
|
153
|
+
- Secret strategy: null → sealed-secrets (default).
|
|
154
|
+
- Promotion: always staging → production with approval gate for production.
|
|
155
|
+
- OpenGitOps compliance: 4 principles (declarative, versioned, pulled, reconciled) — binary pass/fail.
|
|
156
|
+
|
|
157
|
+
#### What Agents May Assume
|
|
158
|
+
|
|
159
|
+
- Tool recommendation reflects current ArgoCD vs Flux capabilities.
|
|
160
|
+
- Sync policies are mutually compatible (can combine auto + prune + self-heal).
|
|
161
|
+
- Repo structure works for both ArgoCD and Flux.
|
|
162
|
+
- Production always requires manual sync (no auto-sync to production).
|
|
163
|
+
|
|
164
|
+
#### What Agents Must NOT Assume
|
|
165
|
+
|
|
166
|
+
- ArgoCD/Flux are installed.
|
|
167
|
+
- Kubernetes cluster exists.
|
|
168
|
+
- The skill creates files, resources, or configurations.
|
|
169
|
+
- Secret management is configured.
|
|
170
|
+
|
|
171
|
+
#### Side-Effect Boundaries
|
|
172
|
+
|
|
173
|
+
| Operation | Side Effects |
|
|
174
|
+
|-----------|-------------|
|
|
175
|
+
| Tool select | None; decision output |
|
|
176
|
+
| Sync policy | None; recommendation |
|
|
177
|
+
| Repo structure | None; template output |
|
|
178
|
+
| Secret strategy | None; recommendation |
|
|
179
|
+
| Promotion | None; workflow output |
|
|
180
|
+
| Full guide | None; combined output |
|
|
181
|
+
|
|
182
|
+
### 6.2 Workflow Contract
|
|
183
|
+
|
|
184
|
+
#### Invocation Pattern
|
|
185
|
+
|
|
186
|
+
```
|
|
187
|
+
1. Define cluster count, team size, environments
|
|
188
|
+
2. Invoke tool-select for ArgoCD vs Flux decision
|
|
189
|
+
3. Invoke repo-structure for directory layout
|
|
190
|
+
4. Invoke sync-policy per environment
|
|
191
|
+
5. Invoke secret-strategy for secret management
|
|
192
|
+
6. Invoke promotion for multi-env workflow
|
|
193
|
+
7. Implement decisions (caller's responsibility)
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
#### Execution Guarantees
|
|
197
|
+
|
|
198
|
+
- Each invocation produces a complete recommendation.
|
|
199
|
+
- No dependencies between request types (can invoke any individually).
|
|
200
|
+
|
|
201
|
+
#### Failure Propagation Model
|
|
202
|
+
|
|
203
|
+
| Failure Severity | Propagation | Workflow Action |
|
|
204
|
+
|-----------------|-------------|-----------------|
|
|
205
|
+
| Invalid request type | Return error to caller | Use supported type |
|
|
206
|
+
| Missing cluster count | Return error to caller | Supply count |
|
|
207
|
+
| Missing environments | Return error to caller | Supply env list |
|
|
208
|
+
|
|
209
|
+
#### Retry Boundaries
|
|
210
|
+
|
|
211
|
+
- Zero internal retries. Deterministic output.
|
|
212
|
+
|
|
213
|
+
#### Isolation Model
|
|
214
|
+
|
|
215
|
+
- Each invocation is stateless and independent.
|
|
216
|
+
|
|
217
|
+
#### Idempotency Expectations
|
|
218
|
+
|
|
219
|
+
| Operation | Idempotent | Notes |
|
|
220
|
+
|-----------|-----------|-------|
|
|
221
|
+
| Tool select | Yes | Same context = same tool |
|
|
222
|
+
| Sync policy | Yes | Same env = same policy |
|
|
223
|
+
| Repo structure | Yes | Fixed template |
|
|
224
|
+
| Secret strategy | Yes | Same input = same recommendation |
|
|
225
|
+
| Promotion | Yes | Same envs = same workflow |
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
## 7. Execution Model
|
|
230
|
+
|
|
231
|
+
### 2-Phase Lifecycle
|
|
232
|
+
|
|
233
|
+
| Phase | Action | Output |
|
|
234
|
+
|-------|--------|--------|
|
|
235
|
+
| **Parse** | Validate request type, context fields | Validated input or error |
|
|
236
|
+
| **Evaluate** | Traverse decision tree for request type | Recommendation |
|
|
237
|
+
|
|
238
|
+
All phases synchronous. No async pipeline.
|
|
239
|
+
|
|
240
|
+
---
|
|
241
|
+
|
|
242
|
+
## 8. Deterministic Design Principles
|
|
243
|
+
|
|
244
|
+
| Principle | Enforcement |
|
|
245
|
+
|-----------|-------------|
|
|
246
|
+
| Fixed tool selection | needs_ui OR multi-cluster → ArgoCD; else → Flux |
|
|
247
|
+
| Fixed sync policies | 4 policies with fixed env mapping |
|
|
248
|
+
| Fixed repo structure | apps/{env}/, infrastructure/, argocd/applications/ |
|
|
249
|
+
| Fixed safety rules | No auto-sync production; no plaintext secrets; rollback tested |
|
|
250
|
+
| OpenGitOps compliance | 4 principles: declarative, versioned, pulled, reconciled |
|
|
251
|
+
| Production approval | Production promotion always requires explicit approval |
|
|
252
|
+
| No external calls | All decisions from embedded rules |
|
|
253
|
+
|
|
254
|
+
---
|
|
255
|
+
|
|
256
|
+
## 9. State & Idempotency Model
|
|
257
|
+
|
|
258
|
+
Stateless. Fully idempotent. No persistent state.
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
## 10. Failure Handling Strategy
|
|
263
|
+
|
|
264
|
+
| Failure Class | Behavior | Caller Recovery |
|
|
265
|
+
|---------------|----------|-----------------|
|
|
266
|
+
| Unknown request type | Return `ERR_INVALID_REQUEST_TYPE` | Use supported type |
|
|
267
|
+
| Missing cluster count | Return `ERR_MISSING_CLUSTER_COUNT` | Supply count |
|
|
268
|
+
| Missing environments | Return `ERR_MISSING_ENVIRONMENTS` | Supply env list |
|
|
269
|
+
| Invalid environment name | Return `ERR_INVALID_ENVIRONMENT` | Use dev/staging/production |
|
|
270
|
+
| Reference file missing | Return `ERR_REFERENCE_NOT_FOUND` | Verify installation |
|
|
271
|
+
|
|
272
|
+
**Invariant:** Every failure returns a structured error. No fallback to default recommendations.
|
|
273
|
+
|
|
274
|
+
---
|
|
275
|
+
|
|
276
|
+
## 11. Error Taxonomy
|
|
277
|
+
|
|
278
|
+
| Code | Category | Recoverable | Description |
|
|
279
|
+
|------|----------|-------------|-------------|
|
|
280
|
+
| `ERR_INVALID_REQUEST_TYPE` | Validation | No | Request type not supported |
|
|
281
|
+
| `ERR_MISSING_CLUSTER_COUNT` | Validation | Yes | Cluster count not provided |
|
|
282
|
+
| `ERR_MISSING_ENVIRONMENTS` | Validation | Yes | Environment list not provided |
|
|
283
|
+
| `ERR_INVALID_ENVIRONMENT` | Validation | Yes | Environment name not recognized |
|
|
284
|
+
| `ERR_REFERENCE_NOT_FOUND` | Infrastructure | No | Reference file missing |
|
|
285
|
+
|
|
286
|
+
---
|
|
287
|
+
|
|
288
|
+
## 12. Timeout & Retry Policy
|
|
289
|
+
|
|
290
|
+
| Parameter | Default | Maximum | Rationale |
|
|
291
|
+
|-----------|---------|---------|-----------|
|
|
292
|
+
| Decision timeout | N/A | N/A | Synchronous; < 50ms |
|
|
293
|
+
| Internal retries | Zero | Zero | Deterministic output |
|
|
294
|
+
|
|
295
|
+
---
|
|
296
|
+
|
|
297
|
+
## 13. Observability & Logging Schema
|
|
298
|
+
|
|
299
|
+
### OpenTelemetry Observability (MANDATORY)
|
|
300
|
+
|
|
301
|
+
- **Decision Telemetry**: Every time the agent evaluates the tool selection (ArgoCD vs Flux) or sync policy, it MUST emit an OpenTelemetry Span (`gitops_decision_latency`) to measure the evaluation latency.
|
|
302
|
+
- **Policy Violation Alerts**: If the input context or user request attempts to assign an `Auto Sync` policy to the `Production` environment, the agent MUST immediately emit an OTel Event (`PRODUCTION_AUTO_SYNC_ATTEMPT`) with CRITICAL severity.
|
|
303
|
+
|
|
304
|
+
### Log Entry Format
|
|
305
|
+
|
|
306
|
+
```json
|
|
307
|
+
{
|
|
308
|
+
"trace_id": "uuid",
|
|
309
|
+
"skill_name": "gitops-workflow",
|
|
310
|
+
"contract_version": "2.0.0",
|
|
311
|
+
"execution_id": "uuid",
|
|
312
|
+
"timestamp": "ISO-8601",
|
|
313
|
+
"request_type": "string",
|
|
314
|
+
"cluster_count": "number",
|
|
315
|
+
"tool_recommended": "string|null",
|
|
316
|
+
"environments": "Array<string>|null",
|
|
317
|
+
"sync_policy": "string|null",
|
|
318
|
+
"status": "success|error",
|
|
319
|
+
"error_code": "string|null",
|
|
320
|
+
"duration_ms": "number"
|
|
321
|
+
}
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
### Required Log Points
|
|
325
|
+
|
|
326
|
+
| Event | Log Level | Fields |
|
|
327
|
+
|-------|-----------|--------|
|
|
328
|
+
| Tool selected | INFO | tool_recommended, rationale |
|
|
329
|
+
| Sync policy selected | INFO | environment, policy |
|
|
330
|
+
| Auto-sync production blocked | WARN | environment |
|
|
331
|
+
| Decision failed | ERROR | error_code, message |
|
|
332
|
+
|
|
333
|
+
### Metrics
|
|
334
|
+
|
|
335
|
+
| Metric | Type | Unit |
|
|
336
|
+
|--------|------|------|
|
|
337
|
+
| `gitops.decision.duration` | Histogram | ms |
|
|
338
|
+
| `gitops.tool.distribution` | Counter | argocd vs flux |
|
|
339
|
+
| `gitops.sync_policy.distribution` | Counter | per policy |
|
|
340
|
+
| `gitops.environment.count` | Histogram | per invocation |
|
|
341
|
+
|
|
342
|
+
---
|
|
343
|
+
|
|
344
|
+
## 14. Security & Trust Model
|
|
345
|
+
|
|
346
|
+
### Data Handling
|
|
347
|
+
|
|
348
|
+
- GitOps Workflow does not access clusters, credentials, or kubeconfig.
|
|
349
|
+
- No secrets, tokens, or certificates are processed.
|
|
350
|
+
- Repo structure templates contain no sensitive data.
|
|
351
|
+
|
|
352
|
+
### Safety Rules (Enforced)
|
|
353
|
+
|
|
354
|
+
| Rule | Enforcement |
|
|
355
|
+
|------|-------------|
|
|
356
|
+
| No auto-sync to production | Sync policy for production is always "manual" |
|
|
357
|
+
| No plaintext secrets in Git | Sealed Secrets or External Secrets recommended |
|
|
358
|
+
| Rollback procedure required | Included in promotion workflow |
|
|
359
|
+
|
|
360
|
+
---
|
|
361
|
+
|
|
362
|
+
## 15. Scalability Model
|
|
363
|
+
|
|
364
|
+
| Dimension | Constraint | Mitigation |
|
|
365
|
+
|-----------|-----------|------------|
|
|
366
|
+
| Throughput | CPU-bound decision tree | < 50ms; scales linearly |
|
|
367
|
+
| Concurrency | Stateless invocations | Unlimited parallel |
|
|
368
|
+
| Reference storage | 2 files (~6 KB) | Static; no growth |
|
|
369
|
+
| Memory per invocation | < 1 MB | No accumulation |
|
|
370
|
+
| Network | Zero network calls | No external dependency |
|
|
371
|
+
|
|
372
|
+
---
|
|
373
|
+
|
|
374
|
+
## 16. Concurrency Model
|
|
375
|
+
|
|
376
|
+
Fully parallel. No shared state. No coordination required.
|
|
377
|
+
|
|
378
|
+
---
|
|
379
|
+
|
|
380
|
+
## 17. Resource Lifecycle Management
|
|
381
|
+
|
|
382
|
+
All resources scoped to invocation. No persistent handles.
|
|
383
|
+
|
|
384
|
+
---
|
|
385
|
+
|
|
386
|
+
## 18. Performance Constraints
|
|
387
|
+
|
|
388
|
+
| Operation | P50 Target | P99 Target | Hard Limit |
|
|
389
|
+
|-----------|-----------|-----------|------------|
|
|
390
|
+
| Tool selection | < 2 ms | < 5 ms | 20 ms |
|
|
391
|
+
| Full guide | < 10 ms | < 30 ms | 50 ms |
|
|
392
|
+
| Output size | ≤ 1,000 chars | ≤ 3,000 chars | 5,000 chars |
|
|
393
|
+
|
|
394
|
+
---
|
|
395
|
+
|
|
396
|
+
## 19. Operational Risks
|
|
397
|
+
|
|
398
|
+
| Risk | Likelihood | Impact | Mitigation |
|
|
399
|
+
|------|-----------|--------|------------|
|
|
400
|
+
| ArgoCD/Flux feature changes | Medium | Stale comparison | Version-pinned comparison |
|
|
401
|
+
| Auto-sync to production | Low (blocked) | Unverified deployment | Manual sync enforced |
|
|
402
|
+
| Secrets in Git | Medium | Credential leakage | Sealed/External Secrets mandate |
|
|
403
|
+
| Cluster drift undetected | Low | State inconsistency | Reconciliation interval (3 min) |
|
|
404
|
+
| Promotion without approval | Low | Untested production | Approval gate mandatory |
|
|
405
|
+
|
|
406
|
+
---
|
|
407
|
+
|
|
408
|
+
## 20. Compliance with skill-design-guide.md
|
|
409
|
+
|
|
410
|
+
| Requirement | Status | Evidence |
|
|
411
|
+
|-------------|--------|----------|
|
|
412
|
+
| YAML frontmatter complete | ✅ | name, description, metadata with category, version, triggers, coordinates_with, success_metrics |
|
|
413
|
+
| SKILL.md < 200 lines | ✅ | Entry point under 200 lines |
|
|
414
|
+
| Prerequisites documented | ✅ | Kubernetes cluster, kubectl, ArgoCD or Flux |
|
|
415
|
+
| When to Use section | ✅ | Situation-based routing table |
|
|
416
|
+
| Core content matches skill type | ✅ | Expert type: decision trees, tool selection |
|
|
417
|
+
| Troubleshooting section | ✅ | Anti-patterns table |
|
|
418
|
+
| Related section | ✅ | Cross-links to cicd-pipeline, server-ops, git-workflow |
|
|
419
|
+
| Content Map for multi-file | ✅ | Links to 2 reference files + engineering-spec.md |
|
|
420
|
+
| Contract versioning | ✅ | contract_version, backward_compatibility, breaking_changes |
|
|
421
|
+
| Compliance matrix structured | ✅ | This table with ✅/❌ + evidence |
|
|
422
|
+
|
|
423
|
+
---
|
|
424
|
+
|
|
425
|
+
## 21. Production Readiness Checklist
|
|
426
|
+
|
|
427
|
+
| Category | Check | Status |
|
|
428
|
+
|----------|-------|--------|
|
|
429
|
+
| **Functionality** | ArgoCD vs Flux decision tree (4 criteria) | ✅ |
|
|
430
|
+
| **Functionality** | 4 sync policies with fixed env mapping | ✅ |
|
|
431
|
+
| **Functionality** | Repository structure template | ✅ |
|
|
432
|
+
| **Functionality** | Secret management strategy | ✅ |
|
|
433
|
+
| **Functionality** | Multi-env promotion with approval | ✅ |
|
|
434
|
+
| **Functionality** | OpenGitOps compliance (4 principles) | ✅ |
|
|
435
|
+
| **Contracts** | Input/output/error schemas in pseudo-schema format | ✅ |
|
|
436
|
+
| **Contracts** | Contract versioning with semver | ✅ |
|
|
437
|
+
| **Failure** | Error taxonomy with 5 categorized codes | ✅ |
|
|
438
|
+
| **Failure** | No fallback to default recommendation | ✅ |
|
|
439
|
+
| **Failure** | Zero internal retries | ✅ |
|
|
440
|
+
| **Determinism** | Fixed tool selection, fixed policies, fixed structure | ✅ |
|
|
441
|
+
| **Security** | No auto-sync production, no plaintext secrets | ✅ |
|
|
442
|
+
| **Observability** | Structured log schema with 5 mandatory fields | ✅ |
|
|
443
|
+
| **Observability** | 4 metrics defined | ✅ |
|
|
444
|
+
| **Performance** | P50/P99 targets for all operations | ✅ |
|
|
445
|
+
| **Scalability** | Stateless; unlimited parallel | ✅ |
|
|
446
|
+
| **Compliance** | All skill-design-guide.md sections mapped with evidence | ✅ |
|
|
447
|
+
|
|
448
|
+
---
|
|
449
|
+
|
|
450
|
+
⚡ PikaKit v3.9.134
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: GitOps Sync Policies
|
|
3
|
+
impact: MEDIUM
|
|
4
|
+
tags: gitops
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# GitOps Sync Policies
|
|
8
|
+
|
|
9
|
+
> Sync strategies, windows, retry policies, and health checks for ArgoCD and Flux.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## ArgoCD Sync Policies
|
|
14
|
+
|
|
15
|
+
### Automated Sync
|
|
16
|
+
```yaml
|
|
17
|
+
syncPolicy:
|
|
18
|
+
automated:
|
|
19
|
+
prune: true # Delete resources removed from Git
|
|
20
|
+
selfHeal: true # Reconcile manual changes
|
|
21
|
+
allowEmpty: false # Prevent empty sync
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### Manual Sync
|
|
25
|
+
```yaml
|
|
26
|
+
syncPolicy:
|
|
27
|
+
syncOptions:
|
|
28
|
+
- PrunePropagationPolicy=foreground
|
|
29
|
+
- CreateNamespace=true
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### Sync Windows
|
|
33
|
+
```yaml
|
|
34
|
+
syncWindows:
|
|
35
|
+
- kind: allow
|
|
36
|
+
schedule: "0 8 * * *"
|
|
37
|
+
duration: 1h
|
|
38
|
+
applications:
|
|
39
|
+
- my-app
|
|
40
|
+
- kind: deny
|
|
41
|
+
schedule: "0 22 * * *"
|
|
42
|
+
duration: 8h
|
|
43
|
+
applications:
|
|
44
|
+
- '*'
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Retry Policy
|
|
48
|
+
```yaml
|
|
49
|
+
syncPolicy:
|
|
50
|
+
retry:
|
|
51
|
+
limit: 5
|
|
52
|
+
backoff:
|
|
53
|
+
duration: 5s
|
|
54
|
+
factor: 2
|
|
55
|
+
maxDuration: 3m
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Flux Sync Policies
|
|
59
|
+
|
|
60
|
+
### Kustomization Sync
|
|
61
|
+
```yaml
|
|
62
|
+
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
|
63
|
+
kind: Kustomization
|
|
64
|
+
metadata:
|
|
65
|
+
name: my-app
|
|
66
|
+
spec:
|
|
67
|
+
interval: 5m
|
|
68
|
+
prune: true
|
|
69
|
+
wait: true
|
|
70
|
+
timeout: 5m
|
|
71
|
+
retryInterval: 1m
|
|
72
|
+
force: false
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### Source Sync Interval
|
|
76
|
+
```yaml
|
|
77
|
+
apiVersion: source.toolkit.fluxcd.io/v1
|
|
78
|
+
kind: GitRepository
|
|
79
|
+
metadata:
|
|
80
|
+
name: my-app
|
|
81
|
+
spec:
|
|
82
|
+
interval: 1m
|
|
83
|
+
timeout: 60s
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Health Assessment
|
|
87
|
+
|
|
88
|
+
### Custom Health Checks
|
|
89
|
+
```yaml
|
|
90
|
+
# ArgoCD
|
|
91
|
+
apiVersion: v1
|
|
92
|
+
kind: ConfigMap
|
|
93
|
+
metadata:
|
|
94
|
+
name: argocd-cm
|
|
95
|
+
namespace: argocd
|
|
96
|
+
data:
|
|
97
|
+
resource.customizations.health.MyCustomResource: |
|
|
98
|
+
hs = {}
|
|
99
|
+
if obj.status ~= nil then
|
|
100
|
+
if obj.status.conditions ~= nil then
|
|
101
|
+
for i, condition in ipairs(obj.status.conditions) do
|
|
102
|
+
if condition.type == "Ready" and condition.status == "False" then
|
|
103
|
+
hs.status = "Degraded"
|
|
104
|
+
hs.message = condition.message
|
|
105
|
+
return hs
|
|
106
|
+
end
|
|
107
|
+
if condition.type == "Ready" and condition.status == "True" then
|
|
108
|
+
hs.status = "Healthy"
|
|
109
|
+
hs.message = condition.message
|
|
110
|
+
return hs
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
end
|
|
115
|
+
hs.status = "Progressing"
|
|
116
|
+
hs.message = "Waiting for status"
|
|
117
|
+
return hs
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## Sync Options
|
|
121
|
+
|
|
122
|
+
### Common Sync Options
|
|
123
|
+
- `PrunePropagationPolicy=foreground` - Wait for pruned resources to be deleted
|
|
124
|
+
- `CreateNamespace=true` - Auto-create namespace
|
|
125
|
+
- `Validate=false` - Skip kubectl validation
|
|
126
|
+
- `PruneLast=true` - Prune resources after sync
|
|
127
|
+
- `RespectIgnoreDifferences=true` - Honor ignore differences
|
|
128
|
+
- `ApplyOutOfSyncOnly=true` - Only apply out-of-sync resources
|
|
129
|
+
|
|
130
|
+
## Best Practices
|
|
131
|
+
|
|
132
|
+
1. Use automated sync for non-production
|
|
133
|
+
2. Require manual approval for production
|
|
134
|
+
3. Configure sync windows for maintenance
|
|
135
|
+
4. Implement health checks for custom resources
|
|
136
|
+
5. Use selective sync for large applications
|
|
137
|
+
6. Configure appropriate retry policies
|
|
138
|
+
7. Monitor sync failures with alerts
|
|
139
|
+
8. Use prune with caution in production
|
|
140
|
+
9. Test sync policies in staging
|
|
141
|
+
10. Document sync behavior for teams
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
⚡ PikaKit v3.9.134
|