cfsa-antigravity 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (378) hide show
  1. package/bin/cli.mjs +324 -0
  2. package/package.json +34 -0
  3. package/template/.agent/instructions/commands.md +48 -0
  4. package/template/.agent/instructions/patterns.md +61 -0
  5. package/template/.agent/instructions/structure.md +29 -0
  6. package/template/.agent/instructions/tech-stack.md +43 -0
  7. package/template/.agent/instructions/workflow.md +41 -0
  8. package/template/.agent/kit-sync.md +15 -0
  9. package/template/.agent/rules/boundary-not-placeholder.md +146 -0
  10. package/template/.agent/rules/completion-checklist.md +48 -0
  11. package/template/.agent/rules/decision-classification.md +103 -0
  12. package/template/.agent/rules/extensibility.md +47 -0
  13. package/template/.agent/rules/question-vs-command.md +81 -0
  14. package/template/.agent/rules/security-first.md +43 -0
  15. package/template/.agent/rules/specificity-standards.md +54 -0
  16. package/template/.agent/rules/tdd-contract-first.md +57 -0
  17. package/template/.agent/rules/vertical-slices.md +42 -0
  18. package/template/.agent/skill-library/MANIFEST.md +480 -0
  19. package/template/.agent/skill-library/README.md +38 -0
  20. package/template/.agent/skill-library/meta/brand-guidelines/SKILL.md +73 -0
  21. package/template/.agent/skill-library/meta/claude-code/README.md +9 -0
  22. package/template/.agent/skill-library/meta/claude-code/agent-development/SKILL.md +415 -0
  23. package/template/.agent/skill-library/meta/claude-code/hook-development/SKILL.md +712 -0
  24. package/template/.agent/skill-library/meta/claude-code/plugin-structure/SKILL.md +476 -0
  25. package/template/.agent/skill-library/meta/git-advanced/SKILL.md +972 -0
  26. package/template/.agent/skill-library/meta/mcp-builder/SKILL.md +236 -0
  27. package/template/.agent/skill-library/meta/product-marketing-context/SKILL.md +241 -0
  28. package/template/.agent/skill-library/meta/regex-patterns/SKILL.md +751 -0
  29. package/template/.agent/skill-library/meta/tmux-processes/SKILL.md +210 -0
  30. package/template/.agent/skill-library/meta/using-tmux-for-interactive-commands/SKILL.md +178 -0
  31. package/template/.agent/skill-library/stack/3d/threejs-pro/SKILL.md +300 -0
  32. package/template/.agent/skill-library/stack/ai/ai-sdk/SKILL.md +77 -0
  33. package/template/.agent/skill-library/stack/ai/langchain/SKILL.md +530 -0
  34. package/template/.agent/skill-library/stack/ai/ollama/SKILL.md +321 -0
  35. package/template/.agent/skill-library/stack/ai/openai-sdk/SKILL.md +549 -0
  36. package/template/.agent/skill-library/stack/analytics/google-analytics/SKILL.md +153 -0
  37. package/template/.agent/skill-library/stack/api/graphql/SKILL.md +1061 -0
  38. package/template/.agent/skill-library/stack/api/trpc/SKILL.md +576 -0
  39. package/template/.agent/skill-library/stack/auth/authjs/SKILL.md +569 -0
  40. package/template/.agent/skill-library/stack/auth/clerk/SKILL.md +590 -0
  41. package/template/.agent/skill-library/stack/auth/firebase-auth/SKILL.md +734 -0
  42. package/template/.agent/skill-library/stack/cms/payload-cms/SKILL.md +573 -0
  43. package/template/.agent/skill-library/stack/cms/shopify/SKILL.md +1193 -0
  44. package/template/.agent/skill-library/stack/cms/wordpress/SKILL.md +1104 -0
  45. package/template/.agent/skill-library/stack/css/sass-scss/SKILL.md +1121 -0
  46. package/template/.agent/skill-library/stack/css/tailwind-css-patterns/SKILL.md +863 -0
  47. package/template/.agent/skill-library/stack/css/tailwind-design-system/SKILL.md +490 -0
  48. package/template/.agent/skill-library/stack/css/vanilla-css/SKILL.md +1078 -0
  49. package/template/.agent/skill-library/stack/databases/clickhouse/SKILL.md +311 -0
  50. package/template/.agent/skill-library/stack/databases/influxdb/SKILL.md +280 -0
  51. package/template/.agent/skill-library/stack/databases/lancedb/SKILL.md +415 -0
  52. package/template/.agent/skill-library/stack/databases/mongodb/SKILL.md +1169 -0
  53. package/template/.agent/skill-library/stack/databases/neo4j/SKILL.md +839 -0
  54. package/template/.agent/skill-library/stack/databases/pgvector/SKILL.md +241 -0
  55. package/template/.agent/skill-library/stack/databases/pinecone/SKILL.md +212 -0
  56. package/template/.agent/skill-library/stack/databases/postgresql/SKILL.md +658 -0
  57. package/template/.agent/skill-library/stack/databases/qdrant/SKILL.md +312 -0
  58. package/template/.agent/skill-library/stack/databases/redis/SKILL.md +1079 -0
  59. package/template/.agent/skill-library/stack/databases/spacetimedb/SKILL.md +532 -0
  60. package/template/.agent/skill-library/stack/databases/sqlite/SKILL.md +1132 -0
  61. package/template/.agent/skill-library/stack/databases/supabase/SKILL.md +640 -0
  62. package/template/.agent/skill-library/stack/databases/surrealdb-expert/SKILL.md +945 -0
  63. package/template/.agent/skill-library/stack/databases/timescaledb/SKILL.md +745 -0
  64. package/template/.agent/skill-library/stack/databases/weaviate/SKILL.md +218 -0
  65. package/template/.agent/skill-library/stack/devops/github-actions/SKILL.md +554 -0
  66. package/template/.agent/skill-library/stack/devops/kubernetes/SKILL.md +950 -0
  67. package/template/.agent/skill-library/stack/devops/nginx/SKILL.md +841 -0
  68. package/template/.agent/skill-library/stack/devops/terraform/SKILL.md +860 -0
  69. package/template/.agent/skill-library/stack/email/resend/SKILL.md +391 -0
  70. package/template/.agent/skill-library/stack/engines/godot/SKILL.md +488 -0
  71. package/template/.agent/skill-library/stack/extensions/chrome-extension/SKILL.md +375 -0
  72. package/template/.agent/skill-library/stack/extensions/vscode-extension/SKILL.md +453 -0
  73. package/template/.agent/skill-library/stack/frameworks/astro-framework/SKILL.md +162 -0
  74. package/template/.agent/skill-library/stack/frameworks/electron/SKILL.md +1286 -0
  75. package/template/.agent/skill-library/stack/frameworks/fastapi/SKILL.md +650 -0
  76. package/template/.agent/skill-library/stack/frameworks/hono/SKILL.md +90 -0
  77. package/template/.agent/skill-library/stack/frameworks/nestjs/SKILL.md +878 -0
  78. package/template/.agent/skill-library/stack/frameworks/nextjs/SKILL.md +635 -0
  79. package/template/.agent/skill-library/stack/frameworks/nuxt/SKILL.md +564 -0
  80. package/template/.agent/skill-library/stack/frameworks/sveltekit/SKILL.md +614 -0
  81. package/template/.agent/skill-library/stack/frameworks/tauri/SKILL.md +920 -0
  82. package/template/.agent/skill-library/stack/gamedev/godot/SKILL.md +1032 -0
  83. package/template/.agent/skill-library/stack/gamedev/unity/SKILL.md +1175 -0
  84. package/template/.agent/skill-library/stack/hosting/aws/SKILL.md +467 -0
  85. package/template/.agent/skill-library/stack/hosting/cloudflare/SKILL.md +201 -0
  86. package/template/.agent/skill-library/stack/hosting/docker-expert/SKILL.md +409 -0
  87. package/template/.agent/skill-library/stack/hosting/vercel/SKILL.md +484 -0
  88. package/template/.agent/skill-library/stack/languages/bash-scripting/SKILL.md +773 -0
  89. package/template/.agent/skill-library/stack/languages/c-cpp/SKILL.md +712 -0
  90. package/template/.agent/skill-library/stack/languages/gdscript/SKILL.md +789 -0
  91. package/template/.agent/skill-library/stack/languages/go/SKILL.md +664 -0
  92. package/template/.agent/skill-library/stack/languages/java/SKILL.md +778 -0
  93. package/template/.agent/skill-library/stack/languages/kotlin/SKILL.md +665 -0
  94. package/template/.agent/skill-library/stack/languages/python/SKILL.md +678 -0
  95. package/template/.agent/skill-library/stack/languages/rust/SKILL.md +673 -0
  96. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/SKILL.md +141 -0
  97. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/advanced-generics.md +90 -0
  98. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/branded-types.md +57 -0
  99. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/builder-pattern.md +71 -0
  100. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/common-pitfalls.md +135 -0
  101. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/conditional-types.md +27 -0
  102. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/decorators.md +98 -0
  103. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/discriminated-unions.md +62 -0
  104. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/mapped-types.md +53 -0
  105. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/performance-best-practices.md +104 -0
  106. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/template-literal-types.md +49 -0
  107. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/testing-types.md +112 -0
  108. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/type-guards.md +70 -0
  109. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/type-inference.md +101 -0
  110. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/utility-types.md +98 -0
  111. package/template/.agent/skill-library/stack/languages/vanilla-javascript/SKILL.md +803 -0
  112. package/template/.agent/skill-library/stack/messaging/kafka/SKILL.md +235 -0
  113. package/template/.agent/skill-library/stack/mobile/expo-react-native/SKILL.md +665 -0
  114. package/template/.agent/skill-library/stack/mobile/flutter/SKILL.md +316 -0
  115. package/template/.agent/skill-library/stack/mobile/react-native/SKILL.md +337 -0
  116. package/template/.agent/skill-library/stack/monitoring/posthog/SKILL.md +396 -0
  117. package/template/.agent/skill-library/stack/monitoring/sentry/SKILL.md +509 -0
  118. package/template/.agent/skill-library/stack/observability/datadog/SKILL.md +179 -0
  119. package/template/.agent/skill-library/stack/observability/distributed-tracing/SKILL.md +140 -0
  120. package/template/.agent/skill-library/stack/observability/logging-best-practices/SKILL.md +168 -0
  121. package/template/.agent/skill-library/stack/observability/opentelemetry/SKILL.md +164 -0
  122. package/template/.agent/skill-library/stack/observability/prometheus-grafana/SKILL.md +246 -0
  123. package/template/.agent/skill-library/stack/observability/python-observability/SKILL.md +158 -0
  124. package/template/.agent/skill-library/stack/orm/drizzle-orm/SKILL.md +613 -0
  125. package/template/.agent/skill-library/stack/orm/prisma/SKILL.md +744 -0
  126. package/template/.agent/skill-library/stack/payments/lemonsqueezy/SKILL.md +393 -0
  127. package/template/.agent/skill-library/stack/payments/stripe-integration/SKILL.md +457 -0
  128. package/template/.agent/skill-library/stack/queue/bullmq/SKILL.md +385 -0
  129. package/template/.agent/skill-library/stack/queue/inngest/SKILL.md +438 -0
  130. package/template/.agent/skill-library/stack/realtime/socketio/SKILL.md +595 -0
  131. package/template/.agent/skill-library/stack/search/elasticsearch/SKILL.md +248 -0
  132. package/template/.agent/skill-library/stack/search/meilisearch/SKILL.md +385 -0
  133. package/template/.agent/skill-library/stack/security/crypto-patterns/SKILL.md +437 -0
  134. package/template/.agent/skill-library/stack/security/csp-cors-headers/SKILL.md +588 -0
  135. package/template/.agent/skill-library/stack/security/dependency-auditing/SKILL.md +560 -0
  136. package/template/.agent/skill-library/stack/security/input-sanitization/SKILL.md +430 -0
  137. package/template/.agent/skill-library/stack/security/owasp-web-security/SKILL.md +421 -0
  138. package/template/.agent/skill-library/stack/state/tanstack-query/SKILL.md +637 -0
  139. package/template/.agent/skill-library/stack/state/zustand/SKILL.md +483 -0
  140. package/template/.agent/skill-library/stack/storage/aws-s3/SKILL.md +415 -0
  141. package/template/.agent/skill-library/stack/testing/playwright/SKILL.md +641 -0
  142. package/template/.agent/skill-library/stack/testing/storybook/SKILL.md +923 -0
  143. package/template/.agent/skill-library/stack/testing/testing-library/SKILL.md +872 -0
  144. package/template/.agent/skill-library/stack/testing/vitest/SKILL.md +714 -0
  145. package/template/.agent/skill-library/stack/ui/react-best-practices/SKILL.md +877 -0
  146. package/template/.agent/skill-library/stack/ui/react-composition-patterns/SKILL.md +1107 -0
  147. package/template/.agent/skill-library/stack/ui/react-flow/SKILL.md +425 -0
  148. package/template/.agent/skill-library/stack/ui/shadcn-ui/SKILL.md +703 -0
  149. package/template/.agent/skill-library/surface/api/api-caching/SKILL.md +458 -0
  150. package/template/.agent/skill-library/surface/api/api-documentation-openapi/SKILL.md +697 -0
  151. package/template/.agent/skill-library/surface/api/api-error-handling/SKILL.md +478 -0
  152. package/template/.agent/skill-library/surface/api/api-security-checklist/SKILL.md +147 -0
  153. package/template/.agent/skill-library/surface/api/api-versioning/SKILL.md +420 -0
  154. package/template/.agent/skill-library/surface/api/email-best-practices/SKILL.md +59 -0
  155. package/template/.agent/skill-library/surface/api/rate-limiting-abuse-protection/SKILL.md +147 -0
  156. package/template/.agent/skill-library/surface/api/rest-api-design/SKILL.md +478 -0
  157. package/template/.agent/skill-library/surface/api/webhook-design/SKILL.md +752 -0
  158. package/template/.agent/skill-library/surface/cli/cli-configuration-management/SKILL.md +445 -0
  159. package/template/.agent/skill-library/surface/cli/cli-error-diagnostics/SKILL.md +515 -0
  160. package/template/.agent/skill-library/surface/cli/cli-shell-integration/SKILL.md +479 -0
  161. package/template/.agent/skill-library/surface/cli/cli-ux-design/SKILL.md +477 -0
  162. package/template/.agent/skill-library/surface/desktop/desktop-app-distribution/SKILL.md +416 -0
  163. package/template/.agent/skill-library/surface/desktop/desktop-security-sandboxing/SKILL.md +407 -0
  164. package/template/.agent/skill-library/surface/desktop/desktop-ux-conventions/SKILL.md +361 -0
  165. package/template/.agent/skill-library/surface/desktop/native-os-integration/SKILL.md +563 -0
  166. package/template/.agent/skill-library/surface/extension/browser-extension-patterns/SKILL.md +482 -0
  167. package/template/.agent/skill-library/surface/extension/plugin-architecture-design/SKILL.md +632 -0
  168. package/template/.agent/skill-library/surface/extension/vscode-extension-development/SKILL.md +728 -0
  169. package/template/.agent/skill-library/surface/mobile/app-store-submission/SKILL.md +304 -0
  170. package/template/.agent/skill-library/surface/mobile/mobile-offline-sync/SKILL.md +443 -0
  171. package/template/.agent/skill-library/surface/mobile/mobile-responsive-patterns/SKILL.md +432 -0
  172. package/template/.agent/skill-library/surface/mobile/push-notifications/SKILL.md +495 -0
  173. package/template/.agent/skill-library/surface/web/accessibility-compliance/SKILL.md +827 -0
  174. package/template/.agent/skill-library/surface/web/ai-seo/SKILL.md +398 -0
  175. package/template/.agent/skill-library/surface/web/ai-seo/references/content-patterns.md +285 -0
  176. package/template/.agent/skill-library/surface/web/ai-seo/references/platform-ranking-factors.md +152 -0
  177. package/template/.agent/skill-library/surface/web/analytics-tracking/SKILL.md +309 -0
  178. package/template/.agent/skill-library/surface/web/analytics-tracking/references/event-library.md +260 -0
  179. package/template/.agent/skill-library/surface/web/analytics-tracking/references/ga4-implementation.md +300 -0
  180. package/template/.agent/skill-library/surface/web/analytics-tracking/references/gtm-implementation.md +390 -0
  181. package/template/.agent/skill-library/surface/web/authentication-ui-flows/SKILL.md +530 -0
  182. package/template/.agent/skill-library/surface/web/dark-mode-theming/SKILL.md +516 -0
  183. package/template/.agent/skill-library/surface/web/design-reference-data/SKILL.md +105 -0
  184. package/template/.agent/skill-library/surface/web/design-reference-data/data/charts.csv +26 -0
  185. package/template/.agent/skill-library/surface/web/design-reference-data/data/colors.csv +97 -0
  186. package/template/.agent/skill-library/surface/web/design-reference-data/data/landing.csv +31 -0
  187. package/template/.agent/skill-library/surface/web/design-reference-data/data/styles.csv +59 -0
  188. package/template/.agent/skill-library/surface/web/design-reference-data/data/typography.csv +58 -0
  189. package/template/.agent/skill-library/surface/web/design-reference-data/data/ux-guidelines.csv +100 -0
  190. package/template/.agent/skill-library/surface/web/design-reference-data/scripts/core.py +258 -0
  191. package/template/.agent/skill-library/surface/web/design-reference-data/scripts/design_system.py +1067 -0
  192. package/template/.agent/skill-library/surface/web/design-reference-data/scripts/search.py +106 -0
  193. package/template/.agent/skill-library/surface/web/form-handling-validation/SKILL.md +675 -0
  194. package/template/.agent/skill-library/surface/web/frontend-design/SKILL.md +1393 -0
  195. package/template/.agent/skill-library/surface/web/frontend-design/templates/cppn-hero.tsx +299 -0
  196. package/template/.agent/skill-library/surface/web/frontend-design/templates/wave-hero.tsx +875 -0
  197. package/template/.agent/skill-library/surface/web/frontend-verification/SKILL.md +111 -0
  198. package/template/.agent/skill-library/surface/web/frontend-verification/scripts/ux_audit.py +739 -0
  199. package/template/.agent/skill-library/surface/web/i18n-localization/SKILL.md +154 -0
  200. package/template/.agent/skill-library/surface/web/offline-first-pwa/SKILL.md +657 -0
  201. package/template/.agent/skill-library/surface/web/page-cro/SKILL.md +182 -0
  202. package/template/.agent/skill-library/surface/web/page-cro/references/experiments.md +248 -0
  203. package/template/.agent/skill-library/surface/web/programmatic-seo/SKILL.md +238 -0
  204. package/template/.agent/skill-library/surface/web/programmatic-seo/references/playbooks.md +308 -0
  205. package/template/.agent/skill-library/surface/web/schema-markup/SKILL.md +179 -0
  206. package/template/.agent/skill-library/surface/web/schema-markup/references/schema-examples.md +398 -0
  207. package/template/.agent/skill-library/surface/web/seo-audit/SKILL.md +394 -0
  208. package/template/.agent/skill-library/surface/web/seo-audit/references/ai-writing-detection.md +200 -0
  209. package/template/.agent/skill-library/surface/web/web-performance-optimization/SKILL.md +646 -0
  210. package/template/.agent/skill-library/surface/web/web-scraping/SKILL.md +58 -0
  211. package/template/.agent/skills/accessibility/SKILL.md +522 -0
  212. package/template/.agent/skills/accessibility/references/WCAG.md +162 -0
  213. package/template/.agent/skills/adversarial-review/SKILL.md +90 -0
  214. package/template/.agent/skills/antigravity-workflows/SKILL.md +81 -0
  215. package/template/.agent/skills/antigravity-workflows/resources/implementation-playbook.md +36 -0
  216. package/template/.agent/skills/api-design-principles/SKILL.md +37 -0
  217. package/template/.agent/skills/api-design-principles/assets/api-design-checklist.md +155 -0
  218. package/template/.agent/skills/api-design-principles/assets/rest-api-template.py +182 -0
  219. package/template/.agent/skills/api-design-principles/references/graphql-schema-design.md +583 -0
  220. package/template/.agent/skills/api-design-principles/references/rest-best-practices.md +408 -0
  221. package/template/.agent/skills/api-design-principles/resources/implementation-playbook.md +513 -0
  222. package/template/.agent/skills/api-versioning/SKILL.md +420 -0
  223. package/template/.agent/skills/architecture-mapping/SKILL.md +219 -0
  224. package/template/.agent/skills/bootstrap-agents/SKILL.md +259 -0
  225. package/template/.agent/skills/brainstorming/SKILL.md +236 -0
  226. package/template/.agent/skills/brand-guidelines/SKILL.md +44 -0
  227. package/template/.agent/skills/clean-code/SKILL.md +94 -0
  228. package/template/.agent/skills/code-review-pro/SKILL.md +152 -0
  229. package/template/.agent/skills/concise-planning/SKILL.md +68 -0
  230. package/template/.agent/skills/cross-layer-consistency/SKILL.md +117 -0
  231. package/template/.agent/skills/database-schema-design/SKILL.md +429 -0
  232. package/template/.agent/skills/deployment-procedures/SKILL.md +241 -0
  233. package/template/.agent/skills/design-anti-cliche/SKILL.md +159 -0
  234. package/template/.agent/skills/design-direction/SKILL.md +45 -0
  235. package/template/.agent/skills/error-handling-patterns/SKILL.md +721 -0
  236. package/template/.agent/skills/find-skills/SKILL.md +145 -0
  237. package/template/.agent/skills/git-advanced/SKILL.md +972 -0
  238. package/template/.agent/skills/git-workflow/SKILL.md +420 -0
  239. package/template/.agent/skills/idea-extraction/SKILL.md +271 -0
  240. package/template/.agent/skills/logging-best-practices/SKILL.md +851 -0
  241. package/template/.agent/skills/migration-management/SKILL.md +384 -0
  242. package/template/.agent/skills/minimalist-surgical-development/SKILL.md +69 -0
  243. package/template/.agent/skills/parallel-agents/SKILL.md +165 -0
  244. package/template/.agent/skills/parallel-debugging/SKILL.md +135 -0
  245. package/template/.agent/skills/parallel-feature-development/SKILL.md +166 -0
  246. package/template/.agent/skills/performance-budgeting/SKILL.md +144 -0
  247. package/template/.agent/skills/pipeline-rubrics/SKILL.md +51 -0
  248. package/template/.agent/skills/pipeline-rubrics/references/architecture-rubric.md +19 -0
  249. package/template/.agent/skills/pipeline-rubrics/references/be-rubric.md +21 -0
  250. package/template/.agent/skills/pipeline-rubrics/references/fe-rubric.md +20 -0
  251. package/template/.agent/skills/pipeline-rubrics/references/ia-rubric.md +19 -0
  252. package/template/.agent/skills/pipeline-rubrics/references/scoring.md +28 -0
  253. package/template/.agent/skills/pipeline-rubrics/references/vision-rubric.md +11 -0
  254. package/template/.agent/skills/prd-templates/SKILL.md +88 -0
  255. package/template/.agent/skills/prd-templates/references/architecture-design-template.md +88 -0
  256. package/template/.agent/skills/prd-templates/references/be-spec-template.md +101 -0
  257. package/template/.agent/skills/prd-templates/references/data-placement-template.md +74 -0
  258. package/template/.agent/skills/prd-templates/references/decomposition-templates.md +211 -0
  259. package/template/.agent/skills/prd-templates/references/design-system-decisions.md +198 -0
  260. package/template/.agent/skills/prd-templates/references/engineering-standards-template.md +124 -0
  261. package/template/.agent/skills/prd-templates/references/fe-classification-procedures.md +47 -0
  262. package/template/.agent/skills/prd-templates/references/fe-spec-template.md +84 -0
  263. package/template/.agent/skills/prd-templates/references/infrastructure-report-template.md +71 -0
  264. package/template/.agent/skills/prd-templates/references/operational-templates.md +116 -0
  265. package/template/.agent/skills/prd-templates/references/placeholder-guard-template.md +21 -0
  266. package/template/.agent/skills/prd-templates/references/surface-model.md +61 -0
  267. package/template/.agent/skills/prd-templates/references/vision-template.md +66 -0
  268. package/template/.agent/skills/prompt-engineer/README.md +659 -0
  269. package/template/.agent/skills/prompt-engineer/SKILL.md +249 -0
  270. package/template/.agent/skills/regex-patterns/SKILL.md +751 -0
  271. package/template/.agent/skills/resolve-ambiguity/SKILL.md +278 -0
  272. package/template/.agent/skills/rest-api-design/SKILL.md +478 -0
  273. package/template/.agent/skills/security-scanning-security-hardening/SKILL.md +231 -0
  274. package/template/.agent/skills/session-continuity/SKILL.md +730 -0
  275. package/template/.agent/skills/session-continuity/protocols/01-session-resumption.md +38 -0
  276. package/template/.agent/skills/session-continuity/protocols/02-progress-generation.md +85 -0
  277. package/template/.agent/skills/session-continuity/protocols/03-progress-update.md +70 -0
  278. package/template/.agent/skills/session-continuity/protocols/04-pattern-extraction.md +60 -0
  279. package/template/.agent/skills/session-continuity/protocols/05-session-close.md +37 -0
  280. package/template/.agent/skills/session-continuity/protocols/06-decision-analysis.md +84 -0
  281. package/template/.agent/skills/session-continuity/protocols/07-spec-pipeline-generation.md +48 -0
  282. package/template/.agent/skills/session-continuity/protocols/08-spec-pipeline-update.md +43 -0
  283. package/template/.agent/skills/session-continuity/protocols/09-parallel-claim.md +122 -0
  284. package/template/.agent/skills/session-continuity/protocols/10-placeholder-verification-gate.md +104 -0
  285. package/template/.agent/skills/session-continuity/protocols/ambiguity-gates.md +48 -0
  286. package/template/.agent/skills/skill-creator/LICENSE.txt +202 -0
  287. package/template/.agent/skills/skill-creator/README.md +270 -0
  288. package/template/.agent/skills/skill-creator/SKILL.md +590 -0
  289. package/template/.agent/skills/skill-creator/references/output-patterns.md +82 -0
  290. package/template/.agent/skills/skill-creator/references/workflows.md +28 -0
  291. package/template/.agent/skills/skill-creator/scripts/init_skill.py +303 -0
  292. package/template/.agent/skills/skill-creator/scripts/package_skill.py +110 -0
  293. package/template/.agent/skills/skill-creator/scripts/quick_validate.py +95 -0
  294. package/template/.agent/skills/spec-writing/SKILL.md +110 -0
  295. package/template/.agent/skills/systematic-debugging/CREATION-LOG.md +119 -0
  296. package/template/.agent/skills/systematic-debugging/SKILL.md +297 -0
  297. package/template/.agent/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
  298. package/template/.agent/skills/systematic-debugging/condition-based-waiting.md +115 -0
  299. package/template/.agent/skills/systematic-debugging/defense-in-depth.md +122 -0
  300. package/template/.agent/skills/systematic-debugging/find-polluter.sh +63 -0
  301. package/template/.agent/skills/systematic-debugging/root-cause-tracing.md +169 -0
  302. package/template/.agent/skills/systematic-debugging/test-academic.md +14 -0
  303. package/template/.agent/skills/systematic-debugging/test-pressure-1.md +58 -0
  304. package/template/.agent/skills/systematic-debugging/test-pressure-2.md +68 -0
  305. package/template/.agent/skills/systematic-debugging/test-pressure-3.md +69 -0
  306. package/template/.agent/skills/tdd-workflow/SKILL.md +409 -0
  307. package/template/.agent/skills/tech-stack-catalog/SKILL.md +49 -0
  308. package/template/.agent/skills/tech-stack-catalog/references/constraint-questions.md +21 -0
  309. package/template/.agent/skills/tech-stack-catalog/references/dev-tooling-decisions.md +37 -0
  310. package/template/.agent/skills/tech-stack-catalog/references/surface-decision-tables.md +69 -0
  311. package/template/.agent/skills/technical-writer/SKILL.md +242 -0
  312. package/template/.agent/skills/testing-strategist/SKILL.md +932 -0
  313. package/template/.agent/skills/verification-before-completion/SKILL.md +145 -0
  314. package/template/.agent/skills/workflow-automation/SKILL.md +73 -0
  315. package/template/.agent/workflows/audit-ambiguity-execute.md +165 -0
  316. package/template/.agent/workflows/audit-ambiguity-rubrics.md +83 -0
  317. package/template/.agent/workflows/audit-ambiguity.md +64 -0
  318. package/template/.agent/workflows/bootstrap-agents-fill.md +201 -0
  319. package/template/.agent/workflows/bootstrap-agents-provision.md +197 -0
  320. package/template/.agent/workflows/bootstrap-agents.md +66 -0
  321. package/template/.agent/workflows/create-prd-architecture.md +119 -0
  322. package/template/.agent/workflows/create-prd-compile.md +138 -0
  323. package/template/.agent/workflows/create-prd-design-system.md +135 -0
  324. package/template/.agent/workflows/create-prd-security.md +113 -0
  325. package/template/.agent/workflows/create-prd-stack.md +91 -0
  326. package/template/.agent/workflows/create-prd.md +168 -0
  327. package/template/.agent/workflows/decompose-architecture-structure.md +82 -0
  328. package/template/.agent/workflows/decompose-architecture-validate.md +119 -0
  329. package/template/.agent/workflows/decompose-architecture.md +111 -0
  330. package/template/.agent/workflows/evolve-contract.md +98 -0
  331. package/template/.agent/workflows/evolve-feature-cascade.md +140 -0
  332. package/template/.agent/workflows/evolve-feature-classify.md +116 -0
  333. package/template/.agent/workflows/evolve-feature.md +56 -0
  334. package/template/.agent/workflows/ideate-discover.md +144 -0
  335. package/template/.agent/workflows/ideate-extract.md +129 -0
  336. package/template/.agent/workflows/ideate-validate.md +117 -0
  337. package/template/.agent/workflows/ideate.md +113 -0
  338. package/template/.agent/workflows/implement-slice-setup.md +113 -0
  339. package/template/.agent/workflows/implement-slice-tdd.md +198 -0
  340. package/template/.agent/workflows/implement-slice.md +50 -0
  341. package/template/.agent/workflows/plan-phase.md +202 -0
  342. package/template/.agent/workflows/propagate-decision-apply.md +135 -0
  343. package/template/.agent/workflows/propagate-decision-scan.md +147 -0
  344. package/template/.agent/workflows/propagate-decision.md +56 -0
  345. package/template/.agent/workflows/remediate-pipeline-assess.md +138 -0
  346. package/template/.agent/workflows/remediate-pipeline-execute.md +135 -0
  347. package/template/.agent/workflows/remediate-pipeline.md +55 -0
  348. package/template/.agent/workflows/resolve-ambiguity.md +82 -0
  349. package/template/.agent/workflows/sync-kit.md +209 -0
  350. package/template/.agent/workflows/update-architecture-map.md +74 -0
  351. package/template/.agent/workflows/validate-phase.md +219 -0
  352. package/template/.agent/workflows/verify-infrastructure.md +207 -0
  353. package/template/.agent/workflows/write-architecture-spec-deepen.md +139 -0
  354. package/template/.agent/workflows/write-architecture-spec-design.md +202 -0
  355. package/template/.agent/workflows/write-architecture-spec.md +63 -0
  356. package/template/.agent/workflows/write-be-spec-classify.md +165 -0
  357. package/template/.agent/workflows/write-be-spec-write.md +98 -0
  358. package/template/.agent/workflows/write-be-spec.md +76 -0
  359. package/template/.agent/workflows/write-fe-spec-classify.md +170 -0
  360. package/template/.agent/workflows/write-fe-spec-write.md +94 -0
  361. package/template/.agent/workflows/write-fe-spec.md +71 -0
  362. package/template/AGENTS.md +176 -0
  363. package/template/GEMINI.md +177 -0
  364. package/template/docs/README.md +187 -0
  365. package/template/docs/audits/.gitkeep +0 -0
  366. package/template/docs/audits/README.md +10 -0
  367. package/template/docs/plans/.gitkeep +0 -0
  368. package/template/docs/plans/README.md +21 -0
  369. package/template/docs/plans/be/.gitkeep +0 -0
  370. package/template/docs/plans/be/README.md +11 -0
  371. package/template/docs/plans/fe/.gitkeep +0 -0
  372. package/template/docs/plans/fe/README.md +11 -0
  373. package/template/docs/plans/ia/.gitkeep +0 -0
  374. package/template/docs/plans/ia/README.md +17 -0
  375. package/template/docs/plans/ia/deep-dives/.gitkeep +0 -0
  376. package/template/docs/plans/ia/deep-dives/README.md +5 -0
  377. package/template/docs/plans/phases/.gitkeep +0 -0
  378. package/template/docs/plans/phases/README.md +11 -0
