dojo.md 0.1.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (459) hide show
  1. package/courses/GENERATION_LOG.md +72 -0
  2. package/courses/api-error-handling/course.yaml +16 -0
  3. package/courses/api-error-handling/scenarios/level-1/error-response-format.yaml +131 -0
  4. package/courses/api-error-handling/scenarios/level-1/http-status-codes-basics.yaml +90 -0
  5. package/courses/api-error-handling/scenarios/level-1/rate-limiting-basics.yaml +135 -0
  6. package/courses/api-error-handling/scenarios/level-1/request-validation-errors.yaml +208 -0
  7. package/courses/api-error-handling/scenarios/level-2/circuit-breaker-pattern.yaml +189 -0
  8. package/courses/api-error-handling/scenarios/level-2/idempotency-retry-logic.yaml +159 -0
  9. package/courses/api-error-handling/scenarios/level-2/rfc-7807-problem-details.yaml +178 -0
  10. package/courses/api-error-handling/scenarios/level-2/webhook-error-handling.yaml +211 -0
  11. package/courses/api-error-handling/scenarios/level-3/distributed-tracing-errors.yaml +275 -0
  12. package/courses/aws-lambda-debugging/course.yaml +11 -0
  13. package/courses/aws-lambda-debugging/scenarios/level-1/api-gateway-integration.yaml +71 -0
  14. package/courses/aws-lambda-debugging/scenarios/level-1/cloudwatch-logs-basics.yaml +64 -0
  15. package/courses/aws-lambda-debugging/scenarios/level-1/cold-start-basics.yaml +70 -0
  16. package/courses/aws-lambda-debugging/scenarios/level-1/environment-variable-issues.yaml +72 -0
  17. package/courses/aws-lambda-debugging/scenarios/level-1/first-debugging-shift.yaml +73 -0
  18. package/courses/aws-lambda-debugging/scenarios/level-1/handler-import-errors.yaml +71 -0
  19. package/courses/aws-lambda-debugging/scenarios/level-1/iam-permission-errors.yaml +68 -0
  20. package/courses/aws-lambda-debugging/scenarios/level-1/invocation-errors.yaml +72 -0
  21. package/courses/aws-lambda-debugging/scenarios/level-1/lambda-timeout-errors.yaml +65 -0
  22. package/courses/aws-lambda-debugging/scenarios/level-1/memory-and-oom.yaml +70 -0
  23. package/courses/aws-lambda-debugging/scenarios/level-2/async-invocation-failures.yaml +72 -0
  24. package/courses/aws-lambda-debugging/scenarios/level-2/cold-start-optimization.yaml +76 -0
  25. package/courses/aws-lambda-debugging/scenarios/level-2/dynamodb-streams-debugging.yaml +70 -0
  26. package/courses/aws-lambda-debugging/scenarios/level-2/intermediate-debugging-shift.yaml +71 -0
  27. package/courses/aws-lambda-debugging/scenarios/level-2/lambda-concurrency-management.yaml +70 -0
  28. package/courses/aws-lambda-debugging/scenarios/level-2/lambda-layers-debugging.yaml +76 -0
  29. package/courses/aws-lambda-debugging/scenarios/level-2/sam-local-debugging.yaml +74 -0
  30. package/courses/aws-lambda-debugging/scenarios/level-2/sqs-event-source.yaml +72 -0
  31. package/courses/aws-lambda-debugging/scenarios/level-2/vpc-networking-issues.yaml +71 -0
  32. package/courses/aws-lambda-debugging/scenarios/level-2/xray-tracing.yaml +62 -0
  33. package/courses/aws-lambda-debugging/scenarios/level-3/advanced-debugging-shift.yaml +72 -0
  34. package/courses/aws-lambda-debugging/scenarios/level-3/container-image-lambda.yaml +79 -0
  35. package/courses/aws-lambda-debugging/scenarios/level-3/cross-account-invocation.yaml +72 -0
  36. package/courses/aws-lambda-debugging/scenarios/level-3/eventbridge-patterns.yaml +79 -0
  37. package/courses/aws-lambda-debugging/scenarios/level-3/iac-deployment-debugging.yaml +68 -0
  38. package/courses/aws-lambda-debugging/scenarios/level-3/kinesis-stream-processing.yaml +64 -0
  39. package/courses/aws-lambda-debugging/scenarios/level-3/lambda-at-edge.yaml +64 -0
  40. package/courses/aws-lambda-debugging/scenarios/level-3/lambda-extensions-debugging.yaml +67 -0
  41. package/courses/aws-lambda-debugging/scenarios/level-3/powertools-observability.yaml +79 -0
  42. package/courses/aws-lambda-debugging/scenarios/level-3/step-functions-debugging.yaml +80 -0
  43. package/courses/aws-lambda-debugging/scenarios/level-4/cost-optimization-strategy.yaml +67 -0
  44. package/courses/aws-lambda-debugging/scenarios/level-4/expert-debugging-shift.yaml +62 -0
  45. package/courses/aws-lambda-debugging/scenarios/level-4/incident-management-serverless.yaml +61 -0
  46. package/courses/aws-lambda-debugging/scenarios/level-4/multi-region-serverless.yaml +67 -0
  47. package/courses/aws-lambda-debugging/scenarios/level-4/observability-platform-design.yaml +71 -0
  48. package/courses/aws-lambda-debugging/scenarios/level-4/serverless-architecture-design.yaml +64 -0
  49. package/courses/aws-lambda-debugging/scenarios/level-4/serverless-data-architecture.yaml +66 -0
  50. package/courses/aws-lambda-debugging/scenarios/level-4/serverless-migration-strategy.yaml +65 -0
  51. package/courses/aws-lambda-debugging/scenarios/level-4/serverless-security-design.yaml +60 -0
  52. package/courses/aws-lambda-debugging/scenarios/level-4/serverless-testing-strategy.yaml +62 -0
  53. package/courses/aws-lambda-debugging/scenarios/level-5/board-serverless-strategy.yaml +63 -0
  54. package/courses/aws-lambda-debugging/scenarios/level-5/consulting-serverless-adoption.yaml +57 -0
  55. package/courses/aws-lambda-debugging/scenarios/level-5/industry-serverless-patterns.yaml +62 -0
  56. package/courses/aws-lambda-debugging/scenarios/level-5/ma-serverless-integration.yaml +75 -0
  57. package/courses/aws-lambda-debugging/scenarios/level-5/master-debugging-shift.yaml +61 -0
  58. package/courses/aws-lambda-debugging/scenarios/level-5/organizational-serverless-transformation.yaml +65 -0
  59. package/courses/aws-lambda-debugging/scenarios/level-5/regulatory-serverless.yaml +61 -0
  60. package/courses/aws-lambda-debugging/scenarios/level-5/serverless-economics.yaml +65 -0
  61. package/courses/aws-lambda-debugging/scenarios/level-5/serverless-future-technology.yaml +66 -0
  62. package/courses/aws-lambda-debugging/scenarios/level-5/serverless-platform-design.yaml +71 -0
  63. package/courses/docker-container-debugging/course.yaml +11 -0
  64. package/courses/docker-container-debugging/scenarios/level-1/container-exit-codes.yaml +59 -0
  65. package/courses/docker-container-debugging/scenarios/level-1/container-networking-basics.yaml +69 -0
  66. package/courses/docker-container-debugging/scenarios/level-1/docker-logs-debugging.yaml +67 -0
  67. package/courses/docker-container-debugging/scenarios/level-1/dockerfile-build-failures.yaml +71 -0
  68. package/courses/docker-container-debugging/scenarios/level-1/environment-variable-issues.yaml +74 -0
  69. package/courses/docker-container-debugging/scenarios/level-1/first-debugging-shift.yaml +70 -0
  70. package/courses/docker-container-debugging/scenarios/level-1/image-pull-failures.yaml +68 -0
  71. package/courses/docker-container-debugging/scenarios/level-1/port-mapping-issues.yaml +67 -0
  72. package/courses/docker-container-debugging/scenarios/level-1/resource-limits-oom.yaml +70 -0
  73. package/courses/docker-container-debugging/scenarios/level-1/volume-mount-problems.yaml +66 -0
  74. package/courses/docker-container-debugging/scenarios/level-2/container-health-checks.yaml +73 -0
  75. package/courses/docker-container-debugging/scenarios/level-2/docker-compose-debugging.yaml +66 -0
  76. package/courses/docker-container-debugging/scenarios/level-2/docker-exec-debugging.yaml +71 -0
  77. package/courses/docker-container-debugging/scenarios/level-2/image-layer-optimization.yaml +81 -0
  78. package/courses/docker-container-debugging/scenarios/level-2/intermediate-debugging-shift.yaml +73 -0
  79. package/courses/docker-container-debugging/scenarios/level-2/logging-and-log-rotation.yaml +76 -0
  80. package/courses/docker-container-debugging/scenarios/level-2/multi-stage-build-debugging.yaml +76 -0
  81. package/courses/docker-container-debugging/scenarios/level-2/network-debugging-tools.yaml +67 -0
  82. package/courses/docker-container-debugging/scenarios/level-2/pid1-signal-handling.yaml +71 -0
  83. package/courses/docker-container-debugging/scenarios/level-2/security-scanning-basics.yaml +67 -0
  84. package/courses/docker-container-debugging/scenarios/level-3/advanced-debugging-shift.yaml +77 -0
  85. package/courses/docker-container-debugging/scenarios/level-3/buildkit-optimization.yaml +67 -0
  86. package/courses/docker-container-debugging/scenarios/level-3/container-filesystem-debugging.yaml +70 -0
  87. package/courses/docker-container-debugging/scenarios/level-3/container-security-hardening.yaml +74 -0
  88. package/courses/docker-container-debugging/scenarios/level-3/disk-space-management.yaml +74 -0
  89. package/courses/docker-container-debugging/scenarios/level-3/docker-api-automation.yaml +72 -0
  90. package/courses/docker-container-debugging/scenarios/level-3/docker-daemon-issues.yaml +73 -0
  91. package/courses/docker-container-debugging/scenarios/level-3/docker-in-docker-ci.yaml +69 -0
  92. package/courses/docker-container-debugging/scenarios/level-3/overlay-network-debugging.yaml +70 -0
  93. package/courses/docker-container-debugging/scenarios/level-3/production-container-ops.yaml +71 -0
  94. package/courses/docker-container-debugging/scenarios/level-4/cicd-pipeline-design.yaml +66 -0
  95. package/courses/docker-container-debugging/scenarios/level-4/container-monitoring-observability.yaml +63 -0
  96. package/courses/docker-container-debugging/scenarios/level-4/container-orchestration-strategy.yaml +62 -0
  97. package/courses/docker-container-debugging/scenarios/level-4/container-performance-engineering.yaml +64 -0
  98. package/courses/docker-container-debugging/scenarios/level-4/container-security-architecture.yaml +66 -0
  99. package/courses/docker-container-debugging/scenarios/level-4/enterprise-image-management.yaml +58 -0
  100. package/courses/docker-container-debugging/scenarios/level-4/expert-debugging-shift.yaml +63 -0
  101. package/courses/docker-container-debugging/scenarios/level-4/incident-response-containers.yaml +70 -0
  102. package/courses/docker-container-debugging/scenarios/level-4/multi-environment-management.yaml +65 -0
  103. package/courses/docker-container-debugging/scenarios/level-4/stateful-service-containers.yaml +65 -0
  104. package/courses/docker-container-debugging/scenarios/level-5/board-infrastructure-strategy.yaml +58 -0
  105. package/courses/docker-container-debugging/scenarios/level-5/consulting-container-strategy.yaml +61 -0
  106. package/courses/docker-container-debugging/scenarios/level-5/container-platform-architecture.yaml +67 -0
  107. package/courses/docker-container-debugging/scenarios/level-5/container-platform-economics.yaml +67 -0
  108. package/courses/docker-container-debugging/scenarios/level-5/container-technology-evolution.yaml +67 -0
  109. package/courses/docker-container-debugging/scenarios/level-5/disaster-recovery-containers.yaml +66 -0
  110. package/courses/docker-container-debugging/scenarios/level-5/industry-container-patterns.yaml +71 -0
  111. package/courses/docker-container-debugging/scenarios/level-5/master-debugging-shift.yaml +62 -0
  112. package/courses/docker-container-debugging/scenarios/level-5/organizational-transformation.yaml +67 -0
  113. package/courses/docker-container-debugging/scenarios/level-5/regulatory-compliance-containers.yaml +61 -0
  114. package/courses/github-actions-cicd/course.yaml +10 -0
  115. package/courses/github-actions-cicd/scenarios/level-1/actions-and-runners.yaml +58 -0
  116. package/courses/github-actions-cicd/scenarios/level-1/basic-workflow-syntax.yaml +52 -0
  117. package/courses/github-actions-cicd/scenarios/level-1/branch-protection-checks.yaml +63 -0
  118. package/courses/github-actions-cicd/scenarios/level-1/environment-variables-secrets.yaml +65 -0
  119. package/courses/github-actions-cicd/scenarios/level-1/first-cicd-shift.yaml +62 -0
  120. package/courses/github-actions-cicd/scenarios/level-1/job-dependencies-outputs.yaml +62 -0
  121. package/courses/github-actions-cicd/scenarios/level-1/simple-ci-pipeline.yaml +57 -0
  122. package/courses/github-actions-cicd/scenarios/level-1/workflow-debugging.yaml +90 -0
  123. package/courses/github-actions-cicd/scenarios/level-1/workflow-status-notifications.yaml +59 -0
  124. package/courses/github-actions-cicd/scenarios/level-1/workflow-triggers.yaml +56 -0
  125. package/courses/github-actions-cicd/scenarios/level-2/concurrency-control.yaml +58 -0
  126. package/courses/github-actions-cicd/scenarios/level-2/conditional-execution.yaml +60 -0
  127. package/courses/github-actions-cicd/scenarios/level-2/custom-actions-development.yaml +55 -0
  128. package/courses/github-actions-cicd/scenarios/level-2/dependency-caching.yaml +58 -0
  129. package/courses/github-actions-cicd/scenarios/level-2/deployment-workflows.yaml +61 -0
  130. package/courses/github-actions-cicd/scenarios/level-2/github-packages-publishing.yaml +59 -0
  131. package/courses/github-actions-cicd/scenarios/level-2/intermediate-cicd-shift.yaml +68 -0
  132. package/courses/github-actions-cicd/scenarios/level-2/matrix-builds.yaml +59 -0
  133. package/courses/github-actions-cicd/scenarios/level-2/reusable-workflows.yaml +61 -0
  134. package/courses/github-actions-cicd/scenarios/level-2/workflow-cost-optimization.yaml +61 -0
  135. package/courses/github-actions-cicd/scenarios/level-3/advanced-cicd-shift.yaml +64 -0
  136. package/courses/github-actions-cicd/scenarios/level-3/compliance-automation.yaml +68 -0
  137. package/courses/github-actions-cicd/scenarios/level-3/docker-action-development.yaml +65 -0
  138. package/courses/github-actions-cicd/scenarios/level-3/github-environments.yaml +65 -0
  139. package/courses/github-actions-cicd/scenarios/level-3/monorepo-ci.yaml +68 -0
  140. package/courses/github-actions-cicd/scenarios/level-3/oidc-cloud-deployments.yaml +55 -0
  141. package/courses/github-actions-cicd/scenarios/level-3/release-automation.yaml +61 -0
  142. package/courses/github-actions-cicd/scenarios/level-3/security-hardening.yaml +63 -0
  143. package/courses/github-actions-cicd/scenarios/level-3/self-hosted-runners.yaml +60 -0
  144. package/courses/github-actions-cicd/scenarios/level-3/workflow-optimization.yaml +59 -0
  145. package/courses/github-actions-cicd/scenarios/level-4/cicd-data-architecture.yaml +63 -0
  146. package/courses/github-actions-cicd/scenarios/level-4/cicd-economics-roi.yaml +63 -0
  147. package/courses/github-actions-cicd/scenarios/level-4/cicd-executive-communication.yaml +58 -0
  148. package/courses/github-actions-cicd/scenarios/level-4/cicd-incident-response.yaml +60 -0
  149. package/courses/github-actions-cicd/scenarios/level-4/cicd-org-design.yaml +59 -0
  150. package/courses/github-actions-cicd/scenarios/level-4/cicd-platform-architecture.yaml +63 -0
  151. package/courses/github-actions-cicd/scenarios/level-4/cicd-training-program.yaml +65 -0
  152. package/courses/github-actions-cicd/scenarios/level-4/cicd-vendor-evaluation.yaml +59 -0
  153. package/courses/github-actions-cicd/scenarios/level-4/enterprise-cicd-governance.yaml +55 -0
  154. package/courses/github-actions-cicd/scenarios/level-4/expert-cicd-shift.yaml +60 -0
  155. package/courses/github-actions-cicd/scenarios/level-5/cicd-ai-future.yaml +63 -0
  156. package/courses/github-actions-cicd/scenarios/level-5/cicd-behavioral-science.yaml +70 -0
  157. package/courses/github-actions-cicd/scenarios/level-5/cicd-board-strategy.yaml +56 -0
  158. package/courses/github-actions-cicd/scenarios/level-5/cicd-consulting-engagement.yaml +61 -0
  159. package/courses/github-actions-cicd/scenarios/level-5/cicd-industry-benchmarks.yaml +63 -0
  160. package/courses/github-actions-cicd/scenarios/level-5/cicd-ma-integration.yaml +73 -0
  161. package/courses/github-actions-cicd/scenarios/level-5/cicd-product-development.yaml +68 -0
  162. package/courses/github-actions-cicd/scenarios/level-5/cicd-regulatory-landscape.yaml +72 -0
  163. package/courses/github-actions-cicd/scenarios/level-5/comprehensive-cicd-system.yaml +66 -0
  164. package/courses/github-actions-cicd/scenarios/level-5/master-cicd-shift.yaml +76 -0
  165. package/courses/github-pr-review/scenarios/level-2/api-change-review.yaml +82 -0
  166. package/courses/github-pr-review/scenarios/level-2/automated-review-tooling.yaml +53 -0
  167. package/courses/github-pr-review/scenarios/level-2/cross-team-review.yaml +61 -0
  168. package/courses/github-pr-review/scenarios/level-2/intermediate-review-shift.yaml +66 -0
  169. package/courses/github-pr-review/scenarios/level-2/performance-review-patterns.yaml +99 -0
  170. package/courses/github-pr-review/scenarios/level-2/review-disagreement-resolution.yaml +64 -0
  171. package/courses/github-pr-review/scenarios/level-2/review-metrics-analysis.yaml +63 -0
  172. package/courses/github-pr-review/scenarios/level-2/review-turnaround-sla.yaml +54 -0
  173. package/courses/github-pr-review/scenarios/level-2/stacked-pr-review.yaml +65 -0
  174. package/courses/github-pr-review/scenarios/level-3/advanced-review-shift.yaml +65 -0
  175. package/courses/github-pr-review/scenarios/level-3/ai-powered-review.yaml +58 -0
  176. package/courses/github-pr-review/scenarios/level-3/compliance-review-process.yaml +64 -0
  177. package/courses/github-pr-review/scenarios/level-3/cross-functional-review.yaml +60 -0
  178. package/courses/github-pr-review/scenarios/level-3/incident-driven-review.yaml +63 -0
  179. package/courses/github-pr-review/scenarios/level-3/large-scale-review-operations.yaml +55 -0
  180. package/courses/github-pr-review/scenarios/level-3/monorepo-review-process.yaml +68 -0
  181. package/courses/github-pr-review/scenarios/level-3/review-automation-platform.yaml +61 -0
  182. package/courses/github-pr-review/scenarios/level-3/review-culture-design.yaml +62 -0
  183. package/courses/github-pr-review/scenarios/level-3/review-data-pipeline.yaml +62 -0
  184. package/courses/github-pr-review/scenarios/level-4/enterprise-review-operations.yaml +61 -0
  185. package/courses/github-pr-review/scenarios/level-4/expert-review-shift.yaml +62 -0
  186. package/courses/github-pr-review/scenarios/level-4/review-data-architecture.yaml +69 -0
  187. package/courses/github-pr-review/scenarios/level-4/review-economics-roi.yaml +63 -0
  188. package/courses/github-pr-review/scenarios/level-4/review-executive-communication.yaml +61 -0
  189. package/courses/github-pr-review/scenarios/level-4/review-incident-postmortem.yaml +69 -0
  190. package/courses/github-pr-review/scenarios/level-4/review-org-design.yaml +62 -0
  191. package/courses/github-pr-review/scenarios/level-4/review-platform-architecture.yaml +64 -0
  192. package/courses/github-pr-review/scenarios/level-4/review-training-program.yaml +66 -0
  193. package/courses/github-pr-review/scenarios/level-4/review-vendor-evaluation.yaml +76 -0
  194. package/courses/github-pr-review/scenarios/level-5/comprehensive-review-system.yaml +68 -0
  195. package/courses/github-pr-review/scenarios/level-5/master-review-shift.yaml +73 -0
  196. package/courses/github-pr-review/scenarios/level-5/review-ai-future.yaml +69 -0
  197. package/courses/github-pr-review/scenarios/level-5/review-behavioral-science.yaml +66 -0
  198. package/courses/github-pr-review/scenarios/level-5/review-board-strategy.yaml +62 -0
  199. package/courses/github-pr-review/scenarios/level-5/review-consulting-engagement.yaml +62 -0
  200. package/courses/github-pr-review/scenarios/level-5/review-devtools-product.yaml +71 -0
  201. package/courses/github-pr-review/scenarios/level-5/review-industry-benchmarks.yaml +64 -0
  202. package/courses/github-pr-review/scenarios/level-5/review-ma-integration.yaml +76 -0
  203. package/courses/github-pr-review/scenarios/level-5/review-regulatory-landscape.yaml +78 -0
  204. package/courses/kubernetes-deployment-troubleshooting/course.yaml +12 -0
  205. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/configmap-secret-issues.yaml +69 -0
  206. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/crashloopbackoff.yaml +68 -0
  207. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/deployment-rollout.yaml +56 -0
  208. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/first-troubleshooting-shift.yaml +65 -0
  209. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/health-probe-failures.yaml +70 -0
  210. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/imagepullbackoff.yaml +57 -0
  211. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/kubectl-debugging-basics.yaml +56 -0
  212. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/oomkilled.yaml +70 -0
  213. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/pending-pods.yaml +68 -0
  214. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/service-not-reachable.yaml +66 -0
  215. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/dns-resolution-failures.yaml +63 -0
  216. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/helm-deployment-failures.yaml +63 -0
  217. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/hpa-scaling-issues.yaml +62 -0
  218. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/ingress-routing-issues.yaml +63 -0
  219. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/init-container-failures.yaml +63 -0
  220. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/intermediate-troubleshooting-shift.yaml +66 -0
  221. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/network-policy-blocking.yaml +67 -0
  222. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/persistent-volume-issues.yaml +69 -0
  223. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/rbac-permission-denied.yaml +57 -0
  224. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/resource-quota-limits.yaml +64 -0
  225. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/advanced-troubleshooting-shift.yaml +69 -0
  226. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/cluster-upgrade-failures.yaml +71 -0
  227. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/gitops-drift-detection.yaml +62 -0
  228. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/job-cronjob-failures.yaml +67 -0
  229. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/monitoring-alerting-gaps.yaml +64 -0
  230. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/multi-container-debugging.yaml +68 -0
  231. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/node-pressure-evictions.yaml +70 -0
  232. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/pod-disruption-budgets.yaml +59 -0
  233. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/service-mesh-debugging.yaml +64 -0
  234. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/statefulset-troubleshooting.yaml +69 -0
  235. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/capacity-planning.yaml +65 -0
  236. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/cost-optimization.yaml +57 -0
  237. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/disaster-recovery-design.yaml +56 -0
  238. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/executive-communication.yaml +62 -0
  239. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/expert-troubleshooting-shift.yaml +65 -0
  240. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/incident-management-process.yaml +59 -0
  241. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/multi-cluster-operations.yaml +62 -0
  242. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/multi-tenancy-design.yaml +55 -0
  243. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/platform-engineering.yaml +59 -0
  244. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/security-hardening.yaml +58 -0
  245. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/behavioral-science.yaml +62 -0
  246. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/board-strategy.yaml +61 -0
  247. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/cloud-native-future.yaml +65 -0
  248. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/comprehensive-platform.yaml +57 -0
  249. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/consulting-engagement.yaml +62 -0
  250. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/industry-benchmarks.yaml +58 -0
  251. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/ma-integration.yaml +62 -0
  252. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/master-troubleshooting-shift.yaml +73 -0
  253. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/product-development.yaml +65 -0
  254. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/regulatory-compliance.yaml +76 -0
  255. package/courses/mysql-query-optimization/course.yaml +11 -0
  256. package/courses/mysql-query-optimization/scenarios/level-1/buffer-pool-basics.yaml +65 -0
  257. package/courses/mysql-query-optimization/scenarios/level-1/explain-basics.yaml +66 -0
  258. package/courses/mysql-query-optimization/scenarios/level-1/first-optimization-shift.yaml +78 -0
  259. package/courses/mysql-query-optimization/scenarios/level-1/innodb-index-fundamentals.yaml +68 -0
  260. package/courses/mysql-query-optimization/scenarios/level-1/join-basics.yaml +66 -0
  261. package/courses/mysql-query-optimization/scenarios/level-1/n-plus-one-queries.yaml +67 -0
  262. package/courses/mysql-query-optimization/scenarios/level-1/query-rewriting-basics.yaml +66 -0
  263. package/courses/mysql-query-optimization/scenarios/level-1/select-star-problems.yaml +68 -0
  264. package/courses/mysql-query-optimization/scenarios/level-1/slow-query-diagnosis.yaml +65 -0
  265. package/courses/mysql-query-optimization/scenarios/level-1/where-clause-optimization.yaml +65 -0
  266. package/courses/mysql-query-optimization/scenarios/level-2/buffer-pool-tuning.yaml +64 -0
  267. package/courses/mysql-query-optimization/scenarios/level-2/composite-index-design.yaml +71 -0
  268. package/courses/mysql-query-optimization/scenarios/level-2/covering-and-invisible-indexes.yaml +69 -0
  269. package/courses/mysql-query-optimization/scenarios/level-2/cte-and-window-functions.yaml +78 -0
  270. package/courses/mysql-query-optimization/scenarios/level-2/intermediate-optimization-shift.yaml +68 -0
  271. package/courses/mysql-query-optimization/scenarios/level-2/join-optimization.yaml +67 -0
  272. package/courses/mysql-query-optimization/scenarios/level-2/performance-schema-analysis.yaml +69 -0
  273. package/courses/mysql-query-optimization/scenarios/level-2/query-optimizer-hints.yaml +74 -0
  274. package/courses/mysql-query-optimization/scenarios/level-2/subquery-optimization.yaml +70 -0
  275. package/courses/mysql-query-optimization/scenarios/level-2/write-optimization.yaml +63 -0
  276. package/courses/mysql-query-optimization/scenarios/level-3/advanced-optimization-shift.yaml +71 -0
  277. package/courses/mysql-query-optimization/scenarios/level-3/connection-management.yaml +67 -0
  278. package/courses/mysql-query-optimization/scenarios/level-3/full-text-search.yaml +77 -0
  279. package/courses/mysql-query-optimization/scenarios/level-3/json-optimization.yaml +87 -0
  280. package/courses/mysql-query-optimization/scenarios/level-3/lock-contention-analysis.yaml +68 -0
  281. package/courses/mysql-query-optimization/scenarios/level-3/monitoring-alerting.yaml +63 -0
  282. package/courses/mysql-query-optimization/scenarios/level-3/online-schema-changes.yaml +79 -0
  283. package/courses/mysql-query-optimization/scenarios/level-3/partitioning-strategies.yaml +83 -0
  284. package/courses/mysql-query-optimization/scenarios/level-3/query-profiling-deep-dive.yaml +84 -0
  285. package/courses/mysql-query-optimization/scenarios/level-3/replication-optimization.yaml +66 -0
  286. package/courses/mysql-query-optimization/scenarios/level-4/aurora-vs-rds-evaluation.yaml +61 -0
  287. package/courses/mysql-query-optimization/scenarios/level-4/data-architecture.yaml +62 -0
  288. package/courses/mysql-query-optimization/scenarios/level-4/database-migration-planning.yaml +59 -0
  289. package/courses/mysql-query-optimization/scenarios/level-4/enterprise-governance.yaml +50 -0
  290. package/courses/mysql-query-optimization/scenarios/level-4/executive-communication.yaml +54 -0
  291. package/courses/mysql-query-optimization/scenarios/level-4/expert-optimization-shift.yaml +67 -0
  292. package/courses/mysql-query-optimization/scenarios/level-4/high-availability-architecture.yaml +60 -0
  293. package/courses/mysql-query-optimization/scenarios/level-4/optimizer-internals.yaml +62 -0
  294. package/courses/mysql-query-optimization/scenarios/level-4/performance-sla-design.yaml +52 -0
  295. package/courses/mysql-query-optimization/scenarios/level-4/read-replica-scaling.yaml +51 -0
  296. package/courses/mysql-query-optimization/scenarios/level-5/ai-database-future.yaml +45 -0
  297. package/courses/mysql-query-optimization/scenarios/level-5/behavioral-science.yaml +44 -0
  298. package/courses/mysql-query-optimization/scenarios/level-5/benchmark-design.yaml +47 -0
  299. package/courses/mysql-query-optimization/scenarios/level-5/board-strategy.yaml +48 -0
  300. package/courses/mysql-query-optimization/scenarios/level-5/comprehensive-platform.yaml +49 -0
  301. package/courses/mysql-query-optimization/scenarios/level-5/consulting-engagement.yaml +52 -0
  302. package/courses/mysql-query-optimization/scenarios/level-5/ma-database-integration.yaml +47 -0
  303. package/courses/mysql-query-optimization/scenarios/level-5/master-optimization-shift.yaml +56 -0
  304. package/courses/mysql-query-optimization/scenarios/level-5/product-development.yaml +48 -0
  305. package/courses/mysql-query-optimization/scenarios/level-5/regulatory-compliance.yaml +48 -0
  306. package/courses/postgresql-query-optimization/course.yaml +11 -0
  307. package/courses/postgresql-query-optimization/scenarios/level-1/explain-analyze-basics.yaml +80 -0
  308. package/courses/postgresql-query-optimization/scenarios/level-1/first-optimization-shift.yaml +77 -0
  309. package/courses/postgresql-query-optimization/scenarios/level-1/index-fundamentals.yaml +76 -0
  310. package/courses/postgresql-query-optimization/scenarios/level-1/join-basics.yaml +73 -0
  311. package/courses/postgresql-query-optimization/scenarios/level-1/n-plus-one-queries.yaml +62 -0
  312. package/courses/postgresql-query-optimization/scenarios/level-1/query-rewriting-basics.yaml +69 -0
  313. package/courses/postgresql-query-optimization/scenarios/level-1/select-star-problems.yaml +69 -0
  314. package/courses/postgresql-query-optimization/scenarios/level-1/slow-query-diagnosis.yaml +63 -0
  315. package/courses/postgresql-query-optimization/scenarios/level-1/vacuum-and-statistics.yaml +62 -0
  316. package/courses/postgresql-query-optimization/scenarios/level-1/where-clause-optimization.yaml +74 -0
  317. package/courses/postgresql-query-optimization/scenarios/level-2/autovacuum-tuning.yaml +76 -0
  318. package/courses/postgresql-query-optimization/scenarios/level-2/composite-index-design.yaml +81 -0
  319. package/courses/postgresql-query-optimization/scenarios/level-2/covering-indexes.yaml +74 -0
  320. package/courses/postgresql-query-optimization/scenarios/level-2/cte-optimization.yaml +83 -0
  321. package/courses/postgresql-query-optimization/scenarios/level-2/intermediate-optimization-shift.yaml +66 -0
  322. package/courses/postgresql-query-optimization/scenarios/level-2/join-optimization.yaml +72 -0
  323. package/courses/postgresql-query-optimization/scenarios/level-2/partial-and-expression-indexes.yaml +75 -0
  324. package/courses/postgresql-query-optimization/scenarios/level-2/query-planner-settings.yaml +62 -0
  325. package/courses/postgresql-query-optimization/scenarios/level-2/subquery-optimization.yaml +67 -0
  326. package/courses/postgresql-query-optimization/scenarios/level-2/window-function-optimization.yaml +63 -0
  327. package/courses/postgresql-query-optimization/scenarios/level-3/advanced-optimization-shift.yaml +71 -0
  328. package/courses/postgresql-query-optimization/scenarios/level-3/connection-pooling.yaml +60 -0
  329. package/courses/postgresql-query-optimization/scenarios/level-3/full-text-search-optimization.yaml +66 -0
  330. package/courses/postgresql-query-optimization/scenarios/level-3/jsonb-optimization.yaml +88 -0
  331. package/courses/postgresql-query-optimization/scenarios/level-3/lock-contention-analysis.yaml +80 -0
  332. package/courses/postgresql-query-optimization/scenarios/level-3/materialized-view-optimization.yaml +73 -0
  333. package/courses/postgresql-query-optimization/scenarios/level-3/parallel-query-execution.yaml +74 -0
  334. package/courses/postgresql-query-optimization/scenarios/level-3/partitioning-strategies.yaml +71 -0
  335. package/courses/postgresql-query-optimization/scenarios/level-3/specialized-index-types.yaml +67 -0
  336. package/courses/postgresql-query-optimization/scenarios/level-3/write-optimization.yaml +65 -0
  337. package/courses/postgresql-query-optimization/scenarios/level-4/data-architecture-analytics.yaml +64 -0
  338. package/courses/postgresql-query-optimization/scenarios/level-4/database-executive-communication.yaml +64 -0
  339. package/courses/postgresql-query-optimization/scenarios/level-4/database-migration-planning.yaml +57 -0
  340. package/courses/postgresql-query-optimization/scenarios/level-4/enterprise-database-governance.yaml +52 -0
  341. package/courses/postgresql-query-optimization/scenarios/level-4/expert-optimization-shift.yaml +73 -0
  342. package/courses/postgresql-query-optimization/scenarios/level-4/high-availability-architecture.yaml +62 -0
  343. package/courses/postgresql-query-optimization/scenarios/level-4/optimizer-internals.yaml +69 -0
  344. package/courses/postgresql-query-optimization/scenarios/level-4/performance-sla-design.yaml +58 -0
  345. package/courses/postgresql-query-optimization/scenarios/level-4/read-replica-optimization.yaml +62 -0
  346. package/courses/postgresql-query-optimization/scenarios/level-4/vendor-evaluation.yaml +73 -0
  347. package/courses/postgresql-query-optimization/scenarios/level-5/comprehensive-database-system.yaml +70 -0
  348. package/courses/postgresql-query-optimization/scenarios/level-5/database-ai-future.yaml +81 -0
  349. package/courses/postgresql-query-optimization/scenarios/level-5/database-behavioral-science.yaml +63 -0
  350. package/courses/postgresql-query-optimization/scenarios/level-5/database-board-strategy.yaml +77 -0
  351. package/courses/postgresql-query-optimization/scenarios/level-5/database-consulting-engagement.yaml +61 -0
  352. package/courses/postgresql-query-optimization/scenarios/level-5/database-industry-benchmarks.yaml +64 -0
  353. package/courses/postgresql-query-optimization/scenarios/level-5/database-ma-integration.yaml +71 -0
  354. package/courses/postgresql-query-optimization/scenarios/level-5/database-product-development.yaml +72 -0
  355. package/courses/postgresql-query-optimization/scenarios/level-5/database-regulatory-landscape.yaml +76 -0
  356. package/courses/postgresql-query-optimization/scenarios/level-5/master-optimization-shift.yaml +66 -0
  357. package/courses/rest-api-error-handling/course.yaml +11 -0
  358. package/courses/rest-api-error-handling/scenarios/level-1/authentication-errors.yaml +71 -0
  359. package/courses/rest-api-error-handling/scenarios/level-1/content-negotiation-errors.yaml +63 -0
  360. package/courses/rest-api-error-handling/scenarios/level-1/error-logging-basics.yaml +63 -0
  361. package/courses/rest-api-error-handling/scenarios/level-1/error-response-format.yaml +58 -0
  362. package/courses/rest-api-error-handling/scenarios/level-1/first-error-handling-shift.yaml +67 -0
  363. package/courses/rest-api-error-handling/scenarios/level-1/http-status-codes.yaml +46 -0
  364. package/courses/rest-api-error-handling/scenarios/level-1/not-found-errors.yaml +52 -0
  365. package/courses/rest-api-error-handling/scenarios/level-1/rate-limiting-errors.yaml +56 -0
  366. package/courses/rest-api-error-handling/scenarios/level-1/request-validation-errors.yaml +59 -0
  367. package/courses/rest-api-error-handling/scenarios/level-1/server-error-handling.yaml +55 -0
  368. package/courses/rest-api-error-handling/scenarios/level-2/api-versioning-errors.yaml +66 -0
  369. package/courses/rest-api-error-handling/scenarios/level-2/batch-request-errors.yaml +61 -0
  370. package/courses/rest-api-error-handling/scenarios/level-2/circuit-breaker-pattern.yaml +52 -0
  371. package/courses/rest-api-error-handling/scenarios/level-2/error-code-taxonomy.yaml +62 -0
  372. package/courses/rest-api-error-handling/scenarios/level-2/error-monitoring-alerting.yaml +53 -0
  373. package/courses/rest-api-error-handling/scenarios/level-2/intermediate-error-shift.yaml +69 -0
  374. package/courses/rest-api-error-handling/scenarios/level-2/pagination-errors.yaml +66 -0
  375. package/courses/rest-api-error-handling/scenarios/level-2/retry-and-idempotency.yaml +60 -0
  376. package/courses/rest-api-error-handling/scenarios/level-2/rfc7807-problem-details.yaml +60 -0
  377. package/courses/rest-api-error-handling/scenarios/level-2/webhook-error-handling.yaml +55 -0
  378. package/courses/rest-api-error-handling/scenarios/level-3/advanced-error-shift.yaml +72 -0
  379. package/courses/rest-api-error-handling/scenarios/level-3/api-gateway-errors.yaml +71 -0
  380. package/courses/rest-api-error-handling/scenarios/level-3/async-api-errors.yaml +67 -0
  381. package/courses/rest-api-error-handling/scenarios/level-3/caching-error-scenarios.yaml +65 -0
  382. package/courses/rest-api-error-handling/scenarios/level-3/chaos-engineering-apis.yaml +62 -0
  383. package/courses/rest-api-error-handling/scenarios/level-3/database-error-handling.yaml +79 -0
  384. package/courses/rest-api-error-handling/scenarios/level-3/distributed-error-propagation.yaml +63 -0
  385. package/courses/rest-api-error-handling/scenarios/level-3/error-budgets-sre.yaml +61 -0
  386. package/courses/rest-api-error-handling/scenarios/level-3/error-correlation.yaml +58 -0
  387. package/courses/rest-api-error-handling/scenarios/level-3/graphql-vs-rest-errors.yaml +73 -0
  388. package/courses/rest-api-error-handling/scenarios/level-4/compliance-error-handling.yaml +65 -0
  389. package/courses/rest-api-error-handling/scenarios/level-4/enterprise-error-governance.yaml +62 -0
  390. package/courses/rest-api-error-handling/scenarios/level-4/error-analytics-platform.yaml +65 -0
  391. package/courses/rest-api-error-handling/scenarios/level-4/error-cost-optimization.yaml +63 -0
  392. package/courses/rest-api-error-handling/scenarios/level-4/error-executive-communication.yaml +60 -0
  393. package/courses/rest-api-error-handling/scenarios/level-4/error-handling-architecture.yaml +67 -0
  394. package/courses/rest-api-error-handling/scenarios/level-4/error-org-design.yaml +68 -0
  395. package/courses/rest-api-error-handling/scenarios/level-4/error-sla-design.yaml +65 -0
  396. package/courses/rest-api-error-handling/scenarios/level-4/error-training-program.yaml +61 -0
  397. package/courses/rest-api-error-handling/scenarios/level-4/expert-error-shift.yaml +63 -0
  398. package/courses/rest-api-error-handling/scenarios/level-5/comprehensive-error-system.yaml +68 -0
  399. package/courses/rest-api-error-handling/scenarios/level-5/error-ai-future.yaml +75 -0
  400. package/courses/rest-api-error-handling/scenarios/level-5/error-behavioral-science.yaml +73 -0
  401. package/courses/rest-api-error-handling/scenarios/level-5/error-board-strategy.yaml +60 -0
  402. package/courses/rest-api-error-handling/scenarios/level-5/error-consulting-engagement.yaml +58 -0
  403. package/courses/rest-api-error-handling/scenarios/level-5/error-industry-benchmarks.yaml +72 -0
  404. package/courses/rest-api-error-handling/scenarios/level-5/error-ma-integration.yaml +68 -0
  405. package/courses/rest-api-error-handling/scenarios/level-5/error-product-development.yaml +66 -0
  406. package/courses/rest-api-error-handling/scenarios/level-5/error-regulatory-landscape.yaml +80 -0
  407. package/courses/rest-api-error-handling/scenarios/level-5/master-error-shift.yaml +73 -0
  408. package/courses/terraform-infrastructure-setup/course.yaml +11 -0
  409. package/courses/terraform-infrastructure-setup/scenarios/level-1/terraform-init-errors.yaml +72 -0
  410. package/dist/cli/commands/add.d.ts.map +1 -1
  411. package/dist/cli/commands/add.js +6 -5
  412. package/dist/cli/commands/add.js.map +1 -1
  413. package/dist/cli/commands/generate.d.ts.map +1 -1
  414. package/dist/cli/commands/generate.js +4 -0
  415. package/dist/cli/commands/generate.js.map +1 -1
  416. package/dist/cli/commands/list.d.ts.map +1 -1
  417. package/dist/cli/commands/list.js +6 -18
  418. package/dist/cli/commands/list.js.map +1 -1
  419. package/dist/cli/commands/train.d.ts.map +1 -1
  420. package/dist/cli/commands/train.js +18 -18
  421. package/dist/cli/commands/train.js.map +1 -1
  422. package/dist/cli/index.js +93 -55
  423. package/dist/cli/index.js.map +1 -1
  424. package/dist/cli/run-demo.js +2 -1
  425. package/dist/cli/run-demo.js.map +1 -1
  426. package/dist/cli/setup.d.ts +18 -0
  427. package/dist/cli/setup.d.ts.map +1 -0
  428. package/dist/cli/setup.js +154 -0
  429. package/dist/cli/setup.js.map +1 -0
  430. package/dist/engine/agent-bridge.d.ts +5 -2
  431. package/dist/engine/agent-bridge.d.ts.map +1 -1
  432. package/dist/engine/agent-bridge.js +36 -9
  433. package/dist/engine/agent-bridge.js.map +1 -1
  434. package/dist/engine/loader.d.ts +21 -0
  435. package/dist/engine/loader.d.ts.map +1 -1
  436. package/dist/engine/loader.js +54 -1
  437. package/dist/engine/loader.js.map +1 -1
  438. package/dist/engine/training-loop.d.ts.map +1 -1
  439. package/dist/engine/training-loop.js +1 -0
  440. package/dist/engine/training-loop.js.map +1 -1
  441. package/dist/engine/training.d.ts.map +1 -1
  442. package/dist/engine/training.js +1 -0
  443. package/dist/engine/training.js.map +1 -1
  444. package/dist/generator/skill-generator.d.ts +1 -1
  445. package/dist/generator/skill-generator.d.ts.map +1 -1
  446. package/dist/generator/skill-generator.js +21 -2
  447. package/dist/generator/skill-generator.js.map +1 -1
  448. package/dist/mcp/server.d.ts.map +1 -1
  449. package/dist/mcp/server.js +11 -26
  450. package/dist/mcp/server.js.map +1 -1
  451. package/dist/mcp/session-manager.d.ts +9 -4
  452. package/dist/mcp/session-manager.d.ts.map +1 -1
  453. package/dist/mcp/session-manager.js +65 -28
  454. package/dist/mcp/session-manager.js.map +1 -1
  455. package/dist/types/schemas.d.ts +38 -13
  456. package/dist/types/schemas.d.ts.map +1 -1
  457. package/dist/types/schemas.js +9 -5
  458. package/dist/types/schemas.js.map +1 -1
  459. package/package.json +1 -1
