blockmine 1.21.0 → 1.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (492) hide show
  1. package/.claude/agents/README.md +469 -0
  2. package/.claude/agents/auth-route-debugger.md +118 -0
  3. package/.claude/agents/auth-route-tester.md +93 -0
  4. package/.claude/agents/auto-error-resolver.md +97 -0
  5. package/.claude/agents/build-optimizer.md +236 -0
  6. package/.claude/agents/code-architecture-reviewer.md +83 -0
  7. package/.claude/agents/code-refactor-master.md +94 -0
  8. package/.claude/agents/cost-optimizer.md +134 -0
  9. package/.claude/agents/deployment-orchestrator.md +113 -0
  10. package/.claude/agents/documentation-architect.md +82 -0
  11. package/.claude/agents/frontend-error-fixer.md +77 -0
  12. package/.claude/agents/iac-code-generator.md +71 -0
  13. package/.claude/agents/incident-responder.md +346 -0
  14. package/.claude/agents/infrastructure-architect.md +31 -0
  15. package/.claude/agents/kubernetes-specialist.md +56 -0
  16. package/.claude/agents/migration-planner.md +181 -0
  17. package/.claude/agents/network-architect.md +196 -0
  18. package/.claude/agents/plan-reviewer.md +52 -0
  19. package/.claude/agents/refactor-planner.md +63 -0
  20. package/.claude/agents/security-scanner.md +102 -0
  21. package/.claude/agents/web-research-specialist.md +78 -0
  22. package/.claude/commands/cost-analysis.md +315 -0
  23. package/.claude/commands/dev-docs-update.md +55 -0
  24. package/.claude/commands/dev-docs.md +51 -0
  25. package/.claude/commands/incident-debug.md +247 -0
  26. package/.claude/commands/infra-plan.md +81 -0
  27. package/.claude/commands/migration-plan.md +478 -0
  28. package/.claude/commands/route-research-for-testing.md +37 -0
  29. package/.claude/commands/security-review.md +66 -0
  30. package/.claude/hooks/CONFIG.md +448 -0
  31. package/.claude/hooks/README.md +163 -0
  32. package/.claude/hooks/SKILL_ACTIVATION_COMPLETE.md +226 -0
  33. package/.claude/hooks/WINDOWS_HOOKS_README.md +151 -0
  34. package/.claude/hooks/add-skill-activation-banners.ts +132 -0
  35. package/.claude/hooks/comprehensive-skill-test.ts +1315 -0
  36. package/.claude/hooks/error-handling-reminder.sh +12 -0
  37. package/.claude/hooks/error-handling-reminder.ts +222 -0
  38. package/.claude/hooks/k8s-manifest-validator.sh +56 -0
  39. package/.claude/hooks/package-lock.json +556 -0
  40. package/.claude/hooks/package.json +16 -0
  41. package/.claude/hooks/post-tool-use-tracker.ps1 +174 -0
  42. package/.claude/hooks/post-tool-use-tracker.sh +183 -0
  43. package/.claude/hooks/security-policy-check.sh +247 -0
  44. package/.claude/hooks/skill-activation-prompt.ps1 +10 -0
  45. package/.claude/hooks/skill-activation-prompt.sh +10 -0
  46. package/.claude/hooks/skill-activation-prompt.ts +141 -0
  47. package/.claude/hooks/stop-build-check-enhanced.sh +130 -0
  48. package/.claude/hooks/terraform-validator.sh +53 -0
  49. package/.claude/hooks/test-input.json +7 -0
  50. package/.claude/hooks/test-skill-activation.ts +427 -0
  51. package/.claude/hooks/trigger-build-resolver.sh +79 -0
  52. package/.claude/hooks/tsc-check.sh +173 -0
  53. package/.claude/hooks/tsconfig.json +19 -0
  54. package/.claude/settings.json +59 -0
  55. package/.claude/settings.local.json +36 -14
  56. package/.claude/skills/README.md +507 -0
  57. package/.claude/skills/api-engineering/SKILL.md +63 -0
  58. package/.claude/skills/api-engineering/resources/api-versioning.md +88 -0
  59. package/.claude/skills/api-engineering/resources/graphql-patterns.md +106 -0
  60. package/.claude/skills/api-engineering/resources/rate-limiting.md +118 -0
  61. package/.claude/skills/api-engineering/resources/rest-api-design.md +105 -0
  62. package/.claude/skills/backend-dev-guidelines/SKILL.md +306 -0
  63. package/.claude/skills/backend-dev-guidelines/resources/architecture-overview.md +451 -0
  64. package/.claude/skills/backend-dev-guidelines/resources/async-and-errors.md +307 -0
  65. package/.claude/skills/backend-dev-guidelines/resources/complete-examples.md +638 -0
  66. package/.claude/skills/backend-dev-guidelines/resources/configuration.md +275 -0
  67. package/.claude/skills/backend-dev-guidelines/resources/database-patterns.md +224 -0
  68. package/.claude/skills/backend-dev-guidelines/resources/middleware-guide.md +213 -0
  69. package/.claude/skills/backend-dev-guidelines/resources/routing-and-controllers.md +756 -0
  70. package/.claude/skills/backend-dev-guidelines/resources/sentry-and-monitoring.md +336 -0
  71. package/.claude/skills/backend-dev-guidelines/resources/services-and-repositories.md +789 -0
  72. package/.claude/skills/backend-dev-guidelines/resources/testing-guide.md +235 -0
  73. package/.claude/skills/backend-dev-guidelines/resources/validation-patterns.md +754 -0
  74. package/.claude/skills/budget-and-cost-management/SKILL.md +850 -0
  75. package/.claude/skills/build-engineering/SKILL.md +431 -0
  76. package/.claude/skills/build-engineering/resources/artifact-repositories.md +72 -0
  77. package/.claude/skills/build-engineering/resources/build-caching.md +96 -0
  78. package/.claude/skills/build-engineering/resources/build-pipelines.md +105 -0
  79. package/.claude/skills/build-engineering/resources/build-security.md +95 -0
  80. package/.claude/skills/build-engineering/resources/build-systems.md +389 -0
  81. package/.claude/skills/build-engineering/resources/compilation-optimization.md +201 -0
  82. package/.claude/skills/build-engineering/resources/dependency-management.md +73 -0
  83. package/.claude/skills/build-engineering/resources/monorepo-builds.md +110 -0
  84. package/.claude/skills/build-engineering/resources/performance-optimization.md +113 -0
  85. package/.claude/skills/build-engineering/resources/reproducible-builds.md +82 -0
  86. package/.claude/skills/cloud-engineering/SKILL.md +675 -0
  87. package/.claude/skills/cloud-engineering/resources/aws-patterns.md +742 -0
  88. package/.claude/skills/cloud-engineering/resources/azure-patterns.md +714 -0
  89. package/.claude/skills/cloud-engineering/resources/cleared-cloud-environments.md +987 -0
  90. package/.claude/skills/cloud-engineering/resources/cloud-cost-optimization.md +757 -0
  91. package/.claude/skills/cloud-engineering/resources/cloud-networking.md +1058 -0
  92. package/.claude/skills/cloud-engineering/resources/cloud-security-tools.md +1530 -0
  93. package/.claude/skills/cloud-engineering/resources/cloud-security.md +990 -0
  94. package/.claude/skills/cloud-engineering/resources/gcp-patterns.md +758 -0
  95. package/.claude/skills/cloud-engineering/resources/migration-strategies.md +820 -0
  96. package/.claude/skills/cloud-engineering/resources/multi-cloud-strategies.md +670 -0
  97. package/.claude/skills/cloud-engineering/resources/oci-patterns.md +1198 -0
  98. package/.claude/skills/cloud-engineering/resources/serverless-patterns.md +795 -0
  99. package/.claude/skills/cloud-engineering/resources/well-architected-frameworks.md +966 -0
  100. package/.claude/skills/cybersecurity/SKILL.md +409 -0
  101. package/.claude/skills/cybersecurity/resources/security-architecture.md +266 -0
  102. package/.claude/skills/database-engineering/SKILL.md +61 -0
  103. package/.claude/skills/database-engineering/resources/backup-and-recovery.md +72 -0
  104. package/.claude/skills/database-engineering/resources/database-replication.md +63 -0
  105. package/.claude/skills/database-engineering/resources/postgresql-fundamentals.md +70 -0
  106. package/.claude/skills/database-engineering/resources/query-optimization.md +68 -0
  107. package/.claude/skills/devsecops/SKILL.md +374 -0
  108. package/.claude/skills/devsecops/resources/ci-cd-security.md +204 -0
  109. package/.claude/skills/devsecops/resources/compliance-automation.md +530 -0
  110. package/.claude/skills/devsecops/resources/compliance-frameworks.md +2322 -0
  111. package/.claude/skills/devsecops/resources/container-security.md +915 -0
  112. package/.claude/skills/devsecops/resources/cspm-integration.md +1440 -0
  113. package/.claude/skills/devsecops/resources/policy-enforcement.md +619 -0
  114. package/.claude/skills/devsecops/resources/secrets-management.md +755 -0
  115. package/.claude/skills/devsecops/resources/security-monitoring.md +146 -0
  116. package/.claude/skills/devsecops/resources/security-scanning.md +887 -0
  117. package/.claude/skills/devsecops/resources/security-testing.md +203 -0
  118. package/.claude/skills/devsecops/resources/supply-chain-security.md +518 -0
  119. package/.claude/skills/devsecops/resources/vulnerability-management.md +481 -0
  120. package/.claude/skills/devsecops/resources/zero-trust-architecture.md +177 -0
  121. package/.claude/skills/documentation-as-code/SKILL.md +323 -0
  122. package/.claude/skills/documentation-as-code/resources/api-documentation.md +90 -0
  123. package/.claude/skills/documentation-as-code/resources/changelog-management.md +79 -0
  124. package/.claude/skills/documentation-as-code/resources/diagram-generation.md +44 -0
  125. package/.claude/skills/documentation-as-code/resources/docs-as-code-workflow.md +99 -0
  126. package/.claude/skills/documentation-as-code/resources/documentation-automation.md +68 -0
  127. package/.claude/skills/documentation-as-code/resources/documentation-sites.md +79 -0
  128. package/.claude/skills/documentation-as-code/resources/markdown-best-practices.md +162 -0
  129. package/.claude/skills/documentation-as-code/resources/openapi-specification.md +77 -0
  130. package/.claude/skills/documentation-as-code/resources/readme-engineering.md +60 -0
  131. package/.claude/skills/documentation-as-code/resources/technical-writing-guide.md +202 -0
  132. package/.claude/skills/engineering-management/SKILL.md +356 -0
  133. package/.claude/skills/engineering-management/resources/career-ladders.md +609 -0
  134. package/.claude/skills/engineering-management/resources/hiring-and-assessment.md +555 -0
  135. package/.claude/skills/engineering-management/resources/one-on-one-guides.md +609 -0
  136. package/.claude/skills/engineering-management/resources/resource-planning.md +557 -0
  137. package/.claude/skills/engineering-management/resources/team-organization-patterns.md +491 -0
  138. package/.claude/skills/engineering-management/resources/technical-interviews.md +474 -0
  139. package/.claude/skills/engineering-operations-management/SKILL.md +817 -0
  140. package/.claude/skills/error-tracking/SKILL.md +379 -0
  141. package/.claude/skills/frontend-dev-guidelines/SKILL.md +403 -0
  142. package/.claude/skills/frontend-dev-guidelines/resources/common-patterns.md +331 -0
  143. package/.claude/skills/frontend-dev-guidelines/resources/complete-examples.md +872 -0
  144. package/.claude/skills/frontend-dev-guidelines/resources/component-patterns.md +502 -0
  145. package/.claude/skills/frontend-dev-guidelines/resources/data-fetching.md +767 -0
  146. package/.claude/skills/frontend-dev-guidelines/resources/file-organization.md +502 -0
  147. package/.claude/skills/frontend-dev-guidelines/resources/loading-and-error-states.md +501 -0
  148. package/.claude/skills/frontend-dev-guidelines/resources/performance.md +406 -0
  149. package/.claude/skills/frontend-dev-guidelines/resources/routing-guide.md +364 -0
  150. package/.claude/skills/frontend-dev-guidelines/resources/styling-guide.md +428 -0
  151. package/.claude/skills/frontend-dev-guidelines/resources/typescript-standards.md +418 -0
  152. package/.claude/skills/general-it-engineering/SKILL.md +393 -0
  153. package/.claude/skills/general-it-engineering/resources/asset-management.md +712 -0
  154. package/.claude/skills/general-it-engineering/resources/automation-orchestration.md +817 -0
  155. package/.claude/skills/general-it-engineering/resources/business-continuity.md +786 -0
  156. package/.claude/skills/general-it-engineering/resources/change-management.md +715 -0
  157. package/.claude/skills/general-it-engineering/resources/enterprise-monitoring.md +729 -0
  158. package/.claude/skills/general-it-engineering/resources/help-desk-operations.md +738 -0
  159. package/.claude/skills/general-it-engineering/resources/incident-service-management.md +834 -0
  160. package/.claude/skills/general-it-engineering/resources/it-governance.md +753 -0
  161. package/.claude/skills/general-it-engineering/resources/itil-framework.md +503 -0
  162. package/.claude/skills/general-it-engineering/resources/service-management.md +669 -0
  163. package/.claude/skills/infrastructure-architecture/SKILL.md +328 -0
  164. package/.claude/skills/infrastructure-architecture/resources/architecture-decision-records.md +505 -0
  165. package/.claude/skills/infrastructure-architecture/resources/architecture-patterns.md +528 -0
  166. package/.claude/skills/infrastructure-architecture/resources/capacity-planning.md +453 -0
  167. package/.claude/skills/infrastructure-architecture/resources/cleared-environment-architecture.md +773 -0
  168. package/.claude/skills/infrastructure-architecture/resources/cost-architecture.md +499 -0
  169. package/.claude/skills/infrastructure-architecture/resources/data-architecture.md +501 -0
  170. package/.claude/skills/infrastructure-architecture/resources/disaster-recovery.md +535 -0
  171. package/.claude/skills/infrastructure-architecture/resources/migration-architecture.md +512 -0
  172. package/.claude/skills/infrastructure-architecture/resources/multi-region-design.md +608 -0
  173. package/.claude/skills/infrastructure-architecture/resources/reference-architectures.md +562 -0
  174. package/.claude/skills/infrastructure-architecture/resources/security-architecture.md +538 -0
  175. package/.claude/skills/infrastructure-architecture/resources/system-design-principles.md +489 -0
  176. package/.claude/skills/infrastructure-architecture/resources/workload-classification.md +1000 -0
  177. package/.claude/skills/infrastructure-strategy/SKILL.md +924 -0
  178. package/.claude/skills/network-engineering/SKILL.md +385 -0
  179. package/.claude/skills/network-engineering/resources/dns-management.md +738 -0
  180. package/.claude/skills/network-engineering/resources/load-balancing.md +820 -0
  181. package/.claude/skills/network-engineering/resources/network-architecture.md +546 -0
  182. package/.claude/skills/network-engineering/resources/network-security.md +921 -0
  183. package/.claude/skills/network-engineering/resources/network-troubleshooting.md +749 -0
  184. package/.claude/skills/network-engineering/resources/routing-switching.md +373 -0
  185. package/.claude/skills/network-engineering/resources/sdn-networking.md +695 -0
  186. package/.claude/skills/network-engineering/resources/service-mesh-networking.md +777 -0
  187. package/.claude/skills/network-engineering/resources/tcp-ip-protocols.md +444 -0
  188. package/.claude/skills/network-engineering/resources/vpn-connectivity.md +672 -0
  189. package/.claude/skills/observability-engineering/SKILL.md +101 -0
  190. package/.claude/skills/observability-engineering/resources/apm-tools.md +97 -0
  191. package/.claude/skills/observability-engineering/resources/correlation-strategies.md +87 -0
  192. package/.claude/skills/observability-engineering/resources/distributed-tracing.md +98 -0
  193. package/.claude/skills/observability-engineering/resources/logs-aggregation.md +118 -0
  194. package/.claude/skills/observability-engineering/resources/observability-cost-optimization.md +141 -0
  195. package/.claude/skills/observability-engineering/resources/opentelemetry.md +110 -0
  196. package/.claude/skills/platform-engineering/SKILL.md +555 -0
  197. package/.claude/skills/platform-engineering/resources/architecture-overview.md +600 -0
  198. package/.claude/skills/platform-engineering/resources/container-orchestration.md +916 -0
  199. package/.claude/skills/platform-engineering/resources/cost-optimization.md +634 -0
  200. package/.claude/skills/platform-engineering/resources/developer-platforms.md +670 -0
  201. package/.claude/skills/platform-engineering/resources/gitops-automation.md +650 -0
  202. package/.claude/skills/platform-engineering/resources/infrastructure-as-code.md +778 -0
  203. package/.claude/skills/platform-engineering/resources/infrastructure-standards.md +708 -0
  204. package/.claude/skills/platform-engineering/resources/multi-tenancy.md +602 -0
  205. package/.claude/skills/platform-engineering/resources/platform-security.md +711 -0
  206. package/.claude/skills/platform-engineering/resources/resource-management.md +592 -0
  207. package/.claude/skills/platform-engineering/resources/service-mesh.md +628 -0
  208. package/.claude/skills/release-engineering/SKILL.md +393 -0
  209. package/.claude/skills/release-engineering/resources/artifact-management.md +108 -0
  210. package/.claude/skills/release-engineering/resources/build-optimization.md +84 -0
  211. package/.claude/skills/release-engineering/resources/ci-cd-pipelines.md +411 -0
  212. package/.claude/skills/release-engineering/resources/deployment-strategies.md +197 -0
  213. package/.claude/skills/release-engineering/resources/pipeline-security.md +62 -0
  214. package/.claude/skills/release-engineering/resources/progressive-delivery.md +83 -0
  215. package/.claude/skills/release-engineering/resources/release-automation.md +68 -0
  216. package/.claude/skills/release-engineering/resources/release-orchestration.md +77 -0
  217. package/.claude/skills/release-engineering/resources/rollback-strategies.md +66 -0
  218. package/.claude/skills/release-engineering/resources/versioning-strategies.md +59 -0
  219. package/.claude/skills/route-tester/SKILL.md +392 -0
  220. package/.claude/skills/skill-developer/ADVANCED.md +197 -0
  221. package/.claude/skills/skill-developer/HOOK_MECHANISMS.md +306 -0
  222. package/.claude/skills/skill-developer/PATTERNS_LIBRARY.md +152 -0
  223. package/.claude/skills/skill-developer/SKILL.md +430 -0
  224. package/.claude/skills/skill-developer/SKILL_RULES_REFERENCE.md +315 -0
  225. package/.claude/skills/skill-developer/TRIGGER_TYPES.md +305 -0
  226. package/.claude/skills/skill-developer/TROUBLESHOOTING.md +514 -0
  227. package/.claude/skills/skill-rules.json +2940 -0
  228. package/.claude/skills/sre/SKILL.md +464 -0
  229. package/.claude/skills/sre/resources/alerting-best-practices.md +282 -0
  230. package/.claude/skills/sre/resources/capacity-planning.md +226 -0
  231. package/.claude/skills/sre/resources/chaos-engineering.md +193 -0
  232. package/.claude/skills/sre/resources/disaster-recovery.md +232 -0
  233. package/.claude/skills/sre/resources/incident-management.md +436 -0
  234. package/.claude/skills/sre/resources/observability-stack.md +240 -0
  235. package/.claude/skills/sre/resources/on-call-runbooks.md +167 -0
  236. package/.claude/skills/sre/resources/performance-optimization.md +108 -0
  237. package/.claude/skills/sre/resources/reliability-patterns.md +183 -0
  238. package/.claude/skills/sre/resources/slo-sli-sla.md +464 -0
  239. package/.claude/skills/sre/resources/toil-reduction.md +145 -0
  240. package/.claude/skills/systems-engineering/SKILL.md +648 -0
  241. package/.claude/skills/systems-engineering/resources/automation-patterns.md +771 -0
  242. package/.claude/skills/systems-engineering/resources/configuration-management.md +998 -0
  243. package/.claude/skills/systems-engineering/resources/linux-administration.md +672 -0
  244. package/.claude/skills/systems-engineering/resources/networking-fundamentals.md +982 -0
  245. package/.claude/skills/systems-engineering/resources/performance-tuning.md +871 -0
  246. package/.claude/skills/systems-engineering/resources/powershell-scripting.md +482 -0
  247. package/.claude/skills/systems-engineering/resources/security-hardening.md +739 -0
  248. package/.claude/skills/systems-engineering/resources/shell-scripting.md +915 -0
  249. package/.claude/skills/systems-engineering/resources/storage-management.md +628 -0
  250. package/.claude/skills/systems-engineering/resources/system-monitoring.md +787 -0
  251. package/.claude/skills/systems-engineering/resources/troubleshooting-guide.md +753 -0
  252. package/.claude/skills/systems-engineering/resources/windows-administration.md +738 -0
  253. package/.claude/skills/technical-leadership/SKILL.md +728 -0
  254. package/CHANGELOG.md +102 -42
  255. package/CLAUDE.md +284 -0
  256. package/README.md +315 -71
  257. package/backend/docs/SECRETS_DOCUMENTATION.md +327 -0
  258. package/backend/jest.config.js +59 -0
  259. package/backend/package-lock.json +6801 -0
  260. package/backend/package.json +24 -4
  261. package/backend/prisma/migrations/20251026104609_add_websocket_api/migration.sql +33 -0
  262. package/backend/prisma/migrations/20251116111851_add_execution_trace/migration.sql +22 -0
  263. package/backend/prisma/migrations/20251120154914_add_panel_api_keys/migration.sql +21 -0
  264. package/backend/prisma/migrations/20251121110241_add_proxy_table/migration.sql +45 -0
  265. package/backend/prisma/migrations/migration_lock.toml +2 -2
  266. package/backend/prisma/schema.prisma +103 -1
  267. package/backend/src/__tests__/core/DependencyService.test.js +336 -0
  268. package/backend/src/__tests__/core/UserService.test.js +875 -0
  269. package/backend/src/__tests__/repositories/BaseRepository.test.js +146 -0
  270. package/backend/src/__tests__/repositories/BotRepository.test.js +118 -0
  271. package/backend/src/__tests__/repositories/CommandRepository.test.js +132 -0
  272. package/backend/src/__tests__/repositories/EventGraphRepository.test.js +93 -0
  273. package/backend/src/__tests__/repositories/GroupRepository.test.js +155 -0
  274. package/backend/src/__tests__/repositories/PermissionRepository.test.js +130 -0
  275. package/backend/src/__tests__/repositories/PluginRepository.test.js +107 -0
  276. package/backend/src/__tests__/repositories/ServerRepository.test.js +80 -0
  277. package/backend/src/__tests__/repositories/UserRepository.test.js +128 -0
  278. package/backend/src/__tests__/secretsFilter.test.js +425 -0
  279. package/backend/src/__tests__/services/BotLifecycleService.test.js +416 -0
  280. package/backend/src/__tests__/services/BotProcessManager.test.js +285 -0
  281. package/backend/src/__tests__/services/CacheManager.test.js +125 -0
  282. package/backend/src/__tests__/services/CommandExecutionService.test.js +460 -0
  283. package/backend/src/__tests__/services/ResourceMonitorService.test.js +207 -0
  284. package/backend/src/__tests__/services/TelemetryService.test.js +291 -0
  285. package/backend/src/__tests__/setup.js +25 -0
  286. package/backend/src/ai/plugin-assistant-system-prompt.md +788 -0
  287. package/backend/src/api/middleware/auth.js +27 -0
  288. package/backend/src/api/middleware/botAccess.js +7 -3
  289. package/backend/src/api/middleware/panelApiAuth.js +135 -0
  290. package/backend/src/api/routes/aiAssistant.js +995 -0
  291. package/backend/src/api/routes/apiKeys.js +181 -0
  292. package/backend/src/api/routes/auth.js +669 -633
  293. package/backend/src/api/routes/botCommands.js +107 -0
  294. package/backend/src/api/routes/botGroups.js +165 -0
  295. package/backend/src/api/routes/botHistory.js +108 -0
  296. package/backend/src/api/routes/botPermissions.js +99 -0
  297. package/backend/src/api/routes/botStatus.js +36 -0
  298. package/backend/src/api/routes/botUsers.js +162 -0
  299. package/backend/src/api/routes/bots.js +2451 -2360
  300. package/backend/src/api/routes/eventGraphs.js +4 -1
  301. package/backend/src/api/routes/logs.js +13 -3
  302. package/backend/src/api/routes/panel.js +66 -66
  303. package/backend/src/api/routes/panelApiKeys.js +179 -0
  304. package/backend/src/api/routes/pluginIde.js +1715 -135
  305. package/backend/src/api/routes/plugins.js +376 -218
  306. package/backend/src/api/routes/proxies.js +130 -0
  307. package/backend/src/api/routes/search.js +4 -0
  308. package/backend/src/api/routes/servers.js +20 -3
  309. package/backend/src/api/routes/settings.js +5 -0
  310. package/backend/src/api/routes/system.js +174 -0
  311. package/backend/src/api/routes/traces.js +131 -0
  312. package/backend/src/config/debug.config.js +36 -0
  313. package/backend/src/container.js +82 -0
  314. package/backend/src/core/BotHistoryStore.js +180 -0
  315. package/backend/src/core/BotManager.js +149 -868
  316. package/backend/src/core/BotManager.old.js +1093 -0
  317. package/backend/src/core/BotProcess.js +850 -191
  318. package/backend/src/core/EventGraphManager.js +194 -198
  319. package/backend/src/core/GraphExecutionEngine.js +709 -57
  320. package/backend/src/core/MessageQueue.js +39 -12
  321. package/backend/src/core/NodeRegistry.js +37 -1134
  322. package/backend/src/core/PluginLoader.js +99 -5
  323. package/backend/src/core/PluginManager.js +126 -15
  324. package/backend/src/core/PrismaService.js +32 -0
  325. package/backend/src/core/TaskScheduler.js +1 -1
  326. package/backend/src/core/UserService.js +3 -3
  327. package/backend/src/core/__tests__/PrismaService.test.js +24 -0
  328. package/backend/src/core/commands/README.md +305 -0
  329. package/backend/src/core/commands/dev.js +13 -7
  330. package/backend/src/core/commands/ping.js +10 -4
  331. package/backend/src/core/commands/whois.js +63 -0
  332. package/backend/src/core/config/validation.js +27 -0
  333. package/backend/src/core/constants/graphTypes.js +21 -0
  334. package/backend/src/core/node-registries/actions.js +202 -0
  335. package/backend/src/core/node-registries/arrays.js +155 -0
  336. package/backend/src/core/node-registries/bot.js +23 -0
  337. package/backend/src/core/node-registries/data.js +290 -0
  338. package/backend/src/core/node-registries/debug.js +26 -0
  339. package/backend/src/core/node-registries/events.js +201 -0
  340. package/backend/src/core/node-registries/flow.js +139 -0
  341. package/backend/src/core/node-registries/logic.js +62 -0
  342. package/backend/src/core/node-registries/math.js +42 -0
  343. package/backend/src/core/node-registries/objects.js +98 -0
  344. package/backend/src/core/node-registries/strings.js +187 -0
  345. package/backend/src/core/node-registries/time.js +113 -0
  346. package/backend/src/core/node-registries/type.js +25 -0
  347. package/backend/src/core/node-registries/users.js +79 -0
  348. package/backend/src/core/nodes/{action_bot_look_at.js → actions/bot_look_at.js} +36 -36
  349. package/backend/src/core/nodes/{action_bot_set_variable.js → actions/bot_set_variable.js} +32 -32
  350. package/backend/src/core/nodes/actions/create_command.js +189 -0
  351. package/backend/src/core/nodes/actions/delete_command.js +92 -0
  352. package/backend/src/core/nodes/{action_send_log.js → actions/send_log.js} +28 -23
  353. package/backend/src/core/nodes/{action_send_message.js → actions/send_message.js} +32 -32
  354. package/backend/src/core/nodes/actions/send_websocket_response.js +33 -0
  355. package/backend/src/core/nodes/actions/update_command.js +133 -0
  356. package/backend/src/core/nodes/arrays/get_next.js +35 -0
  357. package/backend/src/core/nodes/arrays/join.js +28 -0
  358. package/backend/src/core/nodes/{data_cast.js → data/cast.js} +10 -1
  359. package/backend/src/core/nodes/data/datetime_literal.js +27 -0
  360. package/backend/src/core/nodes/data/entity_info.js +69 -0
  361. package/backend/src/core/nodes/data/get_nearby_entities.js +32 -0
  362. package/backend/src/core/nodes/data/get_nearby_players.js +64 -0
  363. package/backend/src/core/nodes/{data_get_user_field.js → data/get_user_field.js} +1 -1
  364. package/backend/src/core/nodes/data/type_check.js +53 -0
  365. package/backend/src/core/nodes/{debug_log.js → debug/log.js} +16 -16
  366. package/backend/src/core/nodes/{flow_branch.js → flow/branch.js} +15 -15
  367. package/backend/src/core/nodes/{flow_break.js → flow/break.js} +14 -14
  368. package/backend/src/core/nodes/flow/delay.js +43 -0
  369. package/backend/src/core/nodes/{flow_for_each.js → flow/for_each.js} +39 -39
  370. package/backend/src/core/nodes/{flow_sequence.js → flow/sequence.js} +16 -16
  371. package/backend/src/core/nodes/{flow_switch.js → flow/switch.js} +47 -47
  372. package/backend/src/core/nodes/{flow_while.js → flow/while.js} +1 -1
  373. package/backend/src/core/nodes/logic/__tests__/compare.test.js +83 -0
  374. package/backend/src/core/nodes/logic/not.js +22 -0
  375. package/backend/src/core/nodes/math/__tests__/operation.test.js +65 -0
  376. package/backend/src/core/nodes/strings/__tests__/concat.test.js +89 -0
  377. package/backend/src/core/nodes/{string_starts_with.js → strings/starts_with.js} +1 -1
  378. package/backend/src/core/nodes/strings/to_lower.js +22 -0
  379. package/backend/src/core/nodes/strings/to_upper.js +22 -0
  380. package/backend/src/core/nodes/time/__tests__/now.test.js +24 -0
  381. package/backend/src/core/nodes/time/add.js +33 -0
  382. package/backend/src/core/nodes/time/compare.js +35 -0
  383. package/backend/src/core/nodes/time/diff.js +29 -0
  384. package/backend/src/core/nodes/time/format.js +32 -0
  385. package/backend/src/core/nodes/time/now.js +18 -0
  386. package/backend/src/core/nodes/type/to_string.js +32 -0
  387. package/backend/src/core/nodes/{user_check_blacklist.js → users/check_blacklist.js} +37 -37
  388. package/backend/src/core/nodes/{user_get_groups.js → users/get_groups.js} +36 -36
  389. package/backend/src/core/nodes/{user_get_permissions.js → users/get_permissions.js} +36 -36
  390. package/backend/src/core/nodes/{user_set_blacklist.js → users/set_blacklist.js} +37 -37
  391. package/backend/src/core/services/BotLifecycleService.js +835 -0
  392. package/backend/src/core/services/BotProcessManager.js +163 -0
  393. package/backend/src/core/services/CacheManager.js +111 -0
  394. package/backend/src/core/services/CommandExecutionService.js +430 -0
  395. package/backend/src/core/services/DebugSessionManager.js +347 -0
  396. package/backend/src/core/services/GraphCollaborationManager.js +501 -0
  397. package/backend/src/core/services/MinecraftBotManager.js +259 -0
  398. package/backend/src/core/services/MinecraftViewerService.js +216 -0
  399. package/backend/src/core/services/ResourceMonitorService.js +90 -0
  400. package/backend/src/core/services/TelemetryService.js +124 -0
  401. package/backend/src/core/services/TraceCollectorService.js +545 -0
  402. package/backend/src/core/services/ValidationService.js +132 -0
  403. package/backend/src/core/services/__tests__/ValidationService.test.js +148 -0
  404. package/backend/src/core/services.js +20 -5
  405. package/backend/src/core/system/CommandContext.js +84 -0
  406. package/backend/src/core/system/RuntimeCommandRegistry.js +116 -0
  407. package/backend/src/core/system/Transport.js +74 -0
  408. package/backend/src/core/utils/__tests__/jsonParser.test.js +44 -0
  409. package/backend/src/core/utils/jsonParser.js +18 -0
  410. package/backend/src/core/utils/secretsFilter.js +262 -0
  411. package/backend/src/core/utils/variableParser.js +89 -0
  412. package/backend/src/core/validation/__tests__/nodeSchemas.test.js +175 -0
  413. package/backend/src/core/validation/nodeSchemas.js +112 -0
  414. package/backend/src/lib/prisma.js +2 -4
  415. package/backend/src/real-time/botApi/handlers/commandHandlers.js +28 -0
  416. package/backend/src/real-time/botApi/handlers/graphHandlers.js +99 -0
  417. package/backend/src/real-time/botApi/handlers/graphWebSocketHandlers.js +147 -0
  418. package/backend/src/real-time/botApi/handlers/index.js +43 -0
  419. package/backend/src/real-time/botApi/handlers/messageHandlers.js +66 -0
  420. package/backend/src/real-time/botApi/handlers/statusHandlers.js +17 -0
  421. package/backend/src/real-time/botApi/handlers/userHandlers.js +141 -0
  422. package/backend/src/real-time/botApi/index.js +40 -0
  423. package/backend/src/real-time/botApi/middleware.js +79 -0
  424. package/backend/src/real-time/botApi/utils.js +65 -0
  425. package/backend/src/real-time/panelNamespace.js +387 -0
  426. package/backend/src/real-time/presence.js +7 -2
  427. package/backend/src/real-time/socketHandler.js +400 -5
  428. package/backend/src/repositories/BaseRepository.js +43 -0
  429. package/backend/src/repositories/BotRepository.js +42 -0
  430. package/backend/src/repositories/CommandRepository.js +53 -0
  431. package/backend/src/repositories/EventGraphRepository.js +40 -0
  432. package/backend/src/repositories/GroupRepository.js +69 -0
  433. package/backend/src/repositories/PermissionRepository.js +48 -0
  434. package/backend/src/repositories/PluginRepository.js +42 -0
  435. package/backend/src/repositories/ServerRepository.js +27 -0
  436. package/backend/src/repositories/UserRepository.js +48 -0
  437. package/backend/src/server.js +21 -0
  438. package/backend/src/test-refactor.js +85 -0
  439. package/frontend/dist/assets/index-B1serztM.js +11210 -0
  440. package/frontend/dist/assets/index-t6K1u4OV.css +32 -0
  441. package/frontend/dist/index.html +2 -2
  442. package/frontend/package-lock.json +9437 -0
  443. package/frontend/package.json +8 -5
  444. package/package.json +3 -2
  445. package/screen/console.png +0 -0
  446. package/screen/dashboard.png +0 -0
  447. package/screen/graph_collabe.png +0 -0
  448. package/screen/graph_live_debug.png +0 -0
  449. package/screen/management_command.png +0 -0
  450. package/screen/node_debug_trace.png +0 -0
  451. package/screen/plugin_/320/276/320/261/320/267/320/276/321/200.png +0 -0
  452. package/screen/websocket.png +0 -0
  453. package/screen//320/275/320/260/321/201/321/202/321/200/320/276/320/271/320/272/320/270_/320/276/321/202/320/264/320/265/320/273/321/214/320/275/321/213/321/205_/320/272/320/276/320/274/320/260/320/275/320/264_/320/272/320/260/320/266/320/264/321/203_/320/272/320/276/320/274/320/260/320/275/320/273/320/264/321/203_/320/274/320/276/320/266/320/275/320/276_/320/275/320/260/321/201/321/202/321/200/320/260/320/270/320/262/320/260/321/202/321/214.png +0 -0
  454. package/screen//320/277/320/273/320/260/320/275/320/270/321/200/320/276/320/262/321/211/320/270/320/272_/320/274/320/276/320/266/320/275/320/276_/320/267/320/260/320/264/320/260/320/262/320/260/321/202/321/214_/320/264/320/265/320/271/321/201/321/202/320/262/320/270/321/217_/320/277/320/276_/320/262/321/200/320/265/320/274/320/265/320/275/320/270.png +0 -0
  455. package/frontend/dist/assets/index-B9GedHEa.js +0 -8352
  456. package/frontend/dist/assets/index-zLiy9MDx.css +0 -1
  457. package/nul +0 -0
  458. /package/backend/src/core/nodes/{action_http_request.js → actions/http_request.js} +0 -0
  459. /package/backend/src/core/nodes/{array_add_element.js → arrays/add_element.js} +0 -0
  460. /package/backend/src/core/nodes/{array_contains.js → arrays/contains.js} +0 -0
  461. /package/backend/src/core/nodes/{array_find_index.js → arrays/find_index.js} +0 -0
  462. /package/backend/src/core/nodes/{array_get_by_index.js → arrays/get_by_index.js} +0 -0
  463. /package/backend/src/core/nodes/{array_get_random_element.js → arrays/get_random_element.js} +0 -0
  464. /package/backend/src/core/nodes/{array_remove_by_index.js → arrays/remove_by_index.js} +0 -0
  465. /package/backend/src/core/nodes/{bot_get_position.js → bot/get_position.js} +0 -0
  466. /package/backend/src/core/nodes/{data_array_literal.js → data/array_literal.js} +0 -0
  467. /package/backend/src/core/nodes/{data_boolean_literal.js → data/boolean_literal.js} +0 -0
  468. /package/backend/src/core/nodes/{data_get_argument.js → data/get_argument.js} +0 -0
  469. /package/backend/src/core/nodes/{data_get_bot_look.js → data/get_bot_look.js} +0 -0
  470. /package/backend/src/core/nodes/{data_get_entity_field.js → data/get_entity_field.js} +0 -0
  471. /package/backend/src/core/nodes/{data_get_server_players.js → data/get_server_players.js} +0 -0
  472. /package/backend/src/core/nodes/{data_get_variable.js → data/get_variable.js} +0 -0
  473. /package/backend/src/core/nodes/{data_length.js → data/length.js} +0 -0
  474. /package/backend/src/core/nodes/{data_make_object.js → data/make_object.js} +0 -0
  475. /package/backend/src/core/nodes/{data_number_literal.js → data/number_literal.js} +0 -0
  476. /package/backend/src/core/nodes/{data_string_literal.js → data/string_literal.js} +0 -0
  477. /package/backend/src/core/nodes/{logic_compare.js → logic/compare.js} +0 -0
  478. /package/backend/src/core/nodes/{logic_operation.js → logic/operation.js} +0 -0
  479. /package/backend/src/core/nodes/{math_operation.js → math/operation.js} +0 -0
  480. /package/backend/src/core/nodes/{math_random_number.js → math/random_number.js} +0 -0
  481. /package/backend/src/core/nodes/{object_create.js → objects/create.js} +0 -0
  482. /package/backend/src/core/nodes/{object_delete.js → objects/delete.js} +0 -0
  483. /package/backend/src/core/nodes/{object_get.js → objects/get.js} +0 -0
  484. /package/backend/src/core/nodes/{object_has_key.js → objects/has_key.js} +0 -0
  485. /package/backend/src/core/nodes/{object_set.js → objects/set.js} +0 -0
  486. /package/backend/src/core/nodes/{string_concat.js → strings/concat.js} +0 -0
  487. /package/backend/src/core/nodes/{string_contains.js → strings/contains.js} +0 -0
  488. /package/backend/src/core/nodes/{string_ends_with.js → strings/ends_with.js} +0 -0
  489. /package/backend/src/core/nodes/{string_equals.js → strings/equals.js} +0 -0
  490. /package/backend/src/core/nodes/{string_length.js → strings/length.js} +0 -0
  491. /package/backend/src/core/nodes/{string_matches.js → strings/matches.js} +0 -0
  492. /package/backend/src/core/nodes/{string_split.js → strings/split.js} +0 -0