@@ -0,0 +1,950 @@
1
+ ---
2
+ name: kubernetes
3
+ description: "Comprehensive Kubernetes patterns guide covering Pod design, Deployments, Services, Ingress, ConfigMaps, Secrets, PersistentVolumes, Helm charts, resource management, health probes, autoscaling, RBAC, NetworkPolicies, namespaces, Kustomize, GitOps with ArgoCD/Flux, debugging, and monitoring with Prometheus and Grafana. Use when deploying applications to Kubernetes, designing cluster architecture, or troubleshooting workloads."
4
+ version: 1.0.0
5
+ ---
6
+
7
+ # Kubernetes
8
+
9
+ ## 1. Philosophy
10
+
11
+ Kubernetes is a **container orchestration platform** that automates deployment, scaling, and management of containerized applications. You declare the desired state of your workloads, and Kubernetes continuously reconciles actual state to match.
12
+
13
+ **Key principles**:
14
+ - Declarative over imperative. Define what you want, not how to get there.
15
+ - Immutable deployments. Never patch running containers -- build a new image and roll it out.
16
+ - Labels and selectors are the glue. Every relationship in Kubernetes is label-based.
17
+ - Resource limits are mandatory. A container without limits can starve the entire node.
18
+ - Health checks are not optional. Without probes, Kubernetes cannot manage your application.
19
+
20
+ ---
21
+
22
+ ## 2. Pod Design Patterns
23
+
24
+ ### Single-Container Pod
25
+
26
+ The simplest unit. One container, one concern.
27
+
28
+ ```yaml
29
+ apiVersion: v1
30
+ kind: Pod
31
+ metadata:
32
+ name: web-server
33
+ labels:
34
+ app: web
35
+ tier: frontend
36
+ spec:
37
+ containers:
38
+ - name: web
39
+ image: nginx:1.25-alpine
40
+ ports:
41
+ - containerPort: 80
42
+ resources:
43
+ requests:
44
+ cpu: "100m"
45
+ memory: "128Mi"
46
+ limits:
47
+ cpu: "250m"
48
+ memory: "256Mi"
49
+ ```
50
+
51
+ ### Init Containers
52
+
53
+ Init containers run before app containers start. Use them for setup tasks like database migrations, config generation, or waiting for dependencies.
54
+
55
+ ```yaml
56
+ apiVersion: v1
57
+ kind: Pod
58
+ metadata:
59
+ name: app-with-init
60
+ spec:
61
+ initContainers:
62
+ - name: wait-for-db
63
+ image: busybox:1.36
64
+ command: ["sh", "-c"]
65
+ args:
66
+ - |
67
+ until nc -z database-svc 5432; do
68
+ echo "Waiting for database..."
69
+ sleep 2
70
+ done
71
+ - name: run-migrations
72
+ image: myapp:latest
73
+ command: ["node", "migrate.js"]
74
+ envFrom:
75
+ - secretRef:
76
+ name: db-credentials
77
+ containers:
78
+ - name: app
79
+ image: myapp:latest
80
+ ports:
81
+ - containerPort: 3000
82
+ ```
83
+
84
+ ### Sidecar Containers
85
+
86
+ Sidecars augment the main container with supporting functionality.
87
+
88
+ ```yaml
89
+ apiVersion: v1
90
+ kind: Pod
91
+ metadata:
92
+ name: app-with-sidecar
93
+ spec:
94
+ containers:
95
+ - name: app
96
+ image: myapp:latest
97
+ ports:
98
+ - containerPort: 3000
99
+ volumeMounts:
100
+ - name: shared-logs
101
+ mountPath: /var/log/app
102
+
103
+ - name: log-shipper
104
+ image: fluent/fluent-bit:latest
105
+ volumeMounts:
106
+ - name: shared-logs
107
+ mountPath: /var/log/app
108
+ readOnly: true
109
+ - name: fluentbit-config
110
+ mountPath: /fluent-bit/etc/
111
+
112
+ volumes:
113
+ - name: shared-logs
114
+ emptyDir: {}
115
+ - name: fluentbit-config
116
+ configMap:
117
+ name: fluentbit-config
118
+ ```
119
+
120
+ ---
121
+
122
+ ## 3. Deployments
123
+
124
+ ### Rolling Updates
125
+
126
+ ```yaml
127
+ apiVersion: apps/v1
128
+ kind: Deployment
129
+ metadata:
130
+ name: web-app
131
+ namespace: production
132
+ spec:
133
+ replicas: 3
134
+ selector:
135
+ matchLabels:
136
+ app: web-app
137
+ strategy:
138
+ type: RollingUpdate
139
+ rollingUpdate:
140
+ maxUnavailable: 1 # At most 1 pod down during update
141
+ maxSurge: 1 # At most 1 extra pod during update
142
+ template:
143
+ metadata:
144
+ labels:
145
+ app: web-app
146
+ version: v2.1.0
147
+ spec:
148
+ containers:
149
+ - name: app
150
+ image: myapp:2.1.0
151
+ ports:
152
+ - containerPort: 3000
153
+ resources:
154
+ requests:
155
+ cpu: "200m"
156
+ memory: "256Mi"
157
+ limits:
158
+ cpu: "500m"
159
+ memory: "512Mi"
160
+ readinessProbe:
161
+ httpGet:
162
+ path: /health
163
+ port: 3000
164
+ initialDelaySeconds: 5
165
+ periodSeconds: 10
166
+ livenessProbe:
167
+ httpGet:
168
+ path: /health
169
+ port: 3000
170
+ initialDelaySeconds: 15
171
+ periodSeconds: 20
172
+ ```
173
+
174
+ ### Rollbacks
175
+
176
+ ```bash
177
+ # Check rollout history
178
+ kubectl rollout history deployment/web-app
179
+
180
+ # Undo the last deployment
181
+ kubectl rollout undo deployment/web-app
182
+
183
+ # Roll back to a specific revision
184
+ kubectl rollout undo deployment/web-app --to-revision=3
185
+
186
+ # Watch rollout progress
187
+ kubectl rollout status deployment/web-app
188
+ ```
189
+
190
+ ---
191
+
192
+ ## 4. Services
193
+
194
+ ### ClusterIP (Internal)
195
+
196
+ ```yaml
197
+ apiVersion: v1
198
+ kind: Service
199
+ metadata:
200
+ name: web-app-svc
201
+ spec:
202
+ type: ClusterIP # Default -- only reachable within the cluster
203
+ selector:
204
+ app: web-app
205
+ ports:
206
+ - port: 80
207
+ targetPort: 3000
208
+ protocol: TCP
209
+ ```
210
+
211
+ ### NodePort (Development/Testing)
212
+
213
+ ```yaml
214
+ apiVersion: v1
215
+ kind: Service
216
+ metadata:
217
+ name: web-app-nodeport
218
+ spec:
219
+ type: NodePort
220
+ selector:
221
+ app: web-app
222
+ ports:
223
+ - port: 80
224
+ targetPort: 3000
225
+ nodePort: 30080 # Accessible on every node at this port
226
+ ```
227
+
228
+ ### LoadBalancer (Cloud)
229
+
230
+ ```yaml
231
+ apiVersion: v1
232
+ kind: Service
233
+ metadata:
234
+ name: web-app-lb
235
+ annotations:
236
+ service.beta.kubernetes.io/aws-load-balancer-type: "nlb"
237
+ spec:
238
+ type: LoadBalancer
239
+ selector:
240
+ app: web-app
241
+ ports:
242
+ - port: 443
243
+ targetPort: 3000
244
+ ```
245
+
246
+ ### Headless Service (StatefulSets)
247
+
248
+ ```yaml
249
+ apiVersion: v1
250
+ kind: Service
251
+ metadata:
252
+ name: database-headless
253
+ spec:
254
+ clusterIP: None # No load balancing -- DNS returns all pod IPs
255
+ selector:
256
+ app: database
257
+ ports:
258
+ - port: 5432
259
+ ```
260
+
261
+ ---
262
+
263
+ ## 5. Ingress
264
+
265
+ ```yaml
266
+ apiVersion: networking.k8s.io/v1
267
+ kind: Ingress
268
+ metadata:
269
+ name: web-ingress
270
+ annotations:
271
+ nginx.ingress.kubernetes.io/ssl-redirect: "true"
272
+ nginx.ingress.kubernetes.io/rate-limit-rps: "10"
273
+ cert-manager.io/cluster-issuer: "letsencrypt-prod"
274
+ spec:
275
+ ingressClassName: nginx
276
+ tls:
277
+ - hosts:
278
+ - app.example.com
279
+ - api.example.com
280
+ secretName: app-tls-cert
281
+ rules:
282
+ - host: app.example.com
283
+ http:
284
+ paths:
285
+ - path: /
286
+ pathType: Prefix
287
+ backend:
288
+ service:
289
+ name: frontend-svc
290
+ port:
291
+ number: 80
292
+ - host: api.example.com
293
+ http:
294
+ paths:
295
+ - path: /v1
296
+ pathType: Prefix
297
+ backend:
298
+ service:
299
+ name: api-svc
300
+ port:
301
+ number: 80
302
+ ```
303
+
304
+ ---
305
+
306
+ ## 6. ConfigMaps and Secrets
307
+
308
+ ### ConfigMap
309
+
310
+ ```yaml
311
+ apiVersion: v1
312
+ kind: ConfigMap
313
+ metadata:
314
+ name: app-config
315
+ data:
316
+ APP_ENV: "production"
317
+ LOG_LEVEL: "info"
318
+ MAX_CONNECTIONS: "100"
319
+
320
+ # Multi-line config file
321
+ nginx.conf: |
322
+ server {
323
+ listen 80;
324
+ location / {
325
+ proxy_pass http://localhost:3000;
326
+ }
327
+ }
328
+ ```
329
+
330
+ ### Secrets
331
+
332
+ ```yaml
333
+ apiVersion: v1
334
+ kind: Secret
335
+ metadata:
336
+ name: db-credentials
337
+ type: Opaque
338
+ # Values must be base64 encoded
339
+ data:
340
+ username: cG9zdGdyZXM= # echo -n "postgres" | base64
341
+ password: c3VwZXJzZWNyZXQ= # echo -n "supersecret" | base64
342
+ ```
343
+
344
+ ### Using in Pods
345
+
346
+ ```yaml
347
+ spec:
348
+ containers:
349
+ - name: app
350
+ image: myapp:latest
351
+ # Individual environment variables
352
+ env:
353
+ - name: DB_HOST
354
+ valueFrom:
355
+ configMapKeyRef:
356
+ name: app-config
357
+ key: APP_ENV
358
+ - name: DB_PASSWORD
359
+ valueFrom:
360
+ secretKeyRef:
361
+ name: db-credentials
362
+ key: password
363
+ # All keys as environment variables
364
+ envFrom:
365
+ - configMapRef:
366
+ name: app-config
367
+ - secretRef:
368
+ name: db-credentials
369
+ # Mount as files
370
+ volumeMounts:
371
+ - name: config-volume
372
+ mountPath: /etc/nginx/conf.d
373
+ volumes:
374
+ - name: config-volume
375
+ configMap:
376
+ name: app-config
377
+ items:
378
+ - key: nginx.conf
379
+ path: default.conf
380
+ ```
381
+
382
+ ---
383
+
384
+ ## 7. Persistent Volumes
385
+
386
+ ```yaml
387
+ # PersistentVolumeClaim
388
+ apiVersion: v1
389
+ kind: PersistentVolumeClaim
390
+ metadata:
391
+ name: postgres-data
392
+ spec:
393
+ accessModes:
394
+ - ReadWriteOnce
395
+ storageClassName: gp3
396
+ resources:
397
+ requests:
398
+ storage: 50Gi
399
+
400
+ ---
401
+ # StatefulSet with persistent storage
402
+ apiVersion: apps/v1
403
+ kind: StatefulSet
404
+ metadata:
405
+ name: postgres
406
+ spec:
407
+ serviceName: postgres-headless
408
+ replicas: 1
409
+ selector:
410
+ matchLabels:
411
+ app: postgres
412
+ template:
413
+ metadata:
414
+ labels:
415
+ app: postgres
416
+ spec:
417
+ containers:
418
+ - name: postgres
419
+ image: postgres:16-alpine
420
+ ports:
421
+ - containerPort: 5432
422
+ envFrom:
423
+ - secretRef:
424
+ name: postgres-credentials
425
+ volumeMounts:
426
+ - name: data
427
+ mountPath: /var/lib/postgresql/data
428
+ volumeClaimTemplates:
429
+ - metadata:
430
+ name: data
431
+ spec:
432
+ accessModes: ["ReadWriteOnce"]
433
+ storageClassName: gp3
434
+ resources:
435
+ requests:
436
+ storage: 50Gi
437
+ ```
438
+
439
+ ---
440
+
441
+ ## 8. Helm Charts
442
+
443
+ ### Chart Structure
444
+
445
+ ```
446
+ mychart/
447
+ Chart.yaml # Chart metadata
448
+ values.yaml # Default configuration
449
+ templates/
450
+ deployment.yaml # Deployment template
451
+ service.yaml # Service template
452
+ ingress.yaml # Ingress template
453
+ _helpers.tpl # Template helpers
454
+ NOTES.txt # Post-install notes
455
+ ```
456
+
457
+ ### Chart.yaml
458
+
459
+ ```yaml
460
+ apiVersion: v2
461
+ name: myapp
462
+ description: My application Helm chart
463
+ version: 1.0.0
464
+ appVersion: "2.1.0"
465
+ dependencies:
466
+ - name: postgresql
467
+ version: "~13.0"
468
+ repository: "https://charts.bitnami.com/bitnami"
469
+ condition: postgresql.enabled
470
+ ```
471
+
472
+ ### Templating
473
+
474
+ ```yaml
475
+ # templates/deployment.yaml
476
+ apiVersion: apps/v1
477
+ kind: Deployment
478
+ metadata:
479
+ name: {{ include "myapp.fullname" . }}
480
+ labels:
481
+ {{- include "myapp.labels" . | nindent 4 }}
482
+ spec:
483
+ replicas: {{ .Values.replicaCount }}
484
+ selector:
485
+ matchLabels:
486
+ {{- include "myapp.selectorLabels" . | nindent 6 }}
487
+ template:
488
+ metadata:
489
+ labels:
490
+ {{- include "myapp.selectorLabels" . | nindent 8 }}
491
+ spec:
492
+ containers:
493
+ - name: {{ .Chart.Name }}
494
+ image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
495
+ ports:
496
+ - containerPort: {{ .Values.service.targetPort }}
497
+ resources:
498
+ {{- toYaml .Values.resources | nindent 12 }}
499
+ {{- if .Values.livenessProbe.enabled }}
500
+ livenessProbe:
501
+ httpGet:
502
+ path: {{ .Values.livenessProbe.path }}
503
+ port: {{ .Values.service.targetPort }}
504
+ {{- end }}
505
+ ```
506
+
507
+ ### Helm Commands
508
+
509
+ ```bash
510
+ # Install a chart
511
+ helm install myapp ./mychart -f values-prod.yaml -n production
512
+
513
+ # Upgrade a release
514
+ helm upgrade myapp ./mychart -f values-prod.yaml -n production
515
+
516
+ # Rollback
517
+ helm rollback myapp 2 -n production
518
+
519
+ # Uninstall
520
+ helm uninstall myapp -n production
521
+
522
+ # Template rendering (dry-run)
523
+ helm template myapp ./mychart -f values-prod.yaml
524
+
525
+ # Show computed values
526
+ helm get values myapp -n production
527
+ ```
528
+
529
+ ---
530
+
531
+ ## 9. Resource Limits and Requests
532
+
533
+ ```yaml
534
+ resources:
535
+ # Requests: guaranteed minimum resources for scheduling
536
+ requests:
537
+ cpu: "200m" # 200 millicores = 0.2 CPU cores
538
+ memory: "256Mi" # 256 MiB
539
+ # Limits: maximum resources the container can use
540
+ limits:
541
+ cpu: "500m" # Throttled beyond this
542
+ memory: "512Mi" # OOMKilled beyond this
543
+ ```
544
+
545
+ **Guidelines**:
546
+
547
+ | Resource | Request | Limit | Reasoning |
548
+ |----------|---------|-------|-----------|
549
+ | CPU | Set based on average usage | 2-3x request or omit | CPU is compressible -- throttling is better than eviction |
550
+ | Memory | Set based on baseline usage | 1.5-2x request | Memory is not compressible -- exceeding limit causes OOMKill |
551
+
552
+ ---
553
+
554
+ ## 10. Health Probes
555
+
556
+ ### Liveness Probe
557
+
558
+ Determines if the container is running. Failure causes a restart.
559
+
560
+ ```yaml
561
+ livenessProbe:
562
+ httpGet:
563
+ path: /healthz
564
+ port: 3000
565
+ initialDelaySeconds: 15
566
+ periodSeconds: 20
567
+ failureThreshold: 3
568
+ timeoutSeconds: 5
569
+ ```
570
+
571
+ ### Readiness Probe
572
+
573
+ Determines if the container can receive traffic. Failure removes it from the Service.
574
+
575
+ ```yaml
576
+ readinessProbe:
577
+ httpGet:
578
+ path: /ready
579
+ port: 3000
580
+ initialDelaySeconds: 5
581
+ periodSeconds: 10
582
+ failureThreshold: 3
583
+ ```
584
+
585
+ ### Startup Probe
586
+
587
+ For slow-starting containers. Disables liveness/readiness checks until it succeeds.
588
+
589
+ ```yaml
590
+ startupProbe:
591
+ httpGet:
592
+ path: /healthz
593
+ port: 3000
594
+ failureThreshold: 30 # 30 * 10s = 5 minutes to start
595
+ periodSeconds: 10
596
+ ```
597
+
598
+ ---
599
+
600
+ ## 11. Horizontal Pod Autoscaler (HPA)
601
+
602
+ ```yaml
603
+ apiVersion: autoscaling/v2
604
+ kind: HorizontalPodAutoscaler
605
+ metadata:
606
+ name: web-app-hpa
607
+ spec:
608
+ scaleTargetRef:
609
+ apiVersion: apps/v1
610
+ kind: Deployment
611
+ name: web-app
612
+ minReplicas: 2
613
+ maxReplicas: 10
614
+ metrics:
615
+ - type: Resource
616
+ resource:
617
+ name: cpu
618
+ target:
619
+ type: Utilization
620
+ averageUtilization: 70
621
+ - type: Resource
622
+ resource:
623
+ name: memory
624
+ target:
625
+ type: Utilization
626
+ averageUtilization: 80
627
+ behavior:
628
+ scaleUp:
629
+ stabilizationWindowSeconds: 60
630
+ policies:
631
+ - type: Pods
632
+ value: 2
633
+ periodSeconds: 60
634
+ scaleDown:
635
+ stabilizationWindowSeconds: 300
636
+ policies:
637
+ - type: Percent
638
+ value: 10
639
+ periodSeconds: 60
640
+ ```
641
+
642
+ ---
643
+
644
+ ## 12. RBAC
645
+
646
+ ```yaml
647
+ # Role -- namespace-scoped permissions
648
+ apiVersion: rbac.authorization.k8s.io/v1
649
+ kind: Role
650
+ metadata:
651
+ name: pod-reader
652
+ namespace: production
653
+ rules:
654
+ - apiGroups: [""]
655
+ resources: ["pods", "pods/log"]
656
+ verbs: ["get", "list", "watch"]
657
+ - apiGroups: ["apps"]
658
+ resources: ["deployments"]
659
+ verbs: ["get", "list"]
660
+
661
+ ---
662
+ # RoleBinding -- assigns role to a user or service account
663
+ apiVersion: rbac.authorization.k8s.io/v1
664
+ kind: RoleBinding
665
+ metadata:
666
+ name: read-pods
667
+ namespace: production
668
+ subjects:
669
+ - kind: ServiceAccount
670
+ name: monitoring-sa
671
+ namespace: production
672
+ - kind: User
673
+ name: developer@example.com
674
+ roleRef:
675
+ kind: Role
676
+ name: pod-reader
677
+ apiGroup: rbac.authorization.k8s.io
678
+
679
+ ---
680
+ # ClusterRole -- cluster-wide permissions
681
+ apiVersion: rbac.authorization.k8s.io/v1
682
+ kind: ClusterRole
683
+ metadata:
684
+ name: node-reader
685
+ rules:
686
+ - apiGroups: [""]
687
+ resources: ["nodes"]
688
+ verbs: ["get", "list", "watch"]
689
+ ```
690
+
691
+ ---
692
+
693
+ ## 13. Network Policies
694
+
695
+ ```yaml
696
+ apiVersion: networking.k8s.io/v1
697
+ kind: NetworkPolicy
698
+ metadata:
699
+ name: api-network-policy
700
+ namespace: production
701
+ spec:
702
+ podSelector:
703
+ matchLabels:
704
+ app: api
705
+ policyTypes:
706
+ - Ingress
707
+ - Egress
708
+ ingress:
709
+ # Allow traffic from frontend pods only
710
+ - from:
711
+ - podSelector:
712
+ matchLabels:
713
+ app: frontend
714
+ ports:
715
+ - protocol: TCP
716
+ port: 3000
717
+ egress:
718
+ # Allow DNS
719
+ - to:
720
+ - namespaceSelector: {}
721
+ ports:
722
+ - protocol: UDP
723
+ port: 53
724
+ # Allow database access
725
+ - to:
726
+ - podSelector:
727
+ matchLabels:
728
+ app: database
729
+ ports:
730
+ - protocol: TCP
731
+ port: 5432
732
+ ```
733
+
734
+ ---
735
+
736
+ ## 14. Kustomize
737
+
738
+ ```
739
+ base/
740
+ kustomization.yaml
741
+ deployment.yaml
742
+ service.yaml
743
+ overlays/
744
+ dev/
745
+ kustomization.yaml
746
+ replica-count.yaml
747
+ prod/
748
+ kustomization.yaml
749
+ replica-count.yaml
750
+ hpa.yaml
751
+ ```
752
+
753
+ ```yaml
754
+ # base/kustomization.yaml
755
+ apiVersion: kustomize.config.k8s.io/v1beta1
756
+ kind: Kustomization
757
+ resources:
758
+ - deployment.yaml
759
+ - service.yaml
760
+
761
+ # overlays/prod/kustomization.yaml
762
+ apiVersion: kustomize.config.k8s.io/v1beta1
763
+ kind: Kustomization
764
+ resources:
765
+ - ../../base
766
+ - hpa.yaml
767
+ patches:
768
+ - path: replica-count.yaml
769
+ namespace: production
770
+ commonLabels:
771
+ environment: production
772
+ images:
773
+ - name: myapp
774
+ newTag: "2.1.0"
775
+ ```
776
+
777
+ ```bash
778
+ # Preview the output
779
+ kubectl kustomize overlays/prod
780
+
781
+ # Apply directly
782
+ kubectl apply -k overlays/prod
783
+ ```
784
+
785
+ ---
786
+
787
+ ## 15. GitOps with ArgoCD
788
+
789
+ ```yaml
790
+ # ArgoCD Application
791
+ apiVersion: argoproj.io/v1alpha1
792
+ kind: Application
793
+ metadata:
794
+ name: web-app
795
+ namespace: argocd
796
+ spec:
797
+ project: default
798
+ source:
799
+ repoURL: https://github.com/myorg/k8s-manifests.git
800
+ targetRevision: main
801
+ path: overlays/prod
802
+ destination:
803
+ server: https://kubernetes.default.svc
804
+ namespace: production
805
+ syncPolicy:
806
+ automated:
807
+ prune: true # Delete resources removed from git
808
+ selfHeal: true # Revert manual changes
809
+ syncOptions:
810
+ - CreateNamespace=true
811
+ retry:
812
+ limit: 5
813
+ backoff:
814
+ duration: 5s
815
+ maxDuration: 3m0s
816
+ factor: 2
817
+ ```
818
+
819
+ ---
820
+
821
+ ## 16. Debugging
822
+
823
+ ```bash
824
+ # Check pod status and events
825
+ kubectl describe pod <pod-name>
826
+
827
+ # View logs
828
+ kubectl logs <pod-name> -c <container-name>
829
+ kubectl logs <pod-name> --previous # Logs from crashed container
830
+ kubectl logs -f <pod-name> # Stream logs
831
+ kubectl logs -l app=web-app --all-containers # All pods with label
832
+
833
+ # Execute into a running container
834
+ kubectl exec -it <pod-name> -- /bin/sh
835
+
836
+ # Port forward for local debugging
837
+ kubectl port-forward svc/web-app-svc 8080:80
838
+
839
+ # Check resource usage
840
+ kubectl top pods -n production
841
+ kubectl top nodes
842
+
843
+ # Get events sorted by time
844
+ kubectl get events --sort-by='.lastTimestamp' -n production
845
+
846
+ # Debug with an ephemeral container (K8s 1.25+)
847
+ kubectl debug <pod-name> -it --image=busybox:1.36 --target=app
848
+ ```
849
+
850
+ ---
851
+
852
+ ## 17. Monitoring
853
+
854
+ ### Prometheus ServiceMonitor
855
+
856
+ ```yaml
857
+ apiVersion: monitoring.coreos.com/v1
858
+ kind: ServiceMonitor
859
+ metadata:
860
+ name: web-app-monitor
861
+ labels:
862
+ release: prometheus
863
+ spec:
864
+ selector:
865
+ matchLabels:
866
+ app: web-app
867
+ endpoints:
868
+ - port: http
869
+ path: /metrics
870
+ interval: 15s
871
+ ```
872
+
873
+ ### Grafana Dashboard (JSON Model Snippet)
874
+
875
+ ```json
876
+ {
877
+ "title": "Web App Dashboard",
878
+ "panels": [
879
+ {
880
+ "title": "Request Rate",
881
+ "targets": [
882
+ {
883
+ "expr": "rate(http_requests_total{app=\"web-app\"}[5m])",
884
+ "legendFormat": "{{method}} {{status}}"
885
+ }
886
+ ]
887
+ },
888
+ {
889
+ "title": "P99 Latency",
890
+ "targets": [
891
+ {
892
+ "expr": "histogram_quantile(0.99, rate(http_request_duration_seconds_bucket{app=\"web-app\"}[5m]))",
893
+ "legendFormat": "p99"
894
+ }
895
+ ]
896
+ }
897
+ ]
898
+ }
899
+ ```
900
+
901
+ ### Common PromQL Queries
902
+
903
+ ```promql
904
+ # Request rate per second
905
+ rate(http_requests_total{namespace="production"}[5m])
906
+
907
+ # Error rate percentage
908
+ sum(rate(http_requests_total{status=~"5.."}[5m]))
909
+ / sum(rate(http_requests_total[5m])) * 100
910
+
911
+ # Memory usage percentage
912
+ container_memory_working_set_bytes{namespace="production"}
913
+ / container_spec_memory_limit_bytes{namespace="production"} * 100
914
+
915
+ # Pod restart count
916
+ increase(kube_pod_container_status_restarts_total{namespace="production"}[1h])
917
+
918
+ # CPU throttling
919
+ rate(container_cpu_cfs_throttled_seconds_total[5m])
920
+ ```
921
+
922
+ ---
923
+
924
+ ## 18. Anti-Patterns
925
+
926
+ ### NEVER
927
+
928
+ - Run containers as root -- use `securityContext.runAsNonRoot: true`
929
+ - Deploy without resource requests and limits
930
+ - Use `latest` tag for container images -- always pin versions
931
+ - Store secrets in ConfigMaps -- use Secrets (or external secret managers)
932
+ - Skip health probes -- Kubernetes cannot manage unhealthy pods without them
933
+ - Use `kubectl apply` directly in production -- use GitOps (ArgoCD, Flux)
934
+ - Create privileged containers unless absolutely necessary
935
+ - Ignore Pod Disruption Budgets for critical services
936
+ - Deploy single-replica stateful services without backup strategies
937
+ - Hardcode namespace names in manifests -- use Kustomize overlays
938
+
939
+ ### ALWAYS
940
+
941
+ - Set resource requests and limits on every container
942
+ - Use namespaces to isolate environments and teams
943
+ - Define NetworkPolicies to restrict pod-to-pod communication
944
+ - Use RBAC with least-privilege service accounts
945
+ - Pin image versions with SHA digests for production
946
+ - Configure PodDisruptionBudgets for high-availability services
947
+ - Use liveness, readiness, and startup probes
948
+ - Label resources consistently (`app`, `version`, `environment`, `team`)
949
+ - Store manifests in version control
950
+ - Monitor cluster health with Prometheus and alerting