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,62 @@
1
+ meta:
2
+ id: master-debugging-shift
3
+ level: 5
4
+ course: docker-container-debugging
5
+ type: output
6
+ description: "Combined master debugging shift — serve as fractional CTO advising on a complete container platform strategy encompassing technology, people, process, and business alignment"
7
+ tags: [Docker, troubleshooting, combined, shift-simulation, CTO, master]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ You're engaged as a fractional CTO for a Series B startup ($30M
13
+ raised, 80 engineers, growing to 200). They've been running on
14
+ Docker Compose across 5 servers for 2 years. Growing pains are
15
+ severe:
16
+
17
+ Technical challenges:
18
+ - 40 microservices on Docker Compose, manual deployment
19
+ - Last week: wrong image tag deployed, 3-hour outage ($150K impact)
20
+ - No security scanning — audit found 12 CRITICAL CVEs in production
21
+ - Database containers without proper backup — near-miss data loss
22
+ - Developers wait 30+ minutes for CI builds (no caching)
23
+ - No centralized logging — debugging requires SSH to 5 servers
24
+
25
+ People challenges:
26
+ - 2-person DevOps team overwhelmed (they're firefighting 80% of time)
27
+ - Developers have no container training, copy-paste Dockerfiles
28
+ - No on-call rotation — same 2 DevOps engineers handle everything
29
+ - Engineering velocity declining as team grows
30
+
31
+ Business context:
32
+ - Series C fundraising in 9 months — need to demonstrate scalability
33
+ - Enterprise customer prospects require SOC2 compliance
34
+ - Planning international expansion (EU data residency requirements)
35
+ - Board expects 99.95% availability SLA for enterprise tier
36
+
37
+ Budget: $500K for platform investment over next 12 months
38
+ Hiring: Can add 3-4 people
39
+
40
+ The CEO asks: "Give me a 12-month roadmap that gets us to Series C
41
+ ready. We need to stop firefighting and start scaling."
42
+
43
+ Task: Design the comprehensive 12-month roadmap. Write: the phased
44
+ approach (stabilize → automate → scale → optimize), technology
45
+ decisions (stay on Compose? Move to K8s? Use managed services?),
46
+ hiring plan (who to hire first and why), SOC2 compliance path,
47
+ cost breakdown and ROI, risk register with mitigations, and the
48
+ key milestones that demonstrate investor readiness.
49
+
50
+ assertions:
51
+ - type: llm_judge
52
+ criteria: "Phased roadmap is realistic — Month 1-3 (Stabilize): fix critical security CVEs, implement image scanning in CI, set up proper database backups, add health checks, configure log rotation, basic monitoring (Prometheus + Grafana). Month 4-6 (Automate): CI/CD pipeline with automated build/scan/deploy, move to managed Kubernetes (EKS/GKE), centralized logging, on-call rotation. Month 7-9 (Scale): SOC2 controls implementation, multi-region readiness, developer self-service platform. Month 10-12 (Optimize): cost optimization, performance tuning, DR testing, compliance audit. Each phase builds on the previous"
53
+ weight: 0.35
54
+ description: "Phased roadmap"
55
+ - type: llm_judge
56
+ criteria: "Technology and hiring decisions are justified — recommend managed Kubernetes over Compose for 40+ services (Compose doesn't scale operationally). Managed K8s (EKS/GKE) over self-hosted (team too small to manage control plane). Hiring priority: (1) senior platform engineer (lead the migration), (2) security engineer (SOC2 + scanning), (3) SRE (on-call, monitoring, incident response), (4) DevOps engineer (CI/CD, automation). This relieves the existing 2-person team and adds specialization. Budget allocation: $200K tooling, $300K hiring (partial year)"
57
+ weight: 0.35
58
+ description: "Technology and hiring"
59
+ - type: llm_judge
60
+ criteria: "Investor readiness and compliance are addressed — SOC2 Type I achievable in 6-9 months (show controls exist), Type II requires 6+ months of evidence (start collecting immediately). Key investor metrics: 99.95% availability (track from month 3), deployment frequency (daily by month 6), MTTR < 30 minutes, security posture (0 CRITICAL CVEs). EU expansion: GDPR compliance, data residency (EU region deployment). Present to board quarterly: progress against milestones, risk reduction, cost efficiency. Risk register: migration timeline slippage (mitigate: phased approach), hiring delays (mitigate: start immediately), scope creep (mitigate: strict prioritization)"
61
+ weight: 0.30
62
+ description: "Investor readiness"
@@ -0,0 +1,67 @@
1
+ meta:
2
+ id: organizational-transformation
3
+ level: 5
4
+ course: docker-container-debugging
5
+ type: output
6
+ description: "Lead organizational transformation through containerization — manage cultural change, team restructuring, and DevOps transformation alongside container adoption"
7
+ tags: [Docker, organizational-change, DevOps, culture, transformation, leadership, master]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ You're leading container adoption at a 5,000-person enterprise.
13
+ The technology is ready but the organization isn't. Three months
14
+ into the initiative, adoption is stalling:
15
+
16
+ Resistance patterns observed:
17
+
18
+ Operations team (50 people):
19
+ "Containers are a fad. We've managed VMs for 15 years. Why change?"
20
+ Fear: automation will eliminate their jobs.
21
+ Reality: need to transform from VM operators to platform engineers.
22
+
23
+ Development teams (200 people across 30 teams):
24
+ Only 4 teams have adopted containers. Others: "We're too busy
25
+ delivering features to learn new deployment tools."
26
+ Fear: containers add complexity to their already-complex workflow.
27
+ Reality: containers simplify deployment once learned.
28
+
29
+ Security team (10 people):
30
+ "Containers increase our attack surface. We can't audit them."
31
+ Fear: loss of visibility and control.
32
+ Reality: containers can improve security posture with proper tooling.
33
+
34
+ Management:
35
+ CTO sponsors the initiative but middle managers are neutral.
36
+ Project managers: "Container migration isn't in our roadmap."
37
+ No incentives aligned with container adoption.
38
+
39
+ Change management strategy needed:
40
+
41
+ 1. Create urgency — show real costs of current approach
42
+ 2. Build a coalition — identify champions in each group
43
+ 3. Quick wins — solve real pain points first
44
+ 4. Enablement — training, documentation, support
45
+ 5. Incentive alignment — tie container adoption to OKRs
46
+ 6. Celebrate success — publicize wins, recognize adopters
47
+ 7. Sustain — embed in hiring, onboarding, promotion criteria
48
+
49
+ Task: Design the organizational transformation strategy. Write:
50
+ the change management framework, addressing each stakeholder
51
+ group's concerns, training and enablement program, metrics for
52
+ transformation progress, common transformation failure modes,
53
+ and the role of leadership in driving technology adoption.
54
+
55
+ assertions:
56
+ - type: llm_judge
57
+ criteria: "Change management framework is structured — use Kotter's 8-step model or similar: create urgency (show competitor advantage, calculate cost of status quo), build coalition (executive sponsor + tech leads from willing teams + operations champion), quick wins (solve a visible pain point in 30 days), scale (expand from pilot teams to adjacent teams). Transformation timeline: 12-18 months for meaningful adoption, 3-5 years for full organizational shift. Don't announce a 'container mandate' — enable and incentivize instead"
58
+ weight: 0.35
59
+ description: "Change framework"
60
+ - type: llm_judge
61
+ criteria: "Stakeholder-specific strategies are empathetic — operations: retrain as platform engineers (higher-value role, not elimination), pair with developers, give ownership of the container platform. Developers: provide golden paths (make containers easier than current approach), don't ask teams to stop feature work — integrate container adoption into existing projects. Security: give better tools (runtime monitoring, automated scanning gives more visibility than VMs), involve in platform design. Management: show metrics (deployment speed, incident reduction), align with business OKRs"
62
+ weight: 0.35
63
+ description: "Stakeholder strategies"
64
+ - type: llm_judge
65
+ criteria: "Failure modes and measurement are realistic — common failures: mandating adoption without enablement, moving too fast (teams overwhelmed), moving too slow (initiative loses momentum), not investing in platform team (adoption stalls without support), not celebrating wins (no positive reinforcement). Measure: adoption rate (% services containerized), developer satisfaction (NPS), deployment frequency per team, time to onboard new service, support ticket volume for container issues. Transformation is a people problem, not a technology problem — treat it accordingly"
66
+ weight: 0.30
67
+ description: "Failures and measurement"
@@ -0,0 +1,61 @@
1
+ meta:
2
+ id: regulatory-compliance-containers
3
+ level: 5
4
+ course: docker-container-debugging
5
+ type: output
6
+ description: "Design regulatory compliance for containers — implement controls for SOC2, PCI-DSS, HIPAA, and FedRAMP in containerized environments"
7
+ tags: [Docker, compliance, SOC2, PCI-DSS, HIPAA, FedRAMP, regulation, master]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ Your company is pursuing SOC2 Type II certification and PCI-DSS
13
+ compliance. The auditor has questions about your container platform:
14
+
15
+ Auditor question 1: "How do you ensure only authorized images
16
+ run in production?"
17
+ Current answer: "We trust our developers." (Not acceptable)
18
+ Required: Image signing, admission control, approved registry list.
19
+
20
+ Auditor question 2: "How do you track who deployed what and when?"
21
+ Current answer: "We can check git history." (Insufficient)
22
+ Required: Immutable audit logs of all deployment actions with
23
+ identity, timestamp, image digest, and approval chain.
24
+
25
+ Auditor question 3: "How do you ensure containers don't contain
26
+ known vulnerabilities?"
27
+ Current answer: "We scan periodically." (When? How? What's the SLA?)
28
+ Required: Automated scanning in CI/CD with defined severity thresholds,
29
+ documented exception process, SLA for patching (CRITICAL: 24h,
30
+ HIGH: 7d, MEDIUM: 30d).
31
+
32
+ Auditor question 4: "How do you isolate cardholder data environments?"
33
+ Current answer: "Different Docker network." (Insufficient for PCI)
34
+ Required: Network segmentation with documented firewall rules,
35
+ encrypted communication (mTLS), access logging, separate
36
+ infrastructure for CDE.
37
+
38
+ Auditor question 5: "How do you handle secrets and encryption keys?"
39
+ Current answer: "Environment variables in Docker Compose."
40
+ Required: Dedicated secrets manager (Vault), encryption at rest,
41
+ rotation policy, access auditing.
42
+
43
+ Task: Design compliance controls for containerized environments.
44
+ Write: control mappings for SOC2 and PCI-DSS, image governance
45
+ (signing, scanning, admission), audit logging architecture,
46
+ network segmentation for compliance, secrets management, and the
47
+ continuous compliance monitoring approach.
48
+
49
+ assertions:
50
+ - type: llm_judge
51
+ criteria: "Control mappings are specific — SOC2: CC6.1 (logical access) → RBAC, namespace isolation, registry access control. CC7.1 (monitoring) → container runtime monitoring, audit logs. CC8.1 (change management) → GitOps, immutable images, deployment approvals. PCI-DSS: Requirement 2 (secure configuration) → hardened container images, CIS benchmarks. Requirement 6 (secure development) → image scanning in CI. Requirement 10 (logging) → centralized audit logs with tamper protection. Requirement 11 (testing) → regular vulnerability scanning"
52
+ weight: 0.35
53
+ description: "Control mappings"
54
+ - type: llm_judge
55
+ criteria: "Image governance and audit are covered — image lifecycle: build → scan → sign → approve → deploy. Admission controller (OPA/Kyverno) rejects unsigned or unscanned images. Approved registry allowlist prevents pulling from public registries. Audit logging: every docker/kubectl command logged with identity (who), action (what), resource (which container/image), timestamp (when), result (success/fail). Logs must be immutable (append-only, shipped to SIEM). Retention: 1 year minimum for SOC2, as defined by PCI-DSS"
56
+ weight: 0.35
57
+ description: "Governance and audit"
58
+ - type: llm_judge
59
+ criteria: "Network and secrets compliance are practical — PCI CDE isolation: separate cluster or namespace with strict network policies. mTLS between all services in CDE (service mesh). No direct internet access from CDE containers. Secrets: HashiCorp Vault or cloud KMS, automatic rotation, access auditing, encryption at rest. Never in environment variables, Docker Compose files, or image layers. Continuous compliance: automated scanning against CIS Docker Benchmark, regular penetration testing, compliance dashboards for auditors, automated evidence collection"
60
+ weight: 0.30
61
+ description: "Network and secrets"
@@ -0,0 +1,10 @@
1
+ id: github-actions-cicd
2
+ name: "GitHub Actions CI/CD Setup"
3
+ description: >
4
+ Master GitHub Actions for continuous integration and continuous
5
+ deployment. Learn workflow syntax, triggers, runners, caching,
6
+ matrix builds, reusable workflows, security hardening, deployment
7
+ strategies, self-hosted runners, and enterprise CI/CD operations.
8
+ levels: 5
9
+ scenarios_per_level: 10
10
+ tags: [development, GitHub, actions, CI/CD, automation, deployment, DevOps]
@@ -0,0 +1,58 @@
1
+ meta:
2
+ id: actions-and-runners
3
+ level: 1
4
+ course: github-actions-cicd
5
+ type: output
6
+ description: "Use actions and runners — understand GitHub-hosted runners, marketplace actions, and how to compose steps effectively"
7
+ tags: [github, actions, runners, marketplace, setup-actions, basics]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ You're building a CI workflow for a full-stack TypeScript project
13
+ (React frontend + Express backend) and need to understand how to use
14
+ actions and runners effectively.
15
+
16
+ The project needs:
17
+ - Node.js 20 for the application
18
+ - PostgreSQL for integration tests
19
+ - Redis for caching tests
20
+ - The workflow should work on both ubuntu-latest and macos-latest
21
+ - Artifacts: upload test coverage reports and build output
22
+
23
+ Your teammate has questions about actions and runners:
24
+
25
+ Question 1: "What's the difference between 'uses' and 'run' in a
26
+ step? When should I use each?"
27
+
28
+ Question 2: "I see actions like 'actions/checkout@v4' — what does
29
+ the @v4 mean? Should I use @v4, @main, or a specific SHA?"
30
+
31
+ Question 3: "How do I add PostgreSQL and Redis as services in my
32
+ workflow? I heard you can run Docker containers alongside your job."
33
+
34
+ Question 4: "What are the resource limits of GitHub-hosted runners?
35
+ When would we need self-hosted runners?"
36
+
37
+ Question 5: "How do I share files between jobs? My build job
38
+ produces artifacts that the deploy job needs."
39
+
40
+ Task: Write a complete workflow that demonstrates: using marketplace
41
+ actions (checkout, setup-node, upload-artifact, download-artifact),
42
+ service containers (PostgreSQL and Redis), multi-OS matrix, and
43
+ artifact sharing between jobs. Answer all 5 questions with practical
44
+ examples from the workflow you wrote.
45
+
46
+ assertions:
47
+ - type: llm_judge
48
+ criteria: "Workflow correctly uses service containers — PostgreSQL and Redis are defined as services with proper image, ports, env vars, and health checks. The application connects to services using localhost or service names correctly"
49
+ weight: 0.35
50
+ description: "Correct service container configuration"
51
+ - type: llm_judge
52
+ criteria: "All 5 questions are answered accurately — uses vs run distinction, action versioning (@v4 vs SHA pinning with security trade-offs), service containers syntax, runner resource limits (7GB RAM, 14GB SSD, 2 CPU for ubuntu), and artifact upload/download for cross-job file sharing"
53
+ weight: 0.35
54
+ description: "Accurate answers to all questions"
55
+ - type: llm_judge
56
+ criteria: "Workflow demonstrates practical patterns — multi-OS matrix, artifact upload in build job and download in deploy job, proper action version pinning, and the workflow would run successfully in a real repository"
57
+ weight: 0.30
58
+ description: "Practical workflow patterns"
@@ -0,0 +1,52 @@
1
+ meta:
2
+ id: basic-workflow-syntax
3
+ level: 1
4
+ course: github-actions-cicd
5
+ type: output
6
+ description: "Write basic GitHub Actions workflows — learn YAML structure, jobs, steps, and runners to create your first CI pipeline"
7
+ tags: [github, actions, workflow, YAML, CI, basics]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ You're setting up GitHub Actions for a new Node.js project for the
13
+ first time. The team needs a CI workflow that runs on every push and
14
+ pull request. The project uses Node.js 20, npm for package management,
15
+ and has lint, test, and build scripts defined in package.json.
16
+
17
+ Requirements:
18
+ 1. File location: .github/workflows/ci.yml
19
+ 2. Triggers: push to main branch AND all pull requests
20
+ 3. Runner: ubuntu-latest
21
+ 4. Steps needed:
22
+ - Check out the repository code
23
+ - Set up Node.js 20
24
+ - Install dependencies with npm ci
25
+ - Run linting (npm run lint)
26
+ - Run tests (npm test)
27
+ - Build the project (npm run build)
28
+ 5. Include a descriptive workflow name
29
+ 6. Set NODE_ENV=test as an environment variable for the test step
30
+
31
+ Additionally, a teammate asks these questions:
32
+ - "What's the difference between 'npm install' and 'npm ci' in CI?"
33
+ - "Why do we use 'actions/checkout@v4' instead of just cloning?"
34
+ - "Should lint, test, and build be separate jobs or steps in one job?"
35
+
36
+ Task: Write the complete workflow YAML file and answer all 3 questions.
37
+ Explain the purpose of each section of the workflow (name, on, jobs,
38
+ steps) and note any best practices you're following.
39
+
40
+ assertions:
41
+ - type: llm_judge
42
+ criteria: "Workflow YAML is correct and complete — proper indentation, name/on/jobs structure, correct trigger syntax for push (main) and pull_request, uses actions/checkout@v4 and actions/setup-node@v4 with node-version: 20, all 6 steps present, NODE_ENV set correctly"
43
+ weight: 0.35
44
+ description: "Correct and complete workflow YAML"
45
+ - type: llm_judge
46
+ criteria: "Questions are answered accurately — npm ci vs npm install (ci uses lockfile, faster, clean install), actions/checkout provides optimized shallow clone with auth token, and the single-job-vs-multiple-jobs trade-off is explained (single job is simpler for small projects, multiple jobs allow parallelism)"
47
+ weight: 0.35
48
+ description: "Accurate question answers"
49
+ - type: llm_judge
50
+ criteria: "Best practices are explained — why npm ci is preferred in CI, why action versions should be pinned, why ubuntu-latest is the default choice, and each workflow section is explained clearly for someone new to GitHub Actions"
51
+ weight: 0.30
52
+ description: "Best practices explanation"
@@ -0,0 +1,63 @@
1
+ meta:
2
+ id: branch-protection-checks
3
+ level: 1
4
+ course: github-actions-cicd
5
+ type: output
6
+ description: "Set up branch protection with status checks — configure required CI checks that must pass before merging PRs"
7
+ tags: [github, actions, branch-protection, status-checks, merge-requirements, basics]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ You're the tech lead setting up branch protection for your team's
13
+ repository. Currently, anyone can push directly to main and merge
14
+ PRs without CI passing. After a broken deployment last week, the
15
+ team agreed to enforce CI checks.
16
+
17
+ Repository setup:
18
+ - Main branch: production deployments happen from here
19
+ - Develop branch: integration branch for features
20
+ - Feature branches: individual developer work
21
+
22
+ CI workflow (already exists):
23
+ - Job "lint": ESLint + TypeScript checks
24
+ - Job "test": Jest unit tests
25
+ - Job "e2e": Cypress E2E tests (sometimes flaky)
26
+ - Job "build": Production build
27
+
28
+ Requirements:
29
+ 1. No direct pushes to main (all changes via PR)
30
+ 2. At least 1 code review approval required
31
+ 3. Required status checks before merging:
32
+ - lint must pass (always)
33
+ - test must pass (always)
34
+ - build must pass (always)
35
+ - e2e should be required but has a 10% flaky failure rate
36
+ 4. Dismiss stale reviews when new commits are pushed
37
+ 5. Require branches to be up to date with main before merging
38
+ 6. Allow repository admins to bypass in emergencies
39
+
40
+ The team debates:
41
+ - "Should we make e2e tests required if they're flaky?"
42
+ - "What about hotfixes — do we need a fast path?"
43
+ - "How do we handle merge conflicts with 'require up to date'?"
44
+
45
+ Task: Write the complete branch protection configuration (as you
46
+ would set it in GitHub Settings or via the API), address the 3 team
47
+ debates with recommendations, explain how status checks interact
48
+ with GitHub Actions job names, and describe the developer workflow
49
+ under these new rules (from creating a branch to merging a PR).
50
+
51
+ assertions:
52
+ - type: llm_judge
53
+ criteria: "Branch protection config is complete — requires PR, required reviewers (1), dismisses stale reviews, requires status checks (lint, test, build), requires branch up-to-date, and admin bypass is configured. The config is expressed clearly (either UI steps or API payload)"
54
+ weight: 0.35
55
+ description: "Complete branch protection config"
56
+ - type: llm_judge
57
+ criteria: "Team debates are resolved pragmatically — the flaky e2e question gets a nuanced answer (make required but add retry, or make non-required but track), hotfix fast-path is defined (admin bypass with post-merge review), and merge conflict mitigation is addressed (merge queue or frequent rebasing)"
58
+ weight: 0.35
59
+ description: "Pragmatic debate resolution"
60
+ - type: llm_judge
61
+ criteria: "Status check naming is explained — clarifies that required checks match job names in the workflow YAML, explains what happens when a workflow is skipped (path filters), and the developer workflow is described step-by-step from branch creation to merge"
62
+ weight: 0.30
63
+ description: "Clear status check and workflow explanation"
@@ -0,0 +1,65 @@
1
+ meta:
2
+ id: environment-variables-secrets
3
+ level: 1
4
+ course: github-actions-cicd
5
+ type: output
6
+ description: "Manage environment variables and secrets — configure secrets, env vars, and contexts safely in GitHub Actions workflows"
7
+ tags: [github, actions, secrets, environment-variables, security, basics]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ You're setting up environment variables and secrets for a project
13
+ that deploys to AWS and uses a PostgreSQL database. The team has
14
+ been hardcoding values in their workflows and you need to fix this.
15
+
16
+ Current (insecure) workflow snippet:
17
+ ```yaml
18
+ jobs:
19
+ deploy:
20
+ runs-on: ubuntu-latest
21
+ steps:
22
+ - run: |
23
+ export AWS_ACCESS_KEY_ID=AKIA1234567890
24
+ export AWS_SECRET_ACCESS_KEY=wJalr+secret+key
25
+ export DATABASE_URL=postgres://admin:password123@db.example.com/prod
26
+ npm run deploy
27
+ ```
28
+
29
+ Requirements:
30
+ 1. Move all sensitive values to GitHub Secrets
31
+ 2. Use repository-level secrets for AWS credentials
32
+ 3. Use environment-level secrets for database URLs (different per
33
+ environment: staging vs production)
34
+ 4. Set non-sensitive configuration as environment variables (NODE_ENV,
35
+ LOG_LEVEL, APP_VERSION)
36
+ 5. Make the GitHub Actions run number available as APP_VERSION
37
+ 6. Explain the secret masking behavior (what happens if a secret
38
+ is accidentally printed to logs)
39
+
40
+ Your teammate asks:
41
+ - "What's the difference between repository secrets, environment
42
+ secrets, and organization secrets?"
43
+ - "Can I use secrets in if: conditions or as part of action inputs?"
44
+ - "How do I pass secrets to a Docker container step?"
45
+ - "What happens if I fork a repo — can the fork access the secrets?"
46
+
47
+ Task: Rewrite the workflow to use secrets and environment variables
48
+ correctly. Show: the GitHub Secrets configuration needed (which
49
+ secrets at which level), the corrected workflow YAML, the answers
50
+ to all 4 teammate questions, and a security checklist for secrets
51
+ in GitHub Actions.
52
+
53
+ assertions:
54
+ - type: llm_judge
55
+ criteria: "Secrets are correctly configured — AWS credentials use repository or organization secrets (secrets.AWS_ACCESS_KEY_ID), database URLs use environment-level secrets, the workflow references secrets with ${{ secrets.NAME }} syntax, and no hardcoded sensitive values remain"
56
+ weight: 0.35
57
+ description: "Correct secrets configuration"
58
+ - type: llm_judge
59
+ criteria: "All 4 questions are answered accurately — explains the 3 secret scopes (repo/env/org) with inheritance rules, limitations of secrets in if: conditions, env: for Docker container steps, and fork security (secrets not available to forks in PRs from forks)"
60
+ weight: 0.35
61
+ description: "Accurate question answers"
62
+ - type: llm_judge
63
+ criteria: "Security best practices are covered — secret masking behavior, the GITHUB_TOKEN automatic secret, least-privilege principle for secrets, rotation strategy, and the security checklist includes at least 5 actionable items"
64
+ weight: 0.30
65
+ description: "Security best practices"
@@ -0,0 +1,62 @@
1
+ meta:
2
+ id: first-cicd-shift
3
+ level: 1
4
+ course: github-actions-cicd
5
+ type: output
6
+ description: "First CI/CD shift — handle a batch of CI/CD setup tasks and troubleshooting requests as the team's GitHub Actions go-to person"
7
+ tags: [github, actions, shift-simulation, troubleshooting, batch, basics]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ You're the designated GitHub Actions person for your team this week.
13
+ You have 5 requests to handle.
14
+
15
+ Request 1 — New project setup (from the tech lead):
16
+ "We're starting a new Python project (FastAPI + PostgreSQL). Need a
17
+ basic CI workflow: lint with ruff, type-check with mypy, test with
18
+ pytest, and build a Docker image. Use Python 3.12. We also need
19
+ PostgreSQL as a service container for integration tests."
20
+
21
+ Request 2 — Flaky test investigation (from a frustrated developer):
22
+ "My E2E tests pass locally but fail randomly in CI. About 30% of
23
+ the time. The error is always 'connection refused' when trying to
24
+ reach the API server. The workflow starts the server with
25
+ 'npm start &' and immediately runs tests. I think it's a timing
26
+ issue."
27
+
28
+ Request 3 — Cost optimization (from the engineering manager):
29
+ "Our GitHub Actions bill jumped from $200 to $800 this month. Can
30
+ you figure out why and fix it? I see we have 15 workflows and some
31
+ run on every push to every branch."
32
+
33
+ Request 4 — Secret rotation (from the security team):
34
+ "We're rotating all AWS credentials. Please update the GitHub Secrets
35
+ and make sure the deployment workflow uses the new credentials
36
+ without any downtime. Also, we found that the old credentials are
37
+ hardcoded in a workflow file. Remove them."
38
+
39
+ Request 5 — Status badge request (from the PM):
40
+ "Can you add a CI status badge to our README? Also, the deploys page
41
+ should show the current deployed version. Can GitHub Actions help
42
+ with that?"
43
+
44
+ Task: Handle all 5 requests. For each, write: the solution (workflow
45
+ YAML, configuration, or investigation steps), the explanation (so
46
+ the requester understands what you did), and any follow-up
47
+ recommendations. Prioritize the requests by urgency and explain
48
+ your prioritization.
49
+
50
+ assertions:
51
+ - type: llm_judge
52
+ criteria: "Priority order is sensible — secret rotation (security) and flaky test (blocking developer) are higher priority than cost optimization and badge requests. The hardcoded credentials in Request 4 are flagged as critical"
53
+ weight: 0.35
54
+ description: "Sensible priority order"
55
+ - type: llm_judge
56
+ criteria: "Solutions are technically correct — Python CI workflow uses correct setup-python and service container syntax, flaky test fix uses wait-for-it or health check before running tests, cost optimization identifies unnecessary triggers and suggests path filters/concurrency"
57
+ weight: 0.35
58
+ description: "Technically correct solutions"
59
+ - type: llm_judge
60
+ criteria: "Explanations are accessible — each response is written for the specific requester's context (tech lead gets YAML, frustrated developer gets root cause, manager gets cost breakdown, security gets rotation procedure, PM gets badge markdown)"
61
+ weight: 0.30
62
+ description: "Context-appropriate explanations"
@@ -0,0 +1,62 @@
1
+ meta:
2
+ id: job-dependencies-outputs
3
+ level: 1
4
+ course: github-actions-cicd
5
+ type: output
6
+ description: "Configure job dependencies and outputs — use needs, outputs, and conditional execution to create structured workflow graphs"
7
+ tags: [github, actions, jobs, needs, outputs, conditional, basics]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ You're building a deployment workflow that requires careful job
13
+ orchestration. Different jobs need to pass data to each other and
14
+ execute conditionally.
15
+
16
+ Workflow requirements:
17
+ 1. Job: "determine-changes" — Detect what changed in the PR
18
+ - Output: "backend_changed" (true/false)
19
+ - Output: "frontend_changed" (true/false)
20
+ - Output: "infra_changed" (true/false)
21
+ - Uses git diff to check which directories have changes
22
+
23
+ 2. Job: "test-backend" — Only runs if backend code changed
24
+ - Needs: determine-changes
25
+ - Condition: only if backend_changed == 'true'
26
+ - Output: "test_status" (passed/failed)
27
+
28
+ 3. Job: "test-frontend" — Only runs if frontend code changed
29
+ - Needs: determine-changes
30
+ - Condition: only if frontend_changed == 'true'
31
+ - Output: "test_status" (passed/failed)
32
+
33
+ 4. Job: "deploy" — Runs only if relevant tests passed
34
+ - Needs: test-backend AND test-frontend
35
+ - Should run even if one of the test jobs was skipped (because
36
+ that directory didn't change)
37
+ - Should NOT run if any test job actually failed
38
+
39
+ 5. Job: "notify" — Always runs, even if previous jobs fail
40
+ - Reports the final status to Slack
41
+ - Needs access to outputs from all previous jobs
42
+
43
+ Task: Write the complete workflow YAML. Explain: how to set and
44
+ read job outputs (the $GITHUB_OUTPUT syntax), how 'needs' creates
45
+ the dependency graph, how 'if' conditions work with job outputs and
46
+ status functions (success(), failure(), always(), cancelled()), and
47
+ the tricky behavior when a needed job is skipped (the deploy job
48
+ scenario).
49
+
50
+ assertions:
51
+ - type: llm_judge
52
+ criteria: "Job outputs are correctly configured — uses echo 'key=value' >> $GITHUB_OUTPUT syntax, outputs are declared in job-level outputs section, and downstream jobs reference them correctly with needs.<job>.outputs.<name>"
53
+ weight: 0.35
54
+ description: "Correct job output configuration"
55
+ - type: llm_judge
56
+ criteria: "Conditional execution handles the tricky cases — the deploy job runs when tests pass OR are skipped (not failed), using the correct combination of if: conditions and status check functions. The notify job uses if: always() to run regardless"
57
+ weight: 0.35
58
+ description: "Correct conditional execution"
59
+ - type: llm_judge
60
+ criteria: "Explanations clarify confusing behaviors — explains that skipped jobs cause downstream 'needs' jobs to also skip by default, how to use 'if: always()' or '!cancelled()' to override, and the difference between a job being skipped vs failing"
61
+ weight: 0.30
62
+ description: "Clear behavior explanations"
@@ -0,0 +1,57 @@
1
+ meta:
2
+ id: simple-ci-pipeline
3
+ level: 1
4
+ course: github-actions-cicd
5
+ type: output
6
+ description: "Build a simple CI pipeline — create a complete lint, test, and build pipeline with proper job dependencies and failure handling"
7
+ tags: [github, actions, CI, pipeline, lint, test, build, basics]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ You're creating a CI pipeline for a React + TypeScript project.
13
+ The pipeline should catch issues before code is merged to main.
14
+
15
+ Project setup:
16
+ - React 18 with TypeScript
17
+ - ESLint for linting
18
+ - Jest for unit tests
19
+ - Cypress for E2E tests (runs against a dev server)
20
+ - Vite for building
21
+
22
+ Pipeline requirements:
23
+ 1. Lint job: Run ESLint and TypeScript type checking
24
+ 2. Unit test job: Run Jest with coverage report
25
+ 3. E2E test job: Start dev server, run Cypress tests, upload
26
+ screenshots on failure
27
+ 4. Build job: Only run if lint and unit tests pass
28
+ 5. The E2E tests should run in parallel with (not blocked by) the
29
+ build job
30
+ 6. If any job fails, the PR should show a red status check
31
+ 7. Cache node_modules to speed up subsequent runs
32
+
33
+ Additional context:
34
+ - The team currently runs everything locally before pushing, but
35
+ developers sometimes skip steps. The CI should be the safety net.
36
+ - E2E tests are flaky — about 10% failure rate. The team wants to
37
+ retry failed E2E tests once before marking as failed.
38
+
39
+ Task: Write the complete CI workflow. Include: the workflow YAML with
40
+ all 4 jobs and proper dependencies (needs), the caching configuration
41
+ for node_modules, the E2E test configuration with retry and failure
42
+ artifact upload, and an explanation of the job dependency graph
43
+ (which jobs run in parallel, which are sequential).
44
+
45
+ assertions:
46
+ - type: llm_judge
47
+ criteria: "Job dependencies are correct — lint and unit tests can run in parallel, build needs lint + unit tests to pass, E2E runs independently or after lint, and the dependency graph is explicitly explained with a visual or textual representation"
48
+ weight: 0.35
49
+ description: "Correct job dependencies"
50
+ - type: llm_judge
51
+ criteria: "Caching and retry are properly configured — uses actions/cache or setup-node cache for node_modules with correct cache key (hash of package-lock.json), E2E test step has retry logic (either via Cypress retry or step-level continue-on-error with re-run), and failure artifacts are uploaded"
52
+ weight: 0.35
53
+ description: "Proper caching and retry configuration"
54
+ - type: llm_judge
55
+ criteria: "Pipeline is practical and complete — all 4 jobs have correct steps, the E2E test starts a dev server before running Cypress, coverage reports are generated, and the workflow would work in a real React + TypeScript project without modification"
56
+ weight: 0.30
57
+ description: "Practical complete pipeline"