@@ -0,0 +1,555 @@
1
+ # Hiring and Skill Assessment
2
+
3
+ **Comprehensive guide to hiring infrastructure engineers and assessing technical skills.**
4
+
5
+ ---
6
+
7
+ ## The Hiring Funnel
8
+
9
+ ```
10
+ Typical Conversion Rates:
11
+
12
+ 100 Applicants
13
+ ↓ (Resume Screen: 10-15% pass)
14
+ 15 Phone Screens
15
+ ↓ (Phone Screen: 50-60% pass)
16
+ 8 On-Site Interviews
17
+ ↓ (On-Site: 30-40% pass)
18
+ 3 Offers Extended
19
+ ↓ (Offer Acceptance: 60-70%)
20
+ 2 Hires
21
+
22
+ Time to Hire: 4-8 weeks from first contact
23
+ ```
24
+
25
+ **Key metrics:**
26
+ - Time to hire: 30-60 days (target)
27
+ - Offer acceptance rate: >60% (healthy)
28
+ - 90-day retention: >90% (good hiring)
29
+ - First-year retention: >85% (great hiring)
30
+
31
+ ---
32
+
33
+ ## Job Descriptions That Work
34
+
35
+ ### Formula for Effective JDs
36
+
37
+ ```
38
+ 1. Hook (2-3 sentences)
39
+ ├── What makes this role exciting?
40
+ ├── What problem are you solving?
41
+ └── Why should they care?
42
+
43
+ 2. Role Overview (1 paragraph)
44
+ ├── Team and context
45
+ ├── Core responsibilities
46
+ └── Impact and scope
47
+
48
+ 3. What You'll Do (5-7 bullets)
49
+ ├── Concrete day-to-day tasks
50
+ ├── Projects they'll work on
51
+ └── Technologies they'll use
52
+
53
+ 4. What You Bring (Must-haves vs Nice-to-haves)
54
+ ├── 3-5 must-have skills/experiences
55
+ ├── 3-5 nice-to-have skills
56
+ └── Avoid laundry list requirements
57
+
58
+ 5. What We Offer
59
+ ├── Compensation range (transparency wins)
60
+ ├── Benefits and perks
61
+ ├── Growth opportunities
62
+ └── Team culture
63
+
64
+ 6. How to Apply
65
+ └── Clear next steps
66
+ ```
67
+
68
+ ### Example: Senior Platform Engineer JD
69
+
70
+ ```markdown
71
+ ## Senior Platform Engineer
72
+
73
+ **We're building the developer experience platform that will power the next generation of our products.** You'll work on Kubernetes, Terraform, and CI/CD automation that enables 50+ engineers to ship faster and safer.
74
+
75
+ ### The Role
76
+ Join our 8-person Platform Engineering team to design and build our internal developer platform. You'll own critical infrastructure components, mentor mid-level engineers, and shape our technical direction as we scale from 50 to 150 engineers.
77
+
78
+ ### What You'll Do
79
+ - Design and implement self-service infrastructure provisioning using Terraform and K8s operators
80
+ - Build CI/CD pipeline templates that balance speed, security, and developer experience
81
+ - Lead incident response for platform services and drive reliability improvements
82
+ - Mentor platform engineers and contribute to team growth
83
+ - Partner with product teams to understand needs and prioritize platform roadmap
84
+
85
+ ### What You Bring
86
+ **Must Have:**
87
+ - 5+ years in infrastructure/platform engineering roles
88
+ - Deep experience with Kubernetes in production (operators, networking, security)
89
+ - Strong IaC skills (Terraform, Pulumi, or CloudFormation)
90
+ - Track record of building self-service developer tools
91
+ - Excellent communication and collaboration skills
92
+
93
+ **Nice to Have:**
94
+ - Experience with GitOps (ArgoCD, Flux)
95
+ - Contributions to open-source infrastructure projects
96
+ - Multi-cloud experience (AWS + Azure or GCP)
97
+ - SRE background or production on-call experience
98
+
99
+ ### What We Offer
100
+ - Compensation: $160K-$200K base + equity
101
+ - Remote-first with quarterly team offsites
102
+ - Generous learning budget ($3K/year)
103
+ - Modern tech stack and greenfield projects
104
+ - Collaborative culture with high-trust autonomy
105
+
106
+ **To Apply:** Send resume + GitHub/LinkedIn to platform-hiring@company.com
107
+ ```
108
+
109
+ **Why this works:**
110
+ - Clear scope and impact
111
+ - Specific technologies and projects
112
+ - Realistic requirements (not a wish list)
113
+ - Transparent compensation
114
+ - Authentic voice
115
+
116
+ ---
117
+
118
+ ## Resume Screening
119
+
120
+ ### What to Look For
121
+
122
+ **Positive Signals:**
123
+ - **Relevant experience:** 3-5 years for senior roles in similar domains
124
+ - **Depth over breadth:** Deep expertise in core technologies (K8s, Terraform, AWS)
125
+ - **Impact statements:** "Reduced deploy time by 60%" vs "Worked on CI/CD"
126
+ - **Open source:** Contributions show passion and collaboration
127
+ - **Clear progression:** Growing scope and responsibility over time
128
+
129
+ **Red Flags:**
130
+ - **Job hopping:** <1 year at multiple companies (unless early career)
131
+ - **Vague descriptions:** "Worked on various projects" (no specifics)
132
+ - **Technology spam:** Lists 50 technologies (no depth)
133
+ - **No recent relevant experience:** Last platform role was 5 years ago
134
+ - **Over-qualification disconnect:** Principal engineer applying for mid-level role (flight risk)
135
+
136
+ ### Screening Checklist
137
+
138
+ ```
139
+ Technical Fit:
140
+ □ Core skills match (K8s, IaC, CI/CD, cloud)
141
+ □ Experience level appropriate (years + scope)
142
+ □ Relevant industry/domain experience
143
+
144
+ Culture Fit:
145
+ □ Collaboration signals (team projects, cross-functional work)
146
+ □ Communication skills (clear writing, presentations)
147
+ □ Growth mindset (learning, adapting, teaching)
148
+
149
+ Logistics:
150
+ □ Location/remote alignment
151
+ □ Compensation expectations reasonable
152
+ □ Available timeline matches
153
+ □ Authorization to work (if applicable)
154
+
155
+ Decision: Pass to phone screen? Yes / No
156
+ If yes, key areas to probe: _______________
157
+ ```
158
+
159
+ ---
160
+
161
+ ## Phone Screen (30 minutes)
162
+
163
+ ### Structure
164
+
165
+ ```
166
+ 1. Introduction (5 min)
167
+ ├── Your background and team context
168
+ ├── Role overview and what you're looking for
169
+ └── Set agenda for conversation
170
+
171
+ 2. Their Background (10 min)
172
+ ├── "Walk me through your career, focusing on platform/infra work"
173
+ ├── "Tell me about your most recent project in depth"
174
+ ├── "What technologies are you most comfortable with?"
175
+ └── Listen for: depth, passion, communication clarity
176
+
177
+ 3. Technical Basics (10 min)
178
+ ├── 2-3 screening questions (see below)
179
+ ├── Not deep technical, just filter for basics
180
+ └── Assess problem-solving approach
181
+
182
+ 4. Logistics & Close (5 min)
183
+ ├── Compensation expectations
184
+ ├── Timeline and availability
185
+ ├── Answer their questions
186
+ └── Next steps
187
+ ```
188
+
189
+ ### Phone Screen Questions (Pick 2-3)
190
+
191
+ **For Platform Engineers:**
192
+ 1. "Explain how you would design a CI/CD pipeline for a microservices application"
193
+ 2. "You need to deploy a new service to Kubernetes - walk me through your approach"
194
+ 3. "A developer reports their build is taking 20 minutes - how do you debug this?"
195
+
196
+ **For SREs:**
197
+ 1. "Walk me through how you would respond to a high-latency alert"
198
+ 2. "Explain the difference between SLI, SLO, and SLA with examples"
199
+ 3. "How do you approach capacity planning for a growing service?"
200
+
201
+ **For Security Engineers:**
202
+ 1. "How would you secure a Kubernetes cluster in a multi-tenant environment?"
203
+ 2. "Walk me through how you'd implement secrets management for applications"
204
+ 3. "Explain your approach to vulnerability management in CI/CD pipelines"
205
+
206
+ **For Cloud Engineers:**
207
+ 1. "Design a multi-region active-active architecture on AWS"
208
+ 2. "How do you approach cloud cost optimization without impacting performance?"
209
+ 3. "Explain your strategy for managing infrastructure as code across multiple environments"
210
+
211
+ ### Evaluation Rubric
212
+
213
+ ```
214
+ Technical Depth: 1-5
215
+ ├── 1: Surface-level knowledge only
216
+ ├── 3: Solid fundamentals, can discuss trade-offs
217
+ └── 5: Deep expertise, insightful answers
218
+
219
+ Communication: 1-5
220
+ ├── 1: Unclear, rambling, hard to follow
221
+ ├── 3: Clear explanation, organized thoughts
222
+ └── 5: Exceptionally clear, adapts to audience
223
+
224
+ Problem-Solving: 1-5
225
+ ├── 1: Jumps to solution without analysis
226
+ ├── 3: Asks clarifying questions, systematic approach
227
+ └── 5: Thoughtful analysis, considers multiple approaches
228
+
229
+ Culture Fit: 1-5
230
+ ├── 1: Red flags in collaboration/attitude
231
+ ├── 3: Positive signals, team-oriented
232
+ └── 5: Strong alignment with values, passion evident
233
+
234
+ Minimum to pass: 12/20 (average of 3/5 on each dimension)
235
+ ```
236
+
237
+ ---
238
+
239
+ ## Technical Interview (60-90 minutes)
240
+
241
+ ### Deep Dive Interview Structure
242
+
243
+ **For Platform Engineering Roles:**
244
+
245
+ ```
246
+ Part 1: System Design (40 min)
247
+ Problem: "Design a CI/CD system for 50 microservices with these requirements..."
248
+
249
+ Evaluation:
250
+ ├── Clarifying questions (Does candidate understand the problem?)
251
+ ├── High-level architecture (Can they design systems?)
252
+ ├── Component deep-dive (Do they understand the details?)
253
+ ├── Trade-offs (Can they justify decisions?)
254
+ └── Scalability (Do they think about growth?)
255
+
256
+ Part 2: Technical Deep Dive (30 min)
257
+ Pick one area to go deep:
258
+ - Kubernetes networking and service mesh
259
+ - Terraform modules and state management
260
+ - GitOps workflows and tooling
261
+ - Observability and distributed tracing
262
+
263
+ Part 3: Real Scenario (15 min)
264
+ Present actual problem your team faced:
265
+ "Our deployments take 45 minutes. How would you investigate and fix this?"
266
+
267
+ Evaluation:
268
+ ├── Debugging approach (systematic vs random)
269
+ ├── Knowledge of relevant tools
270
+ ├── Communication of reasoning
271
+ └── Practical solutions
272
+ ```
273
+
274
+ **For SRE Roles:**
275
+
276
+ ```
277
+ Part 1: Incident Response (30 min)
278
+ Present real incident:
279
+ "At 3 AM, you get paged: API latency p99 jumped from 200ms to 5s. Walk me through your response."
280
+
281
+ Evaluation:
282
+ ├── Triage and prioritization
283
+ ├── Debugging methodology
284
+ ├── Tool knowledge (metrics, logs, traces)
285
+ ├── Communication and escalation
286
+ └── Follow-up and prevention
287
+
288
+ Part 2: SLO Design (20 min)
289
+ "Design SLOs for a payment processing service"
290
+
291
+ Evaluation:
292
+ ├── Understanding of SLI/SLO/SLA
293
+ ├── Business alignment
294
+ ├── Measurability
295
+ └── Realistic targets
296
+
297
+ Part 3: Reliability Architecture (30 min)
298
+ "Design a highly available system for [specific scenario]"
299
+
300
+ Evaluation:
301
+ ├── Failure modes analysis
302
+ ├── Redundancy and resilience
303
+ ├── Monitoring and alerting
304
+ └── Trade-offs and cost considerations
305
+ ```
306
+
307
+ ### Interview Question Bank
308
+
309
+ **Kubernetes Questions (Platform/SRE):**
310
+ - "Explain the lifecycle of a pod from kubectl apply to running"
311
+ - "How does Kubernetes networking work? Explain pod-to-pod communication"
312
+ - "What's the difference between Deployment, StatefulSet, and DaemonSet?"
313
+ - "How would you debug a crashlooping pod?"
314
+ - "Design a multi-tenant Kubernetes architecture with isolation"
315
+
316
+ **IaC Questions (Platform/Cloud):**
317
+ - "Explain Terraform state management and common pitfalls"
318
+ - "How do you structure Terraform code for multiple environments?"
319
+ - "Compare Terraform vs Pulumi vs CloudFormation - trade-offs?"
320
+ - "How do you handle secrets in infrastructure code?"
321
+ - "Design a Git workflow for infrastructure changes"
322
+
323
+ **CI/CD Questions (Platform/Release):**
324
+ - "Design a deployment pipeline with staging, testing, and production"
325
+ - "How do you implement blue-green vs canary deployments?"
326
+ - "Explain your approach to pipeline security"
327
+ - "How do you handle database migrations in CI/CD?"
328
+ - "Design a pipeline for monorepo with 20 services"
329
+
330
+ **Observability Questions (SRE/Platform):**
331
+ - "Explain the three pillars of observability"
332
+ - "How do you implement distributed tracing?"
333
+ - "Design an alerting strategy that minimizes false positives"
334
+ - "Explain cardinality and its impact on metrics systems"
335
+ - "How do you monitor a Kubernetes cluster?"
336
+
337
+ **Security Questions (Security/Platform):**
338
+ - "Design a secrets management strategy for applications"
339
+ - "Explain your approach to container image scanning"
340
+ - "How do you implement policy-as-code?"
341
+ - "Design a Zero Trust network architecture"
342
+ - "How do you handle vulnerability management?"
343
+
344
+ ---
345
+
346
+ ## Behavioral Interview (45-60 minutes)
347
+
348
+ ### STAR Method Questions
349
+
350
+ **Collaboration:**
351
+ - "Tell me about a time you had to work with a difficult teammate"
352
+ - "Describe a project where you had to coordinate across multiple teams"
353
+ - "Give an example of when you had to convince someone of your technical approach"
354
+
355
+ **Problem-Solving:**
356
+ - "Tell me about the most complex technical problem you've solved"
357
+ - "Describe a time when you had to debug a production issue under pressure"
358
+ - "Give an example of when you had to pivot your approach mid-project"
359
+
360
+ **Leadership:**
361
+ - "Tell me about a time you mentored a junior engineer"
362
+ - "Describe a situation where you had to make a difficult technical decision"
363
+ - "Give an example of when you improved team processes or culture"
364
+
365
+ **Growth:**
366
+ - "Tell me about a time you failed and what you learned"
367
+ - "Describe how you stay current with technology"
368
+ - "Give an example of when you had to learn something completely new"
369
+
370
+ ### Red Flags in Behavioral
371
+
372
+ - **Blames others:** "My team was terrible, management didn't support me"
373
+ - **No ownership:** "I was told to do this" vs "I decided to..."
374
+ - **Arrogance:** "I'm the only one who knew how to do it"
375
+ - **No growth:** Can't name recent learnings or mistakes
376
+ - **Poor communication:** Rambling stories, can't get to the point
377
+
378
+ ---
379
+
380
+ ## Skill Assessment Frameworks
381
+
382
+ ### Platform Engineering Skills Matrix
383
+
384
+ ```
385
+ Level | IaC | Kubernetes | CI/CD | Cloud | Observability
386
+ ------|-----|------------|-------|-------|---------------
387
+ L3 | Basic Terraform | Can deploy pods | Use existing pipelines | Use EC2/S3 | Read dashboards
388
+ L4 | Terraform modules | Deploy services | Build simple pipelines | Design VPC | Create alerts
389
+ L5 | Advanced patterns | Operators/CRDs | Complex pipelines | Multi-region | Distributed tracing
390
+ L6 | Framework design | Cluster management | Pipeline platform | Multi-cloud | Observability strategy
391
+ ```
392
+
393
+ ### SRE Skills Matrix
394
+
395
+ ```
396
+ Level | Monitoring | Incident Response | Capacity | Automation | On-Call
397
+ ------|------------|-------------------|----------|------------|--------
398
+ L3 | Read metrics | Follow runbook | Basic math | Shell scripts | Shadowing
399
+ L4 | Create alerts | Lead incidents | Model growth | Ansible/Chef | Primary rotation
400
+ L5 | SLO design | Complex incidents | Multi-service | Advanced automation | Lead on-call
401
+ L6 | Observability strategy | Org-wide process | Long-term planning | Platform automation | On-call architect
402
+ ```
403
+
404
+ ### Security Engineering Skills Matrix
405
+
406
+ ```
407
+ Level | AppSec | Infrastructure | Compliance | Incident Response
408
+ ------|--------|----------------|------------|-------------------
409
+ L3 | Run SAST scans | Basic hardening | Follow checklists | Log analysis
410
+ L4 | SAST/DAST/SCA | Container security | Implement controls | Investigate threats
411
+ L5 | AppSec program | Zero Trust arch | Lead audits | Lead response
412
+ L6 | Security strategy | Enterprise security | Compliance strategy | IR program design
413
+ ```
414
+
415
+ ---
416
+
417
+ ## Making the Hire/No-Hire Decision
418
+
419
+ ### Decision Framework
420
+
421
+ ```
422
+ Scoring:
423
+ Each interview: Strong Yes / Yes / Maybe / No / Strong No
424
+
425
+ Hiring Bar:
426
+ ├── Must have: At least one "Strong Yes"
427
+ ├── Required: Majority "Yes" or better
428
+ ├── Red flag: Any "Strong No" = automatic reject
429
+ └── "Maybe" = More data needed (additional interview)
430
+
431
+ Calibration:
432
+ ├── Compare to recent hires at same level
433
+ ├── "Would this person raise the bar?"
434
+ ├── "Would I want them on my team?"
435
+ └── "Can they succeed and grow here?"
436
+ ```
437
+
438
+ ### Common Decision Scenarios
439
+
440
+ **Strong Yes:**
441
+ - Exceeds expectations across all interviews
442
+ - Clear evidence of impact and growth
443
+ - Strong technical depth and communication
444
+ - **Action:** Extend offer quickly
445
+
446
+ **Mixed Signals:**
447
+ - Strong technical but weak communication
448
+ - Great culture fit but light on experience
449
+ - Excellent on paper but underwhelming in interview
450
+ - **Action:** Additional interview or pass (don't settle)
451
+
452
+ **Close Call:**
453
+ - Meets bar but doesn't exceed it
454
+ - Safe hire but won't raise the bar
455
+ - Good for today but limited growth potential
456
+ - **Action:** Usually pass - hire for potential, not just competence
457
+
458
+ **Clear No:**
459
+ - Technical gaps too large for level
460
+ - Communication issues
461
+ - Culture red flags
462
+ - **Action:** Polite rejection, move on
463
+
464
+ ---
465
+
466
+ ## Offer Strategy
467
+
468
+ ### Compensation Philosophy
469
+
470
+ ```
471
+ Market Competitive:
472
+ ├── Research: Levels.fyi, industry surveys, peers
473
+ ├── Positioning: 50th-75th percentile (competitive)
474
+ └── Components: Base + Equity + Bonus
475
+
476
+ Comp Bands by Level:
477
+ ├── L3 (Junior): $100K-$130K
478
+ ├── L4 (Mid): $130K-$160K
479
+ ├── L5 (Senior): $160K-$200K
480
+ ├── L6 (Staff): $200K-$250K
481
+ └── L7+ (Principal): $250K-$350K+
482
+
483
+ Regional Adjustments:
484
+ ├── SF/NYC: +20-30%
485
+ ├── Seattle/Austin: +10-15%
486
+ ├── Remote: Market rate for location
487
+ └── Transparency: State range in JD
488
+ ```
489
+
490
+ ### Closing Candidates
491
+
492
+ **Offer call structure:**
493
+ 1. Express enthusiasm for candidate
494
+ 2. Present offer details (verbal first)
495
+ 3. Explain equity, benefits, growth opportunity
496
+ 4. Answer questions
497
+ 5. Set timeline for decision (3-7 days)
498
+ 6. Follow up with written offer same day
499
+
500
+ **Common objections:**
501
+ - **"Compensation is lower than expected"** → Can you meet somewhere in middle? What's the gap?
502
+ - **"I have another offer"** → How do they compare? What's important to you?
503
+ - **"I'm concerned about [X]"** → Valid concern, here's how we address it...
504
+ - **"I need more time"** → Reasonable, what else do you need to decide?
505
+
506
+ **Red flags in candidate:**
507
+ - Playing companies against each other aggressively
508
+ - Unrealistic compensation expectations
509
+ - Can't articulate why they want this role
510
+ - Focusing only on perks/compensation
511
+
512
+ ---
513
+
514
+ ## Onboarding (First 90 Days)
515
+
516
+ ### 30-60-90 Day Plan
517
+
518
+ **First 30 Days:**
519
+ - Onboard to tools and systems
520
+ - Shadow team members
521
+ - Ship first small project
522
+ - Build relationships across team
523
+
524
+ **60 Days:**
525
+ - Own medium-sized project end-to-end
526
+ - Participate in on-call (if applicable)
527
+ - Start mentoring if senior
528
+
529
+ **90 Days:**
530
+ - Fully productive contributor
531
+ - Comfortable with team processes
532
+ - Clear on growth areas and next steps
533
+
534
+ **Success metrics:**
535
+ - New hire satisfaction survey
536
+ - Manager assessment of productivity
537
+ - Peer feedback on collaboration
538
+ - Retention at 90 days (>95%)
539
+
540
+ ---
541
+
542
+ ## Key Takeaways
543
+
544
+ 1. **Clear JDs attract right candidates** - Be specific, transparent, authentic
545
+ 2. **Structured interviews reduce bias** - Use rubrics, ask same questions
546
+ 3. **Assess for potential, not just experience** - Hire people who will grow
547
+ 4. **Move fast** - Top candidates have options, decide quickly
548
+ 5. **Compensation matters** - Be competitive and transparent
549
+ 6. **Onboarding is critical** - First 90 days set the tone
550
+ 7. **Calibrate your bar** - Compare to recent hires, raise the bar over time
551
+ 8. **Diversity improves outcomes** - Actively seek diverse perspectives
552
+ 9. **Culture fit ≠ culture clone** - Hire for values, not sameness
553
+ 10. **Trust your gut** - If something feels off, probe deeper
554
+
555
+ Great hiring is a skill that improves with practice and reflection.