@@ -0,0 +1,59 @@
1
+ meta:
2
+ id: matrix-builds
3
+ level: 2
4
+ course: github-actions-cicd
5
+ type: output
6
+ description: "Configure matrix builds — test across multiple OS, language versions, and configurations using strategy.matrix"
7
+ tags: [github, actions, matrix, cross-platform, multi-version, intermediate]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ You maintain an open-source Node.js library that must work across
13
+ multiple environments. The library is used by projects running
14
+ different Node.js versions, operating systems, and package managers.
15
+
16
+ Test matrix requirements:
17
+ - Node.js versions: 18, 20, 22
18
+ - Operating systems: ubuntu-latest, windows-latest, macos-latest
19
+ - Package managers: npm, yarn, pnpm
20
+ - Full matrix = 3 x 3 x 3 = 27 combinations
21
+
22
+ Constraints:
23
+ - The full matrix takes too long (45 minutes) and costs too much
24
+ - Node 18 on Windows with pnpm has a known incompatibility — exclude
25
+ this combination
26
+ - Node 22 is experimental — failures shouldn't block the PR
27
+ - macOS runners cost 10x more than Linux runners — minimize usage
28
+ - You want to add a specific combination not in the matrix: Node 21
29
+ (nightly) on ubuntu-latest with npm
30
+
31
+ Additional requirements:
32
+ - If any matrix job fails, you want to see all results (don't cancel
33
+ other jobs immediately)
34
+ - The matrix should generate a human-readable job name like
35
+ "Test (node-20, ubuntu-latest, npm)"
36
+ - After all matrix jobs complete, a summary job should report which
37
+ combinations passed/failed
38
+
39
+ Task: Write the complete matrix workflow. Include: the matrix
40
+ configuration with include, exclude, and fail-fast settings, the
41
+ strategy for reducing the 27-combination matrix to a practical subset
42
+ (explain your reasoning for which to cut), the Node 22 experimental
43
+ configuration using continue-on-error, and the summary job that
44
+ collects all matrix results. Explain the cost implications of your
45
+ matrix choices.
46
+
47
+ assertions:
48
+ - type: llm_judge
49
+ criteria: "Matrix syntax is correct — uses strategy.matrix with proper include/exclude syntax, fail-fast: false, continue-on-error for Node 22, and the exclude for Node 18 + Windows + pnpm is correctly specified"
50
+ weight: 0.35
51
+ description: "Correct matrix syntax"
52
+ - type: llm_judge
53
+ criteria: "Matrix reduction is well-reasoned — reduces the 27-combination matrix to a practical subset (maybe 12-15), justifies which combinations to keep (e.g., full Linux matrix, reduced macOS to save cost), and the cost analysis shows the savings"
54
+ weight: 0.35
55
+ description: "Well-reasoned matrix reduction"
56
+ - type: llm_judge
57
+ criteria: "Summary job correctly aggregates results — uses needs with the matrix job, accesses matrix job outcomes, and produces a clear pass/fail report for all combinations. The workflow would work correctly in a real repository"
58
+ weight: 0.30
59
+ description: "Correct summary aggregation"
@@ -0,0 +1,61 @@
1
+ meta:
2
+ id: reusable-workflows
3
+ level: 2
4
+ course: github-actions-cicd
5
+ type: output
6
+ description: "Build reusable workflows — create DRY CI/CD with reusable workflows, composite actions, and workflow templates"
7
+ tags: [github, actions, reusable-workflows, composite-actions, DRY, intermediate]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ Your organization has 15 Node.js repositories that all have nearly
13
+ identical CI/CD workflows. When you need to update the Node version
14
+ or add a security scan, you have to modify 15 files across 15 repos.
15
+ Last month, someone forgot to update 3 repos and they broke.
16
+
17
+ Current duplication:
18
+ - All 15 repos: checkout → setup-node → install → lint → test → build
19
+ - 8 repos: + deploy to staging on merge to main
20
+ - 5 repos: + deploy to production on release
21
+ - All repos: same Slack notification on failure
22
+
23
+ You need to create reusable components:
24
+
25
+ Component 1 — Reusable workflow (workflow_call):
26
+ Create a reusable CI workflow that accepts inputs:
27
+ - node-version (default: 20)
28
+ - run-e2e (boolean, default: false)
29
+ - deploy-target (string: none/staging/production)
30
+ And passes secrets:
31
+ - AWS credentials (for deployment)
32
+ - Slack webhook URL (for notifications)
33
+
34
+ Component 2 — Composite action:
35
+ Create a composite action "setup-and-test" that bundles:
36
+ - Checkout, setup-node, cache, install, lint, test
37
+ Into a single reusable action that can be used in any workflow
38
+
39
+ Component 3 — Workflow template (organization level):
40
+ Create a starter workflow template that new repos can adopt from
41
+ the "Actions" tab, pre-configured with your org's standards
42
+
43
+ Task: Build all 3 components. For each, write: the complete YAML
44
+ files, the calling workflow that uses them, and the comparison (when
45
+ to use reusable workflows vs composite actions vs templates). Include
46
+ the migration plan for moving the 15 repos from duplicated workflows
47
+ to the reusable approach.
48
+
49
+ assertions:
50
+ - type: llm_judge
51
+ criteria: "Reusable workflow is correctly structured — uses workflow_call trigger with typed inputs and secrets, the calling workflow uses 'uses: org/repo/.github/workflows/file.yml@main' syntax, and secrets are passed correctly (secrets: inherit or explicit)"
52
+ weight: 0.35
53
+ description: "Correct reusable workflow structure"
54
+ - type: llm_judge
55
+ criteria: "Composite action is properly defined — has action.yml with inputs/outputs, uses 'composite' runs type, steps use correct shell specification, and the calling workflow uses it with 'uses: org/repo/path@version' syntax"
56
+ weight: 0.35
57
+ description: "Proper composite action definition"
58
+ - type: llm_judge
59
+ criteria: "Comparison is clear and practical — explains when to choose reusable workflows (full job reuse, secret passing), composite actions (step-level reuse, can run in existing jobs), and templates (one-time setup for new repos), with a migration plan that doesn't break existing CI"
60
+ weight: 0.30
61
+ description: "Clear comparison and migration plan"
@@ -0,0 +1,61 @@
1
+ meta:
2
+ id: workflow-cost-optimization
3
+ level: 2
4
+ course: github-actions-cicd
5
+ type: output
6
+ description: "Optimize workflow costs — reduce GitHub Actions spend through caching, concurrency, path filters, and runner selection"
7
+ tags: [github, actions, cost, optimization, billing, runners, intermediate]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ Your engineering manager just received the GitHub Actions bill:
13
+ $4,200/month for a 25-person team. They want you to cut it by 50%
14
+ without sacrificing CI quality. Here's the current usage breakdown:
15
+
16
+ Billing data (last month):
17
+ - Total minutes used: 42,000
18
+ - Linux runners: 28,000 min ($280 at $0.008/min)
19
+ - macOS runners: 8,000 min ($640 at $0.08/min)
20
+ - Windows runners: 6,000 min ($96 at $0.016/min)
21
+ - Storage (artifacts + packages): $180
22
+ - Overage beyond free tier: $3,000
23
+
24
+ Workflow analysis:
25
+ | Workflow | Runs/month | Avg duration | Total min | Cost |
26
+ |-------------------|-----------|-------------|-----------|-------|
27
+ | ci.yml | 1,200 | 15 min | 18,000 | $1,440|
28
+ | deploy.yml | 60 | 8 min | 480 | $38 |
29
+ | nightly-tests.yml | 30 | 45 min | 1,350 | $108 |
30
+ | e2e-all-os.yml | 400 | 30 min | 12,000 | $1,560|
31
+ | lint-on-save.yml | 2,000 | 3 min | 6,000 | $480 |
32
+ | security-scan.yml | 200 | 12 min | 2,400 | $192 |
33
+ | stale-cleanup.yml | 30 | 5 min | 150 | $12 |
34
+
35
+ Key observations:
36
+ - ci.yml runs on every push (even draft PRs, even docs-only changes)
37
+ - e2e-all-os.yml runs full matrix on all 3 OSes for every PR
38
+ - lint-on-save.yml triggers on every push including commit amends
39
+ - nightly-tests.yml runs a full test suite even when nothing changed
40
+ - Artifacts are retained for 90 days (default)
41
+
42
+ Task: Create the cost optimization plan. For each workflow, write:
43
+ the specific optimization (with YAML changes), the expected savings,
44
+ and any quality trade-offs. Include: the optimized billing projection,
45
+ the comparison of GitHub-hosted vs self-hosted runner economics for
46
+ this team's usage, and a monitoring dashboard design for ongoing
47
+ cost tracking. Target: reduce from $4,200 to under $2,100/month.
48
+
49
+ assertions:
50
+ - type: llm_judge
51
+ criteria: "Optimizations are specific and impactful — ci.yml gets path filters and draft PR skip, e2e-all-os runs full matrix only on main (reduced matrix on PRs), lint-on-save gets concurrency cancel-in-progress, artifact retention is reduced, and each optimization has a dollar-value estimate"
52
+ weight: 0.35
53
+ description: "Specific impactful optimizations"
54
+ - type: llm_judge
55
+ criteria: "Cost reduction achieves the target — the total projected savings reach or exceed 50% ($2,100 target), each optimization's savings are calculated from the billing data, and the math is consistent and reasonable"
56
+ weight: 0.35
57
+ description: "Target-achieving cost reduction"
58
+ - type: llm_judge
59
+ criteria: "Self-hosted runner analysis is included — compares the monthly cost of GitHub-hosted vs self-hosted for this usage level, considers the maintenance overhead of self-hosted, and makes a clear recommendation with break-even analysis"
60
+ weight: 0.30
61
+ description: "Self-hosted runner analysis"
@@ -0,0 +1,64 @@
1
+ meta:
2
+ id: advanced-cicd-shift
3
+ level: 3
4
+ course: github-actions-cicd
5
+ type: output
6
+ description: "Advanced CI/CD shift — handle security incidents, compliance failures, and infrastructure emergencies in GitHub Actions"
7
+ tags: [github, actions, shift-simulation, security, compliance, incident, advanced]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ You're the CI/CD platform engineer handling an intense shift with
13
+ 4 critical issues arriving within the same hour.
14
+
15
+ Issue 1 — Supply chain attack detected (Critical):
16
+ GitHub's secret scanning alerted that a popular action you use
17
+ (actions/setup-python@v4) had its v4 tag overwritten 30 minutes ago
18
+ by a compromised maintainer account. The malicious version exfiltrates
19
+ environment variables (including secrets) to an external server. Your
20
+ organization has 25 repos using this action. 8 workflow runs have
21
+ already executed since the compromise.
22
+ Immediate: Determine which repos are affected, assess exposure, and
23
+ block further execution.
24
+
25
+ Issue 2 — SOC 2 audit finding (High):
26
+ The SOC 2 auditor found that your required workflow (security scan)
27
+ can be bypassed. A developer discovered they can modify the workflow
28
+ file in their PR to skip the security scan, and since the modified
29
+ workflow is what runs, the bypass succeeds. This is a critical control
30
+ failure.
31
+
32
+ Issue 3 — Runner fleet failure (High):
33
+ Your self-hosted runner fleet (Kubernetes with ARC) is experiencing
34
+ cascading failures. The runner controller pod is in CrashLoopBackOff,
35
+ new jobs are queueing but not starting, and 15 deployments are
36
+ blocked. The last change was a Kubernetes cluster upgrade 2 hours ago.
37
+
38
+ Issue 4 — Cost spike (Medium):
39
+ GitHub Actions billing shows a 400% cost spike in the last 24 hours.
40
+ Investigation reveals a workflow with an infinite loop — a workflow
41
+ triggers on push, creates a commit, which triggers another push,
42
+ creating another commit. It's been running for 18 hours creating
43
+ 5,000+ commits.
44
+
45
+ Task: Handle all 4 issues. For each, write: the immediate containment
46
+ action (what to do in the next 5 minutes), the investigation and
47
+ remediation steps, the root cause analysis, and the permanent fix.
48
+ Include: the incident communication (what to tell the security team,
49
+ auditors, and engineering org), and the post-incident improvements
50
+ to prevent all 4 types of issues.
51
+
52
+ assertions:
53
+ - type: llm_judge
54
+ criteria: "Supply chain attack response is comprehensive — identifies all 25 affected repos, assesses which 8 runs were compromised, immediately pins to SHA or blocks the action, rotates all exposed secrets, and reports the compromised action to GitHub"
55
+ weight: 0.35
56
+ description: "Comprehensive supply chain response"
57
+ - type: llm_judge
58
+ criteria: "Audit finding is remediated correctly — explains that required workflows from the calling repo can be modified, the fix uses organization-level required workflows (which run the org's version, not the PR's), and the auditor is given a corrective action plan"
59
+ weight: 0.35
60
+ description: "Correct audit finding remediation"
61
+ - type: llm_judge
62
+ criteria: "Infinite loop and runner issues are resolved — the infinite loop is stopped by disabling the workflow or adding recursion prevention ([skip ci] or checking github.actor), the runner fleet recovery addresses the K8s upgrade issue, and permanent fixes prevent both recurrence"
63
+ weight: 0.30
64
+ description: "Loop and runner resolution"
@@ -0,0 +1,68 @@
1
+ meta:
2
+ id: compliance-automation
3
+ level: 3
4
+ course: github-actions-cicd
5
+ type: output
6
+ description: "Automate compliance in CI/CD — embed SOC 2, PCI DSS, and HIPAA controls into GitHub Actions workflows"
7
+ tags: [github, actions, compliance, SOC2, PCI-DSS, HIPAA, audit, advanced]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ Your fintech company processes healthcare payments (both PCI DSS and
13
+ HIPAA apply) and is pursuing SOC 2 Type II certification. The
14
+ auditors want to see that compliance controls are automated in CI/CD,
15
+ not just documented.
16
+
17
+ Required automated controls:
18
+
19
+ 1. Change management (SOC 2 CC8.1):
20
+ - Every production change has an approved PR (no direct pushes)
21
+ - PR approval is from someone other than the author
22
+ - All CI checks pass before merge
23
+ - Deployment creates an auditable record (who, when, what, why)
24
+
25
+ 2. Security testing (PCI DSS 6.5):
26
+ - SAST scan on every PR (CodeQL or Semgrep)
27
+ - Dependency vulnerability scan (Dependabot or Snyk)
28
+ - Secret scanning with push protection
29
+ - Container image scanning before deployment
30
+
31
+ 3. Data protection (HIPAA):
32
+ - No PHI in logs (log sanitization check)
33
+ - Encryption verification (TLS, at-rest encryption config checks)
34
+ - Access audit log generation for every deployment
35
+
36
+ 4. Evidence collection:
37
+ - All workflow runs produce compliance artifacts
38
+ - Artifacts are retained for 7 years (regulatory requirement)
39
+ - Evidence must be tamper-proof (signed, immutable)
40
+ - Monthly compliance report generation (automated)
41
+
42
+ Current gaps:
43
+ - Some repos don't have branch protection
44
+ - Security scans exist but are not required (can be skipped)
45
+ - No centralized compliance artifact storage
46
+ - Deployment audit logs are in plain text files, easy to modify
47
+
48
+ Task: Build the compliance automation pipeline. Write: the required
49
+ workflows (as organization-level required workflows), the branch
50
+ protection rulesets (org-wide enforcement), the security scan
51
+ configuration (CodeQL + Dependabot + secret scanning), the evidence
52
+ collection system (artifact storage, retention, signing), and the
53
+ monthly compliance report workflow. Include: the auditor-facing
54
+ documentation explaining how the automation satisfies each control.
55
+
56
+ assertions:
57
+ - type: llm_judge
58
+ criteria: "Controls are automated correctly — organization-level required workflows enforce security scans on all repos, branch protection rulesets prevent self-merge and require CI, and deployment audit records are generated automatically with tamper-proof signatures"
59
+ weight: 0.35
60
+ description: "Correctly automated controls"
61
+ - type: llm_judge
62
+ criteria: "Evidence collection meets regulatory requirements — compliance artifacts are stored with 7-year retention (not default 90 days), artifacts are signed for tamper-proofing, and the monthly report aggregates compliance data across all repos"
63
+ weight: 0.35
64
+ description: "Regulatory-meeting evidence collection"
65
+ - type: llm_judge
66
+ criteria: "Auditor documentation maps controls to workflows — each SOC 2/PCI/HIPAA control has a corresponding workflow or configuration with evidence of automation, and the documentation would satisfy an auditor (not just an engineer)"
67
+ weight: 0.30
68
+ description: "Auditor-satisfying documentation"
@@ -0,0 +1,65 @@
1
+ meta:
2
+ id: docker-action-development
3
+ level: 3
4
+ course: github-actions-cicd
5
+ type: output
6
+ description: "Build custom Docker actions — create isolated, language-agnostic actions using Docker containers with proper testing and publishing"
7
+ tags: [github, actions, Docker, custom-actions, containers, advanced]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ Your security team needs 3 custom Docker-based actions for their
13
+ compliance pipeline. Docker actions are required (not JavaScript)
14
+ because they need specific CLI tools, language runtimes, and
15
+ isolation guarantees.
16
+
17
+ Action 1 — "compliance-scanner":
18
+ Purpose: Run a compliance scan against CIS benchmarks for Docker
19
+ images and Kubernetes manifests. Must include specific tools
20
+ (trivy, kubesec, conftest) that aren't available as standalone
21
+ actions with the versions you need.
22
+ Inputs: scan-type (docker/k8s), target (image name or manifest path),
23
+ severity-threshold (critical/high/medium), policy-dir (OPA policies)
24
+ Outputs: findings-count, report-path, pass/fail status
25
+ Requirements: Multi-stage Dockerfile, report in SARIF format,
26
+ integration with GitHub Security tab
27
+
28
+ Action 2 — "license-auditor":
29
+ Purpose: Audit all dependencies for license compliance. Must support
30
+ npm, pip, Go, and Java (Maven) in a single action. Uses a Python
31
+ script with specific libraries.
32
+ Inputs: package-manager, allowed-licenses (JSON array), fail-on-deny
33
+ Outputs: audit-report-path, denied-licenses-count
34
+ Requirements: Should generate a license bill of materials (BOM)
35
+
36
+ Action 3 — "secret-detector":
37
+ Purpose: Scan PR diffs for accidentally committed secrets using
38
+ custom regex patterns and entropy analysis. Runs in isolated
39
+ container for security (action itself handles sensitive data).
40
+ Inputs: custom-patterns (file path to regex list), entropy-threshold
41
+ Outputs: secrets-found-count, findings-path
42
+ Requirements: Must NOT log the actual secret values, must annotate
43
+ the PR with findings location
44
+
45
+ Task: Build all 3 Docker actions. For each, write: the Dockerfile
46
+ (multi-stage for size optimization), the entrypoint script, the
47
+ action.yml metadata, the test workflow (how to test a Docker action),
48
+ and the CI/CD for the action itself (building, testing, and publishing
49
+ the action). Include: the Docker caching strategy for action builds,
50
+ the versioning approach, and the security considerations for Docker
51
+ actions that handle sensitive data.
52
+
53
+ assertions:
54
+ - type: llm_judge
55
+ criteria: "Dockerfiles are well-designed — uses multi-stage builds to minimize image size, includes all required tools, entrypoint scripts handle inputs from environment variables correctly, and the action.yml files have complete metadata with all inputs/outputs"
56
+ weight: 0.35
57
+ description: "Well-designed Docker actions"
58
+ - type: llm_judge
59
+ criteria: "Testing strategy is practical — includes unit tests for the scripts, integration tests using a test workflow (workflow_dispatch or push to test branch), and explains how to test Docker actions locally before publishing"
60
+ weight: 0.35
61
+ description: "Practical testing strategy"
62
+ - type: llm_judge
63
+ criteria: "Security considerations are addressed — the secret-detector doesn't log secrets, Docker actions run in isolation, the compliance-scanner SARIF output integrates with GitHub Security tab, and the versioning approach uses SHA-pinned tags"
64
+ weight: 0.30
65
+ description: "Security considerations addressed"
@@ -0,0 +1,65 @@
1
+ meta:
2
+ id: github-environments
3
+ level: 3
4
+ course: github-actions-cicd
5
+ type: output
6
+ description: "Configure GitHub Environments — set up deployment protection rules, approval gates, and environment-specific secrets"
7
+ tags: [github, actions, environments, protection-rules, deployment-gates, advanced]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ Your company needs a multi-environment deployment pipeline with
13
+ proper gates and controls. Currently, deployments go directly to
14
+ production with no staging or approval process.
15
+
16
+ Environment requirements:
17
+ 1. Development (dev):
18
+ - Auto-deploy on every push to feature branches
19
+ - Ephemeral environments (one per PR, destroyed on merge)
20
+ - No approval required
21
+ - Uses development database and mock services
22
+
23
+ 2. Staging:
24
+ - Auto-deploy on merge to main
25
+ - Protected: only deployable from main branch
26
+ - Runs smoke tests after deployment
27
+ - Uses staging database with anonymized production data
28
+ - Secrets: staging-specific AWS credentials, API keys
29
+
30
+ 3. Production:
31
+ - Manual approval required (2 reviewers from @devops team)
32
+ - Deployment window: weekdays 9AM-4PM ET (no weekend deploys)
33
+ - Wait timer: 5-minute delay after approval (for last-minute
34
+ cancellation)
35
+ - Branch restriction: only main branch
36
+ - Secrets: production AWS credentials, API keys, DB connection
37
+ - Required: all staging smoke tests must have passed
38
+
39
+ 4. Canary (subset of production):
40
+ - Deploy to 5% of production traffic first
41
+ - Monitor error rates for 15 minutes
42
+ - Auto-promote to full production if error rate < 0.5%
43
+ - Auto-rollback if error rate > 1%
44
+
45
+ Task: Configure all 4 environments. Write: the GitHub Environment
46
+ settings for each (protection rules, secrets, deployment branch
47
+ policy), the deployment workflow that uses all 4 environments in
48
+ sequence, the canary deployment logic (traffic splitting and
49
+ monitoring), and the ephemeral environment management for dev (create
50
+ on PR open, destroy on PR close). Include the IAM and infrastructure
51
+ setup needed to support environment-specific secrets.
52
+
53
+ assertions:
54
+ - type: llm_judge
55
+ criteria: "GitHub Environment configuration is correct — each environment has appropriate protection rules (required reviewers for production, wait timer, branch policy), environment-specific secrets are properly scoped, and the deployment window restriction uses custom deployment protection rules"
56
+ weight: 0.35
57
+ description: "Correct environment configuration"
58
+ - type: llm_judge
59
+ criteria: "Deployment workflow uses environments correctly — references environments with 'environment:' key in each job, environment approvals pause the workflow, secrets are accessed per-environment, and the sequential flow (dev → staging → canary → production) is properly orchestrated"
60
+ weight: 0.35
61
+ description: "Correct environment workflow usage"
62
+ - type: llm_judge
63
+ criteria: "Canary and ephemeral environments are practical — canary deployment includes traffic splitting logic and monitoring-based auto-promote/rollback, ephemeral dev environments are created/destroyed via PR lifecycle events, and the infrastructure requirements are addressed"
64
+ weight: 0.30
65
+ description: "Practical canary and ephemeral environments"
@@ -0,0 +1,68 @@
1
+ meta:
2
+ id: monorepo-ci
3
+ level: 3
4
+ course: github-actions-cicd
5
+ type: output
6
+ description: "Design monorepo CI — build efficient CI pipelines for monorepos with path filters, dynamic matrices, and selective testing"
7
+ tags: [github, actions, monorepo, path-filters, dynamic-matrix, turborepo, advanced]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ Your company migrated 8 microservices into a Turborepo monorepo.
13
+ The current CI runs ALL tests for every PR, taking 35 minutes and
14
+ costing $800/month unnecessarily. You need to make CI smart enough
15
+ to only test what changed.
16
+
17
+ Monorepo structure:
18
+ ```
19
+ /
20
+ ├── apps/
21
+ │ ├── web/ (React, 12,000 lines)
22
+ │ ├── api/ (Express, 8,000 lines)
23
+ │ ├── mobile/ (React Native, 10,000 lines)
24
+ │ └── admin/ (Next.js, 5,000 lines)
25
+ ├── packages/
26
+ │ ├── ui/ (Shared components, used by web + mobile + admin)
27
+ │ ├── auth/ (Auth library, used by api + web + admin)
28
+ │ ├── database/ (Prisma client, used by api + admin)
29
+ │ └── config/ (Shared config, used by all)
30
+ ├── turbo.json
31
+ └── package.json
32
+ ```
33
+
34
+ Dependency graph:
35
+ - web depends on: ui, auth, config
36
+ - api depends on: auth, database, config
37
+ - mobile depends on: ui, auth, config
38
+ - admin depends on: ui, auth, database, config
39
+
40
+ Requirements:
41
+ 1. Only run tests for changed packages and their dependents
42
+ 2. If packages/auth changes, test web, api, mobile, and admin
43
+ 3. If apps/web changes, only test web
44
+ 4. If packages/config changes, test everything (affects all)
45
+ 5. Generate the test matrix dynamically based on affected packages
46
+ 6. Run Turborepo's --filter for selective builds
47
+ 7. Cache Turborepo's .turbo directory across workflow runs
48
+
49
+ Task: Write the monorepo CI workflow. Include: the change detection
50
+ job (determines which packages are affected), the dynamic matrix
51
+ generation (creates a matrix from affected packages), the selective
52
+ test execution (only tests affected packages), the Turborepo
53
+ integration (using --filter and caching), and the deployment trigger
54
+ logic (deploy web only if web or its dependencies changed).
55
+
56
+ assertions:
57
+ - type: llm_judge
58
+ criteria: "Change detection correctly identifies affected packages — uses git diff with path matching, understands the dependency graph (changing auth affects all consumers), and handles the transitive dependency case (config affects everything)"
59
+ weight: 0.35
60
+ description: "Correct change detection"
61
+ - type: llm_judge
62
+ criteria: "Dynamic matrix is properly generated — the detection job outputs a JSON array of affected packages, the test job uses fromJson() to create a dynamic matrix, and the matrix correctly handles the case where no packages are affected (skips testing)"
63
+ weight: 0.35
64
+ description: "Proper dynamic matrix generation"
65
+ - type: llm_judge
66
+ criteria: "Turborepo integration is correct — uses turbo run test --filter with correct syntax, caches .turbo directory between runs, and the cost savings are estimated (from 35 minutes for all packages to X minutes for affected only)"
67
+ weight: 0.30
68
+ description: "Correct Turborepo integration"
@@ -0,0 +1,55 @@
1
+ meta:
2
+ id: oidc-cloud-deployments
3
+ level: 3
4
+ course: github-actions-cicd
5
+ type: output
6
+ description: "Deploy with OIDC — configure keyless authentication to AWS, GCP, and Azure using GitHub Actions OIDC tokens"
7
+ tags: [github, actions, OIDC, AWS, GCP, Azure, cloud-auth, advanced]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ Your company deploys to all 3 major cloud providers and currently
13
+ uses long-lived credentials stored as GitHub Secrets. The security
14
+ team mandates a migration to OIDC (keyless authentication) within
15
+ 30 days. No more static credentials in GitHub Secrets.
16
+
17
+ Current setup (to be replaced):
18
+ - AWS: IAM user access key + secret key in GitHub Secrets
19
+ - GCP: Service account key JSON file in GitHub Secrets
20
+ - Azure: Service principal client ID + secret in GitHub Secrets
21
+
22
+ Deployment targets:
23
+ - AWS: ECS (API), S3 + CloudFront (frontend), Lambda (serverless)
24
+ - GCP: Cloud Run (microservices), GCS (static assets)
25
+ - Azure: AKS (Kubernetes), Azure Functions (serverless)
26
+
27
+ Requirements:
28
+ - Each cloud provider should only trust tokens from specific repos
29
+ - Production deployments should only be allowed from the main branch
30
+ - Staging deployments should be allowed from any branch
31
+ - Each cloud role should have minimum required permissions
32
+ - The OIDC configuration should work with GitHub Environments
33
+
34
+ Task: Configure OIDC for all 3 cloud providers. For each, write:
35
+ the identity provider setup (cloud-side configuration), the trust
36
+ policy (limiting which repos/branches can assume the role), the
37
+ IAM role with minimum permissions, the workflow changes (replacing
38
+ static credentials with OIDC), and the testing/verification steps.
39
+ Include: a comparison of OIDC across the 3 providers, the common
40
+ pitfalls, and the migration checklist for removing old static
41
+ credentials safely.
42
+
43
+ assertions:
44
+ - type: llm_judge
45
+ criteria: "AWS OIDC is correctly configured — IAM OIDC provider with GitHub's thumbprint, IAM role trust policy with conditions on repo and branch (sub claim), workflow uses aws-actions/configure-aws-credentials with role-to-assume and no static credentials"
46
+ weight: 0.35
47
+ description: "Correct AWS OIDC configuration"
48
+ - type: llm_judge
49
+ criteria: "GCP and Azure OIDC are also configured — GCP uses Workload Identity Federation with correct attribute mapping, Azure uses federated credentials on the app registration, and both have branch-restricted trust policies matching the AWS pattern"
50
+ weight: 0.35
51
+ description: "Complete multi-cloud OIDC"
52
+ - type: llm_judge
53
+ criteria: "Migration plan is safe — includes a parallel-running period (both OIDC and static credentials work), verification steps before removing static credentials, rollback plan if OIDC fails, and the credential rotation/deletion checklist"
54
+ weight: 0.30
55
+ description: "Safe migration plan"
@@ -0,0 +1,61 @@
1
+ meta:
2
+ id: release-automation
3
+ level: 3
4
+ course: github-actions-cicd
5
+ type: output
6
+ description: "Automate releases — build semantic versioning, changelog generation, and GitHub Release workflows"
7
+ tags: [github, actions, releases, semantic-versioning, changelog, automation, advanced]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ Your team currently releases manually: someone bumps the version in
13
+ package.json, writes a changelog entry, creates a git tag, builds
14
+ the artifacts, and creates a GitHub Release. This takes 45 minutes
15
+ and has caused errors (wrong version, missing changelog entries,
16
+ forgotten tags). You need to fully automate the release process.
17
+
18
+ Requirements:
19
+ 1. Semantic versioning based on commit messages:
20
+ - feat: → minor bump (1.2.0 → 1.3.0)
21
+ - fix: → patch bump (1.2.0 → 1.2.1)
22
+ - BREAKING CHANGE: → major bump (1.2.0 → 2.0.0)
23
+ - Use conventional commits to determine version bump
24
+
25
+ 2. Automated changelog generation:
26
+ - Generate from conventional commits since last release
27
+ - Group by type: Features, Bug Fixes, Breaking Changes
28
+ - Include PR links and author attributions
29
+ - Update CHANGELOG.md in the repo
30
+
31
+ 3. Release artifacts:
32
+ - Build production bundles (frontend + backend)
33
+ - Generate Docker images tagged with version
34
+ - Create source code archives (zip + tar.gz)
35
+ - Sign artifacts with cosign/sigstore
36
+
37
+ 4. Release workflow triggers:
38
+ - Option A: Automatically release on merge to main (CD)
39
+ - Option B: Manual trigger with version override
40
+ - Option C: Release PR workflow (create a "release PR" that
41
+ shows the changelog for review before publishing)
42
+
43
+ Task: Implement all 3 release workflow options. For each, write: the
44
+ complete workflow YAML, the tooling configuration (semantic-release,
45
+ release-please, or changesets — compare all 3), the changelog format
46
+ and generation logic, and the artifact signing configuration. Recommend
47
+ which option works best for different team sizes and release cadences.
48
+
49
+ assertions:
50
+ - type: llm_judge
51
+ criteria: "Semantic versioning is correctly automated — conventional commits are parsed, version bumps follow semver rules, package.json version is updated, git tag is created, and BREAKING CHANGE triggers a major bump correctly"
52
+ weight: 0.35
53
+ description: "Correct semantic versioning automation"
54
+ - type: llm_judge
55
+ criteria: "Tool comparison is informative — compares semantic-release, release-please, and changesets on features, complexity, customization, and team fit. Makes a clear recommendation for different scenarios (OSS vs enterprise, mono vs multi-repo)"
56
+ weight: 0.35
57
+ description: "Informative tool comparison"
58
+ - type: llm_judge
59
+ criteria: "All 3 workflow options are implemented — automatic CD, manual trigger with override, and release PR workflow are all provided with complete YAML, and the recommendation explains when each is appropriate"
60
+ weight: 0.30
61
+ description: "All release workflow options"