blockmine 1.24.0 → 1.27.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 (476) hide show
  1. package/CHANGELOG.md +76 -1
  2. package/README.en.md +427 -0
  3. package/README.md +40 -0
  4. package/backend/package.json +2 -2
  5. package/backend/prisma/migrations/20260328173000_add_plugin_source_ref/migration.sql +2 -0
  6. package/backend/prisma/migrations/migration_lock.toml +2 -2
  7. package/backend/prisma/schema.prisma +2 -0
  8. package/backend/src/ai/plugin-assistant-system-prompt.md +664 -5
  9. package/backend/src/api/routes/apiKeys.js +8 -0
  10. package/backend/src/api/routes/bots.js +271 -9
  11. package/backend/src/api/routes/eventGraphs.js +151 -1
  12. package/backend/src/api/routes/health.js +38 -0
  13. package/backend/src/api/routes/nodeRegistry.js +63 -0
  14. package/backend/src/api/routes/plugins.js +254 -29
  15. package/backend/src/api/routes/servers.js +14 -2
  16. package/backend/src/container.js +11 -8
  17. package/backend/src/core/BotCommandLoader.js +161 -0
  18. package/backend/src/core/BotConnection.js +125 -0
  19. package/backend/src/core/BotEventHandlers.js +234 -0
  20. package/backend/src/core/BotIPCHandler.js +445 -0
  21. package/backend/src/core/BotManager.js +15 -7
  22. package/backend/src/core/BotProcess.js +169 -140
  23. package/backend/src/core/EventGraphManager.js +7 -3
  24. package/backend/src/core/GraphDebugHandler.js +229 -0
  25. package/backend/src/core/GraphDebugIPC.js +117 -0
  26. package/backend/src/core/GraphExecutionEngine.js +545 -978
  27. package/backend/src/core/GraphTraversal.js +80 -0
  28. package/backend/src/core/GraphValidation.js +73 -0
  29. package/backend/src/core/NodeDefinition.js +138 -0
  30. package/backend/src/core/NodeRegistry.js +153 -141
  31. package/backend/src/core/PluginLoader.js +83 -3
  32. package/backend/src/core/PluginManager.js +346 -35
  33. package/backend/src/core/RewindSignal.js +9 -0
  34. package/backend/src/core/config/ConfigValidator.js +72 -0
  35. package/backend/src/core/config/FeatureFlags.js +52 -0
  36. package/backend/src/core/config/__tests__/ConfigValidator.test.js +232 -0
  37. package/backend/src/core/domain/entities/Bot.js +39 -0
  38. package/backend/src/core/domain/entities/Command.js +41 -0
  39. package/backend/src/core/domain/entities/EventGraph.js +39 -0
  40. package/backend/src/core/domain/entities/Plugin.js +45 -0
  41. package/backend/src/core/domain/entities/User.js +40 -0
  42. package/backend/src/core/domain/services/DependencyResolver.js +168 -0
  43. package/backend/src/core/domain/services/GraphValidator.js +117 -0
  44. package/backend/src/core/domain/services/PermissionChecker.js +34 -0
  45. package/backend/src/core/domain/services/__tests__/DependencyResolver.test.js +126 -0
  46. package/backend/src/core/domain/valueObjects/BotConfig.js +27 -0
  47. package/backend/src/core/domain/valueObjects/DependencyGraph.js +86 -0
  48. package/backend/src/core/domain/valueObjects/PluginManifest.js +36 -0
  49. package/backend/src/core/errors/BaseError.js +29 -0
  50. package/backend/src/core/errors/ErrorHandler.js +81 -0
  51. package/backend/src/core/errors/__tests__/ErrorHandler.test.js +188 -0
  52. package/backend/src/core/errors/index.js +68 -0
  53. package/backend/src/core/infrastructure/BatchingUtility.js +66 -0
  54. package/backend/src/core/infrastructure/CircuitBreaker.js +103 -0
  55. package/backend/src/core/infrastructure/ConnectionPool.js +81 -0
  56. package/backend/src/core/infrastructure/RateLimiter.js +64 -0
  57. package/backend/src/core/infrastructure/__tests__/BatchingUtility.test.js +86 -0
  58. package/backend/src/core/infrastructure/__tests__/CircuitBreaker.test.js +156 -0
  59. package/backend/src/core/infrastructure/__tests__/ConnectionPool.test.js +146 -0
  60. package/backend/src/core/infrastructure/__tests__/RateLimiter.test.js +171 -0
  61. package/backend/src/core/ipc/botApiFactory.js +72 -0
  62. package/backend/src/core/ipc/ipcMessageTypes.js +115 -0
  63. package/backend/src/core/logging/AuditLogger.js +61 -0
  64. package/backend/src/core/logging/StructuredLogger.js +80 -0
  65. package/backend/src/core/logging/__tests__/StructuredLogger.test.js +213 -0
  66. package/backend/src/core/logging/index.js +7 -0
  67. package/backend/src/core/metrics/MetricsCollector.js +104 -0
  68. package/backend/src/core/metrics/__tests__/MetricsCollector.test.js +131 -0
  69. package/backend/src/core/node-registries/actionsNodes.js +191 -0
  70. package/backend/src/core/node-registries/arraysNodes.js +152 -0
  71. package/backend/src/core/node-registries/botNodes.js +48 -0
  72. package/backend/src/core/node-registries/containerNodes.js +141 -0
  73. package/backend/src/core/node-registries/dataNodes.js +284 -0
  74. package/backend/src/core/node-registries/debugNodes.js +23 -0
  75. package/backend/src/core/node-registries/eventsNodes.js +223 -0
  76. package/backend/src/core/node-registries/flowNodes.js +151 -0
  77. package/backend/src/core/node-registries/furnaceNodes.js +123 -0
  78. package/backend/src/core/node-registries/index.js +108 -0
  79. package/backend/src/core/node-registries/inventory.js +102 -106
  80. package/backend/src/core/node-registries/logicNodes.js +54 -0
  81. package/backend/src/core/node-registries/mathNodes.js +38 -0
  82. package/backend/src/core/node-registries/navigationNodes.js +109 -0
  83. package/backend/src/core/node-registries/objectsNodes.js +90 -0
  84. package/backend/src/core/node-registries/stringsNodes.js +165 -0
  85. package/backend/src/core/node-registries/timeNodes.js +105 -0
  86. package/backend/src/core/node-registries/typeNodes.js +22 -0
  87. package/backend/src/core/node-registries/usersNodes.js +126 -0
  88. package/backend/src/core/nodes/arrays/shuffle.js +14 -0
  89. package/backend/src/core/nodes/bot/get_name.js +8 -0
  90. package/backend/src/core/nodes/bot/stop_bot.js +5 -0
  91. package/backend/src/core/nodes/container/open.js +101 -111
  92. package/backend/src/core/nodes/data/store_read.js +26 -0
  93. package/backend/src/core/nodes/data/store_write.js +23 -0
  94. package/backend/src/core/nodes/event/call_event.js +31 -0
  95. package/backend/src/core/nodes/event/custom_event.js +8 -0
  96. package/backend/src/core/nodes/flow/timer.js +35 -0
  97. package/backend/src/core/nodes/inventory/drop.js +73 -65
  98. package/backend/src/core/nodes/inventory/equip.js +54 -45
  99. package/backend/src/core/nodes/inventory/select_slot.js +48 -46
  100. package/backend/src/core/nodes/navigation/follow.js +54 -51
  101. package/backend/src/core/nodes/navigation/go_to.js +41 -53
  102. package/backend/src/core/nodes/navigation/go_to_entity.js +65 -69
  103. package/backend/src/core/nodes/navigation/go_to_player.js +65 -70
  104. package/backend/src/core/nodes/navigation/stop.js +17 -26
  105. package/backend/src/core/nodes/users/add_to_group.js +24 -0
  106. package/backend/src/core/nodes/users/check_permission.js +26 -0
  107. package/backend/src/core/nodes/users/remove_from_group.js +24 -0
  108. package/backend/src/core/services/BotIPCMessageRouter.js +337 -0
  109. package/backend/src/core/services/BotLifecycleService.js +43 -450
  110. package/backend/src/core/services/CacheManager.js +83 -23
  111. package/backend/src/core/services/CrashRestartManager.js +42 -0
  112. package/backend/src/core/services/DebugSessionManager.js +114 -12
  113. package/backend/src/core/services/EventGraphService.js +69 -0
  114. package/backend/src/core/services/MinecraftBotManager.js +9 -1
  115. package/backend/src/core/services/PluginManagementService.js +84 -0
  116. package/backend/src/core/services/TestModeContext.js +65 -0
  117. package/backend/src/core/services/__tests__/CacheManager.test.js +168 -0
  118. package/backend/src/core/services.js +1 -11
  119. package/backend/src/core/validation/InputValidator.js +167 -0
  120. package/backend/src/core/validation/__tests__/InputValidator.test.js +296 -0
  121. package/backend/src/real-time/botApi/index.js +1 -1
  122. package/backend/src/real-time/socketHandler.js +26 -0
  123. package/backend/src/server.js +21 -6
  124. package/frontend/dist/assets/browser-ponyfill-D8y0Ty7C.js +2 -0
  125. package/frontend/dist/assets/index-CFJLS0dk.css +32 -0
  126. package/frontend/dist/assets/index-D91UGNMG.js +11260 -0
  127. package/frontend/dist/flags/en.svg +32 -0
  128. package/frontend/dist/flags/ru.svg +5 -0
  129. package/frontend/dist/index.html +2 -2
  130. package/frontend/dist/locales/en/admin.json +100 -0
  131. package/frontend/dist/locales/en/api-keys.json +58 -0
  132. package/frontend/dist/locales/en/bots.json +113 -0
  133. package/frontend/dist/locales/en/common.json +53 -0
  134. package/frontend/dist/locales/en/configuration.json +22 -0
  135. package/frontend/dist/locales/en/console.json +10 -0
  136. package/frontend/dist/locales/en/dashboard.json +85 -0
  137. package/frontend/dist/locales/en/dialogs.json +70 -0
  138. package/frontend/dist/locales/en/event-graphs.json +50 -0
  139. package/frontend/dist/locales/en/graph-store.json +70 -0
  140. package/frontend/dist/locales/en/login.json +36 -0
  141. package/frontend/dist/locales/en/management.json +192 -0
  142. package/frontend/dist/locales/en/minecraft-viewer.json +27 -0
  143. package/frontend/dist/locales/en/nodes.json +1132 -0
  144. package/frontend/dist/locales/en/permissions.json +50 -0
  145. package/frontend/dist/locales/en/plugin-detail.json +69 -0
  146. package/frontend/dist/locales/en/plugins.json +329 -0
  147. package/frontend/dist/locales/en/proxies.json +81 -0
  148. package/frontend/dist/locales/en/servers.json +39 -0
  149. package/frontend/dist/locales/en/setup.json +19 -0
  150. package/frontend/dist/locales/en/sidebar.json +195 -0
  151. package/frontend/dist/locales/en/tasks.json +62 -0
  152. package/frontend/dist/locales/en/visual-editor.json +418 -0
  153. package/frontend/dist/locales/en/websocket.json +86 -0
  154. package/frontend/dist/locales/ru/admin.json +100 -0
  155. package/frontend/dist/locales/ru/api-keys.json +58 -0
  156. package/frontend/dist/locales/ru/bots.json +113 -0
  157. package/frontend/dist/locales/ru/common.json +49 -0
  158. package/frontend/dist/locales/ru/configuration.json +22 -0
  159. package/frontend/dist/locales/ru/console.json +10 -0
  160. package/frontend/dist/locales/ru/dashboard.json +85 -0
  161. package/frontend/dist/locales/ru/dialogs.json +70 -0
  162. package/frontend/dist/locales/ru/event-graphs.json +50 -0
  163. package/frontend/dist/locales/ru/graph-store.json +70 -0
  164. package/frontend/dist/locales/ru/login.json +36 -0
  165. package/frontend/dist/locales/ru/management.json +192 -0
  166. package/frontend/dist/locales/ru/minecraft-viewer.json +30 -0
  167. package/frontend/dist/locales/ru/nodes.json +1131 -0
  168. package/frontend/dist/locales/ru/permissions.json +50 -0
  169. package/frontend/dist/locales/ru/plugin-detail.json +49 -0
  170. package/frontend/dist/locales/ru/plugins.json +209 -0
  171. package/frontend/dist/locales/ru/proxies.json +81 -0
  172. package/frontend/dist/locales/ru/servers.json +39 -0
  173. package/frontend/dist/locales/ru/setup.json +19 -0
  174. package/frontend/dist/locales/ru/sidebar.json +195 -0
  175. package/frontend/dist/locales/ru/tasks.json +62 -0
  176. package/frontend/dist/locales/ru/visual-editor.json +420 -0
  177. package/frontend/dist/locales/ru/websocket.json +86 -0
  178. package/frontend/dist/monacoeditorwork/css.worker.bundle.js +7 -7
  179. package/frontend/dist/monacoeditorwork/html.worker.bundle.js +7 -7
  180. package/frontend/dist/monacoeditorwork/json.worker.bundle.js +7 -7
  181. package/frontend/dist/monacoeditorwork/ts.worker.bundle.js +3 -3
  182. package/frontend/package.json +6 -0
  183. package/nul +12 -0
  184. package/package.json +3 -3
  185. package/screen/3dviewer.png +0 -0
  186. package/screen/console.png +0 -0
  187. package/screen/dashboard.png +0 -0
  188. package/screen/graph_collabe.png +0 -0
  189. package/screen/graph_live_debug.png +0 -0
  190. package/screen/language_selector.png +0 -0
  191. package/screen/management_command.png +0 -0
  192. package/screen/node_debug_trace.png +0 -0
  193. package/screen/plugin_/320/276/320/261/320/267/320/276/321/200.png +0 -0
  194. package/screen/websocket.png +0 -0
  195. 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
  196. 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
  197. package/.claude/agents/README.md +0 -469
  198. package/.claude/agents/auth-route-debugger.md +0 -118
  199. package/.claude/agents/auth-route-tester.md +0 -93
  200. package/.claude/agents/auto-error-resolver.md +0 -97
  201. package/.claude/agents/build-optimizer.md +0 -236
  202. package/.claude/agents/code-architect.md +0 -34
  203. package/.claude/agents/code-architecture-reviewer.md +0 -83
  204. package/.claude/agents/code-explorer.md +0 -51
  205. package/.claude/agents/code-refactor-master.md +0 -94
  206. package/.claude/agents/code-reviewer.md +0 -46
  207. package/.claude/agents/cost-optimizer.md +0 -134
  208. package/.claude/agents/deployment-orchestrator.md +0 -113
  209. package/.claude/agents/documentation-architect.md +0 -82
  210. package/.claude/agents/frontend-error-fixer.md +0 -77
  211. package/.claude/agents/iac-code-generator.md +0 -71
  212. package/.claude/agents/incident-responder.md +0 -346
  213. package/.claude/agents/infrastructure-architect.md +0 -31
  214. package/.claude/agents/kubernetes-specialist.md +0 -56
  215. package/.claude/agents/migration-planner.md +0 -181
  216. package/.claude/agents/network-architect.md +0 -196
  217. package/.claude/agents/plan-reviewer.md +0 -52
  218. package/.claude/agents/refactor-planner.md +0 -63
  219. package/.claude/agents/security-scanner.md +0 -102
  220. package/.claude/agents/web-research-specialist.md +0 -78
  221. package/.claude/commands/cost-analysis.md +0 -315
  222. package/.claude/commands/dev-docs-update.md +0 -55
  223. package/.claude/commands/dev-docs.md +0 -51
  224. package/.claude/commands/feature-dev.md +0 -125
  225. package/.claude/commands/incident-debug.md +0 -247
  226. package/.claude/commands/infra-plan.md +0 -81
  227. package/.claude/commands/migration-plan.md +0 -478
  228. package/.claude/commands/route-research-for-testing.md +0 -37
  229. package/.claude/commands/security-review.md +0 -66
  230. package/.claude/hooks/CONFIG.md +0 -448
  231. package/.claude/hooks/README.md +0 -163
  232. package/.claude/hooks/SKILL_ACTIVATION_COMPLETE.md +0 -226
  233. package/.claude/hooks/WINDOWS_HOOKS_README.md +0 -151
  234. package/.claude/hooks/add-skill-activation-banners.ts +0 -132
  235. package/.claude/hooks/comprehensive-skill-test.ts +0 -1315
  236. package/.claude/hooks/error-handling-reminder.sh +0 -12
  237. package/.claude/hooks/error-handling-reminder.ts +0 -222
  238. package/.claude/hooks/k8s-manifest-validator.sh +0 -56
  239. package/.claude/hooks/package-lock.json +0 -556
  240. package/.claude/hooks/package.json +0 -16
  241. package/.claude/hooks/post-tool-use-tracker.ps1 +0 -174
  242. package/.claude/hooks/post-tool-use-tracker.sh +0 -183
  243. package/.claude/hooks/security-policy-check.sh +0 -247
  244. package/.claude/hooks/skill-activation-prompt.ps1 +0 -10
  245. package/.claude/hooks/skill-activation-prompt.sh +0 -10
  246. package/.claude/hooks/skill-activation-prompt.ts +0 -141
  247. package/.claude/hooks/stop-build-check-enhanced.sh +0 -130
  248. package/.claude/hooks/terraform-validator.sh +0 -53
  249. package/.claude/hooks/test-input.json +0 -7
  250. package/.claude/hooks/test-skill-activation.ts +0 -427
  251. package/.claude/hooks/trigger-build-resolver.sh +0 -79
  252. package/.claude/hooks/tsc-check.sh +0 -173
  253. package/.claude/hooks/tsconfig.json +0 -19
  254. package/.claude/settings.json +0 -59
  255. package/.claude/settings.local.json +0 -67
  256. package/.claude/skills/README.md +0 -507
  257. package/.claude/skills/api-engineering/SKILL.md +0 -63
  258. package/.claude/skills/api-engineering/resources/api-versioning.md +0 -88
  259. package/.claude/skills/api-engineering/resources/graphql-patterns.md +0 -106
  260. package/.claude/skills/api-engineering/resources/rate-limiting.md +0 -118
  261. package/.claude/skills/api-engineering/resources/rest-api-design.md +0 -105
  262. package/.claude/skills/backend-dev-guidelines/SKILL.md +0 -306
  263. package/.claude/skills/backend-dev-guidelines/resources/architecture-overview.md +0 -451
  264. package/.claude/skills/backend-dev-guidelines/resources/async-and-errors.md +0 -307
  265. package/.claude/skills/backend-dev-guidelines/resources/complete-examples.md +0 -638
  266. package/.claude/skills/backend-dev-guidelines/resources/configuration.md +0 -275
  267. package/.claude/skills/backend-dev-guidelines/resources/database-patterns.md +0 -224
  268. package/.claude/skills/backend-dev-guidelines/resources/middleware-guide.md +0 -213
  269. package/.claude/skills/backend-dev-guidelines/resources/routing-and-controllers.md +0 -756
  270. package/.claude/skills/backend-dev-guidelines/resources/sentry-and-monitoring.md +0 -336
  271. package/.claude/skills/backend-dev-guidelines/resources/services-and-repositories.md +0 -789
  272. package/.claude/skills/backend-dev-guidelines/resources/testing-guide.md +0 -235
  273. package/.claude/skills/backend-dev-guidelines/resources/validation-patterns.md +0 -754
  274. package/.claude/skills/budget-and-cost-management/SKILL.md +0 -850
  275. package/.claude/skills/build-engineering/SKILL.md +0 -431
  276. package/.claude/skills/build-engineering/resources/artifact-repositories.md +0 -72
  277. package/.claude/skills/build-engineering/resources/build-caching.md +0 -96
  278. package/.claude/skills/build-engineering/resources/build-pipelines.md +0 -105
  279. package/.claude/skills/build-engineering/resources/build-security.md +0 -95
  280. package/.claude/skills/build-engineering/resources/build-systems.md +0 -389
  281. package/.claude/skills/build-engineering/resources/compilation-optimization.md +0 -201
  282. package/.claude/skills/build-engineering/resources/dependency-management.md +0 -73
  283. package/.claude/skills/build-engineering/resources/monorepo-builds.md +0 -110
  284. package/.claude/skills/build-engineering/resources/performance-optimization.md +0 -113
  285. package/.claude/skills/build-engineering/resources/reproducible-builds.md +0 -82
  286. package/.claude/skills/cloud-engineering/SKILL.md +0 -675
  287. package/.claude/skills/cloud-engineering/resources/aws-patterns.md +0 -742
  288. package/.claude/skills/cloud-engineering/resources/azure-patterns.md +0 -714
  289. package/.claude/skills/cloud-engineering/resources/cleared-cloud-environments.md +0 -987
  290. package/.claude/skills/cloud-engineering/resources/cloud-cost-optimization.md +0 -757
  291. package/.claude/skills/cloud-engineering/resources/cloud-networking.md +0 -1058
  292. package/.claude/skills/cloud-engineering/resources/cloud-security-tools.md +0 -1530
  293. package/.claude/skills/cloud-engineering/resources/cloud-security.md +0 -990
  294. package/.claude/skills/cloud-engineering/resources/gcp-patterns.md +0 -758
  295. package/.claude/skills/cloud-engineering/resources/migration-strategies.md +0 -820
  296. package/.claude/skills/cloud-engineering/resources/multi-cloud-strategies.md +0 -670
  297. package/.claude/skills/cloud-engineering/resources/oci-patterns.md +0 -1198
  298. package/.claude/skills/cloud-engineering/resources/serverless-patterns.md +0 -795
  299. package/.claude/skills/cloud-engineering/resources/well-architected-frameworks.md +0 -966
  300. package/.claude/skills/cybersecurity/SKILL.md +0 -409
  301. package/.claude/skills/cybersecurity/resources/security-architecture.md +0 -266
  302. package/.claude/skills/database-engineering/SKILL.md +0 -61
  303. package/.claude/skills/database-engineering/resources/backup-and-recovery.md +0 -72
  304. package/.claude/skills/database-engineering/resources/database-replication.md +0 -63
  305. package/.claude/skills/database-engineering/resources/postgresql-fundamentals.md +0 -70
  306. package/.claude/skills/database-engineering/resources/query-optimization.md +0 -68
  307. package/.claude/skills/devsecops/SKILL.md +0 -374
  308. package/.claude/skills/devsecops/resources/ci-cd-security.md +0 -204
  309. package/.claude/skills/devsecops/resources/compliance-automation.md +0 -530
  310. package/.claude/skills/devsecops/resources/compliance-frameworks.md +0 -2322
  311. package/.claude/skills/devsecops/resources/container-security.md +0 -915
  312. package/.claude/skills/devsecops/resources/cspm-integration.md +0 -1440
  313. package/.claude/skills/devsecops/resources/policy-enforcement.md +0 -619
  314. package/.claude/skills/devsecops/resources/secrets-management.md +0 -755
  315. package/.claude/skills/devsecops/resources/security-monitoring.md +0 -146
  316. package/.claude/skills/devsecops/resources/security-scanning.md +0 -887
  317. package/.claude/skills/devsecops/resources/security-testing.md +0 -203
  318. package/.claude/skills/devsecops/resources/supply-chain-security.md +0 -518
  319. package/.claude/skills/devsecops/resources/vulnerability-management.md +0 -481
  320. package/.claude/skills/devsecops/resources/zero-trust-architecture.md +0 -177
  321. package/.claude/skills/documentation-as-code/SKILL.md +0 -323
  322. package/.claude/skills/documentation-as-code/resources/api-documentation.md +0 -90
  323. package/.claude/skills/documentation-as-code/resources/changelog-management.md +0 -79
  324. package/.claude/skills/documentation-as-code/resources/diagram-generation.md +0 -44
  325. package/.claude/skills/documentation-as-code/resources/docs-as-code-workflow.md +0 -99
  326. package/.claude/skills/documentation-as-code/resources/documentation-automation.md +0 -68
  327. package/.claude/skills/documentation-as-code/resources/documentation-sites.md +0 -79
  328. package/.claude/skills/documentation-as-code/resources/markdown-best-practices.md +0 -162
  329. package/.claude/skills/documentation-as-code/resources/openapi-specification.md +0 -77
  330. package/.claude/skills/documentation-as-code/resources/readme-engineering.md +0 -60
  331. package/.claude/skills/documentation-as-code/resources/technical-writing-guide.md +0 -202
  332. package/.claude/skills/engineering-management/SKILL.md +0 -356
  333. package/.claude/skills/engineering-management/resources/career-ladders.md +0 -609
  334. package/.claude/skills/engineering-management/resources/hiring-and-assessment.md +0 -555
  335. package/.claude/skills/engineering-management/resources/one-on-one-guides.md +0 -609
  336. package/.claude/skills/engineering-management/resources/resource-planning.md +0 -557
  337. package/.claude/skills/engineering-management/resources/team-organization-patterns.md +0 -491
  338. package/.claude/skills/engineering-management/resources/technical-interviews.md +0 -474
  339. package/.claude/skills/engineering-operations-management/SKILL.md +0 -817
  340. package/.claude/skills/error-tracking/SKILL.md +0 -379
  341. package/.claude/skills/frontend-design/SKILL.md +0 -42
  342. package/.claude/skills/frontend-dev-guidelines/SKILL.md +0 -403
  343. package/.claude/skills/frontend-dev-guidelines/resources/common-patterns.md +0 -331
  344. package/.claude/skills/frontend-dev-guidelines/resources/complete-examples.md +0 -872
  345. package/.claude/skills/frontend-dev-guidelines/resources/component-patterns.md +0 -502
  346. package/.claude/skills/frontend-dev-guidelines/resources/data-fetching.md +0 -767
  347. package/.claude/skills/frontend-dev-guidelines/resources/file-organization.md +0 -502
  348. package/.claude/skills/frontend-dev-guidelines/resources/loading-and-error-states.md +0 -501
  349. package/.claude/skills/frontend-dev-guidelines/resources/performance.md +0 -406
  350. package/.claude/skills/frontend-dev-guidelines/resources/routing-guide.md +0 -364
  351. package/.claude/skills/frontend-dev-guidelines/resources/styling-guide.md +0 -428
  352. package/.claude/skills/frontend-dev-guidelines/resources/typescript-standards.md +0 -418
  353. package/.claude/skills/general-it-engineering/SKILL.md +0 -393
  354. package/.claude/skills/general-it-engineering/resources/asset-management.md +0 -712
  355. package/.claude/skills/general-it-engineering/resources/automation-orchestration.md +0 -817
  356. package/.claude/skills/general-it-engineering/resources/business-continuity.md +0 -786
  357. package/.claude/skills/general-it-engineering/resources/change-management.md +0 -715
  358. package/.claude/skills/general-it-engineering/resources/enterprise-monitoring.md +0 -729
  359. package/.claude/skills/general-it-engineering/resources/help-desk-operations.md +0 -738
  360. package/.claude/skills/general-it-engineering/resources/incident-service-management.md +0 -834
  361. package/.claude/skills/general-it-engineering/resources/it-governance.md +0 -753
  362. package/.claude/skills/general-it-engineering/resources/itil-framework.md +0 -503
  363. package/.claude/skills/general-it-engineering/resources/service-management.md +0 -669
  364. package/.claude/skills/infrastructure-architecture/SKILL.md +0 -328
  365. package/.claude/skills/infrastructure-architecture/resources/architecture-decision-records.md +0 -505
  366. package/.claude/skills/infrastructure-architecture/resources/architecture-patterns.md +0 -528
  367. package/.claude/skills/infrastructure-architecture/resources/capacity-planning.md +0 -453
  368. package/.claude/skills/infrastructure-architecture/resources/cleared-environment-architecture.md +0 -773
  369. package/.claude/skills/infrastructure-architecture/resources/cost-architecture.md +0 -499
  370. package/.claude/skills/infrastructure-architecture/resources/data-architecture.md +0 -501
  371. package/.claude/skills/infrastructure-architecture/resources/disaster-recovery.md +0 -535
  372. package/.claude/skills/infrastructure-architecture/resources/migration-architecture.md +0 -512
  373. package/.claude/skills/infrastructure-architecture/resources/multi-region-design.md +0 -608
  374. package/.claude/skills/infrastructure-architecture/resources/reference-architectures.md +0 -562
  375. package/.claude/skills/infrastructure-architecture/resources/security-architecture.md +0 -538
  376. package/.claude/skills/infrastructure-architecture/resources/system-design-principles.md +0 -489
  377. package/.claude/skills/infrastructure-architecture/resources/workload-classification.md +0 -1000
  378. package/.claude/skills/infrastructure-strategy/SKILL.md +0 -924
  379. package/.claude/skills/network-engineering/SKILL.md +0 -385
  380. package/.claude/skills/network-engineering/resources/dns-management.md +0 -738
  381. package/.claude/skills/network-engineering/resources/load-balancing.md +0 -820
  382. package/.claude/skills/network-engineering/resources/network-architecture.md +0 -546
  383. package/.claude/skills/network-engineering/resources/network-security.md +0 -921
  384. package/.claude/skills/network-engineering/resources/network-troubleshooting.md +0 -749
  385. package/.claude/skills/network-engineering/resources/routing-switching.md +0 -373
  386. package/.claude/skills/network-engineering/resources/sdn-networking.md +0 -695
  387. package/.claude/skills/network-engineering/resources/service-mesh-networking.md +0 -777
  388. package/.claude/skills/network-engineering/resources/tcp-ip-protocols.md +0 -444
  389. package/.claude/skills/network-engineering/resources/vpn-connectivity.md +0 -672
  390. package/.claude/skills/node-development/SKILL.md +0 -317
  391. package/.claude/skills/observability-engineering/SKILL.md +0 -101
  392. package/.claude/skills/observability-engineering/resources/apm-tools.md +0 -97
  393. package/.claude/skills/observability-engineering/resources/correlation-strategies.md +0 -87
  394. package/.claude/skills/observability-engineering/resources/distributed-tracing.md +0 -98
  395. package/.claude/skills/observability-engineering/resources/logs-aggregation.md +0 -118
  396. package/.claude/skills/observability-engineering/resources/observability-cost-optimization.md +0 -141
  397. package/.claude/skills/observability-engineering/resources/opentelemetry.md +0 -110
  398. package/.claude/skills/platform-engineering/SKILL.md +0 -555
  399. package/.claude/skills/platform-engineering/resources/architecture-overview.md +0 -600
  400. package/.claude/skills/platform-engineering/resources/container-orchestration.md +0 -916
  401. package/.claude/skills/platform-engineering/resources/cost-optimization.md +0 -634
  402. package/.claude/skills/platform-engineering/resources/developer-platforms.md +0 -670
  403. package/.claude/skills/platform-engineering/resources/gitops-automation.md +0 -650
  404. package/.claude/skills/platform-engineering/resources/infrastructure-as-code.md +0 -778
  405. package/.claude/skills/platform-engineering/resources/infrastructure-standards.md +0 -708
  406. package/.claude/skills/platform-engineering/resources/multi-tenancy.md +0 -602
  407. package/.claude/skills/platform-engineering/resources/platform-security.md +0 -711
  408. package/.claude/skills/platform-engineering/resources/resource-management.md +0 -592
  409. package/.claude/skills/platform-engineering/resources/service-mesh.md +0 -628
  410. package/.claude/skills/release-engineering/SKILL.md +0 -393
  411. package/.claude/skills/release-engineering/resources/artifact-management.md +0 -108
  412. package/.claude/skills/release-engineering/resources/build-optimization.md +0 -84
  413. package/.claude/skills/release-engineering/resources/ci-cd-pipelines.md +0 -411
  414. package/.claude/skills/release-engineering/resources/deployment-strategies.md +0 -197
  415. package/.claude/skills/release-engineering/resources/pipeline-security.md +0 -62
  416. package/.claude/skills/release-engineering/resources/progressive-delivery.md +0 -83
  417. package/.claude/skills/release-engineering/resources/release-automation.md +0 -68
  418. package/.claude/skills/release-engineering/resources/release-orchestration.md +0 -77
  419. package/.claude/skills/release-engineering/resources/rollback-strategies.md +0 -66
  420. package/.claude/skills/release-engineering/resources/versioning-strategies.md +0 -59
  421. package/.claude/skills/route-tester/SKILL.md +0 -392
  422. package/.claude/skills/skill-developer/ADVANCED.md +0 -197
  423. package/.claude/skills/skill-developer/HOOK_MECHANISMS.md +0 -306
  424. package/.claude/skills/skill-developer/PATTERNS_LIBRARY.md +0 -152
  425. package/.claude/skills/skill-developer/SKILL.md +0 -430
  426. package/.claude/skills/skill-developer/SKILL_RULES_REFERENCE.md +0 -315
  427. package/.claude/skills/skill-developer/TRIGGER_TYPES.md +0 -305
  428. package/.claude/skills/skill-developer/TROUBLESHOOTING.md +0 -514
  429. package/.claude/skills/skill-rules.json +0 -2989
  430. package/.claude/skills/sre/SKILL.md +0 -464
  431. package/.claude/skills/sre/resources/alerting-best-practices.md +0 -282
  432. package/.claude/skills/sre/resources/capacity-planning.md +0 -226
  433. package/.claude/skills/sre/resources/chaos-engineering.md +0 -193
  434. package/.claude/skills/sre/resources/disaster-recovery.md +0 -232
  435. package/.claude/skills/sre/resources/incident-management.md +0 -436
  436. package/.claude/skills/sre/resources/observability-stack.md +0 -240
  437. package/.claude/skills/sre/resources/on-call-runbooks.md +0 -167
  438. package/.claude/skills/sre/resources/performance-optimization.md +0 -108
  439. package/.claude/skills/sre/resources/reliability-patterns.md +0 -183
  440. package/.claude/skills/sre/resources/slo-sli-sla.md +0 -464
  441. package/.claude/skills/sre/resources/toil-reduction.md +0 -145
  442. package/.claude/skills/systems-engineering/SKILL.md +0 -648
  443. package/.claude/skills/systems-engineering/resources/automation-patterns.md +0 -771
  444. package/.claude/skills/systems-engineering/resources/configuration-management.md +0 -998
  445. package/.claude/skills/systems-engineering/resources/linux-administration.md +0 -672
  446. package/.claude/skills/systems-engineering/resources/networking-fundamentals.md +0 -982
  447. package/.claude/skills/systems-engineering/resources/performance-tuning.md +0 -871
  448. package/.claude/skills/systems-engineering/resources/powershell-scripting.md +0 -482
  449. package/.claude/skills/systems-engineering/resources/security-hardening.md +0 -739
  450. package/.claude/skills/systems-engineering/resources/shell-scripting.md +0 -915
  451. package/.claude/skills/systems-engineering/resources/storage-management.md +0 -628
  452. package/.claude/skills/systems-engineering/resources/system-monitoring.md +0 -787
  453. package/.claude/skills/systems-engineering/resources/troubleshooting-guide.md +0 -753
  454. package/.claude/skills/systems-engineering/resources/windows-administration.md +0 -738
  455. package/.claude/skills/technical-leadership/SKILL.md +0 -728
  456. package/backend/docs/SECRETS_DOCUMENTATION.md +0 -327
  457. package/backend/package-lock.json +0 -6801
  458. package/backend/src/core/node-registries/actions.js +0 -202
  459. package/backend/src/core/node-registries/arrays.js +0 -155
  460. package/backend/src/core/node-registries/bot.js +0 -23
  461. package/backend/src/core/node-registries/container.js +0 -162
  462. package/backend/src/core/node-registries/data.js +0 -290
  463. package/backend/src/core/node-registries/debug.js +0 -26
  464. package/backend/src/core/node-registries/events.js +0 -201
  465. package/backend/src/core/node-registries/flow.js +0 -139
  466. package/backend/src/core/node-registries/furnace.js +0 -143
  467. package/backend/src/core/node-registries/logic.js +0 -62
  468. package/backend/src/core/node-registries/math.js +0 -42
  469. package/backend/src/core/node-registries/navigation.js +0 -111
  470. package/backend/src/core/node-registries/objects.js +0 -98
  471. package/backend/src/core/node-registries/strings.js +0 -187
  472. package/backend/src/core/node-registries/time.js +0 -113
  473. package/backend/src/core/node-registries/type.js +0 -25
  474. package/backend/src/core/node-registries/users.js +0 -79
  475. package/frontend/dist/assets/index-BC-NbKXi.css +0 -32
  476. package/frontend/dist/assets/index-DqJXZMHY.js +0 -11266
@@ -1,95 +0,0 @@
1
- # Build Security
2
-
3
- Guide to supply chain security including SBOM generation, signed artifacts, and dependency attestation.
4
-
5
- ## Overview
6
-
7
- Build security protects against supply chain attacks and ensures artifact integrity.
8
-
9
- ## SBOM Generation
10
-
11
- ### CycloneDX
12
- ```bash
13
- # Generate SBOM
14
- cyclonedx-cli generate -i . -o sbom.json
15
-
16
- # Validate
17
- cyclonedx-cli validate --input-file sbom.json
18
- ```
19
-
20
- ### Syft
21
- ```bash
22
- # Generate from image
23
- syft packages myapp:latest -o cyclonedx-json > sbom.json
24
-
25
- # Multiple formats
26
- syft packages . -o table,json,cyclonedx
27
- ```
28
-
29
- ## Artifact Signing
30
-
31
- ### GPG Signing
32
- ```bash
33
- # Sign artifact
34
- gpg --armor --detach-sign artifact.jar
35
-
36
- # Verify
37
- gpg --verify artifact.jar.asc artifact.jar
38
- ```
39
-
40
- ### Cosign (Container)
41
- ```bash
42
- # Sign image
43
- cosign sign registry.io/myapp:v1.0
44
-
45
- # Verify
46
- cosign verify registry.io/myapp:v1.0
47
- ```
48
-
49
- ## Dependency Attestation
50
-
51
- ### SLSA Provenance
52
- ```yaml
53
- # GitHub Actions
54
- - name: Generate provenance
55
- uses: slsa-framework/slsa-github-generator/.github/workflows/generator_generic_slsa3.yml@v1.2.0
56
- ```
57
-
58
- ## Vulnerability Scanning
59
-
60
- ### Trivy
61
- ```bash
62
- # Scan image
63
- trivy image myapp:latest
64
-
65
- # Scan filesystem
66
- trivy fs .
67
-
68
- # Generate report
69
- trivy image --format json -o results.json myapp:latest
70
- ```
71
-
72
- ### Snyk
73
- ```bash
74
- # Test dependencies
75
- snyk test
76
-
77
- # Monitor project
78
- snyk monitor
79
-
80
- # Test container
81
- snyk container test myapp:latest
82
- ```
83
-
84
- ## Best Practices
85
-
86
- 1. **Generate SBOM** - For every release
87
- 2. **Sign artifacts** - Cryptographic signatures
88
- 3. **Scan dependencies** - Automated vulnerability scanning
89
- 4. **Pin versions** - Exact dependency versions
90
- 5. **Verify signatures** - Before deployment
91
- 6. **Audit build process** - Regular security reviews
92
- 7. **Least privilege** - Minimal build permissions
93
- 8. **Secure secrets** - Never commit secrets
94
- 9. **Provenance tracking** - Build metadata
95
- 10. **Regular updates** - Keep dependencies current
@@ -1,389 +0,0 @@
1
- # Build Systems
2
-
3
- Comprehensive comparison and guide for modern build systems including Make, Gradle, Maven, Bazel, npm/yarn/pnpm, and tool selection criteria.
4
-
5
- ## Table of Contents
6
-
7
- - [Overview](#overview)
8
- - [Make](#make)
9
- - [Gradle](#gradle)
10
- - [Maven](#maven)
11
- - [Bazel](#bazel)
12
- - [npm/yarn/pnpm](#npmyarnpnpm)
13
- - [Comparison](#comparison)
14
- - [Tool Selection](#tool-selection)
15
- - [Best Practices](#best-practices)
16
-
17
- ## Overview
18
-
19
- Build systems automate the process of converting source code into executable artifacts. Choosing the right build tool depends on language ecosystem, project size, team expertise, and build requirements.
20
-
21
- **Key Capabilities:**
22
- - Dependency management
23
- - Incremental compilation
24
- - Parallel execution
25
- - Build caching
26
- - Multi-platform support
27
- - Plugin ecosystem
28
-
29
- ## Make
30
-
31
- Classic build tool based on file dependencies and timestamps.
32
-
33
- **Makefile:**
34
- ```makefile
35
- CC = gcc
36
- CFLAGS = -Wall -O2
37
- TARGET = myapp
38
- SOURCES = main.c utils.c
39
- OBJECTS = $(SOURCES:.c=.o)
40
-
41
- .PHONY: all clean
42
-
43
- all: $(TARGET)
44
-
45
- $(TARGET): $(OBJECTS)
46
- $(CC) $(CFLAGS) -o $@ $^
47
-
48
- %.o: %.c
49
- $(CC) $(CFLAGS) -c $< -o $@
50
-
51
- clean:
52
- rm -f $(OBJECTS) $(TARGET)
53
-
54
- install: $(TARGET)
55
- install -m 755 $(TARGET) /usr/local/bin
56
- ```
57
-
58
- **Pros:**
59
- - Universal, installed everywhere
60
- - Simple for small projects
61
- - Fast dependency checking
62
- - Language agnostic
63
-
64
- **Cons:**
65
- - Complex syntax for large projects
66
- - No built-in dependency management
67
- - Platform-specific makefiles
68
- - No standardized project structure
69
-
70
- ## Gradle
71
-
72
- Flexible JVM build tool with Groovy/Kotlin DSL.
73
-
74
- **build.gradle.kts:**
75
- ```kotlin
76
- plugins {
77
- kotlin("jvm") version "1.9.0"
78
- application
79
- }
80
-
81
- group = "com.example"
82
- version = "1.0.0"
83
-
84
- repositories {
85
- mavenCentral()
86
- }
87
-
88
- dependencies {
89
- implementation("org.springframework.boot:spring-boot-starter-web:3.1.0")
90
- testImplementation("org.junit.jupiter:junit-jupiter:5.9.3")
91
- }
92
-
93
- tasks.test {
94
- useJUnitPlatform()
95
- }
96
-
97
- application {
98
- mainClass.set("com.example.MainKt")
99
- }
100
-
101
- // Custom task
102
- tasks.register("hello") {
103
- doLast {
104
- println("Hello from Gradle!")
105
- }
106
- }
107
-
108
- // Parallel compilation
109
- tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
110
- kotlinOptions {
111
- jvmTarget = "17"
112
- }
113
- }
114
- ```
115
-
116
- **Multi-Module Project:**
117
- ```kotlin
118
- // settings.gradle.kts
119
- rootProject.name = "myapp"
120
- include("api", "core", "web")
121
-
122
- // api/build.gradle.kts
123
- dependencies {
124
- implementation(project(":core"))
125
- }
126
- ```
127
-
128
- **Pros:**
129
- - Flexible and powerful
130
- - Excellent for multi-module projects
131
- - Strong caching support
132
- - Large plugin ecosystem
133
-
134
- **Cons:**
135
- - Steep learning curve
136
- - Build scripts can become complex
137
- - Slower than some alternatives
138
-
139
- ## Maven
140
-
141
- Convention-over-configuration JVM build tool.
142
-
143
- **pom.xml:**
144
- ```xml
145
- <project xmlns="http://maven.apache.org/POM/4.0.0">
146
- <modelVersion>4.0.0</modelVersion>
147
-
148
- <groupId>com.example</groupId>
149
- <artifactId>myapp</artifactId>
150
- <version>1.0.0</version>
151
- <packaging>jar</packaging>
152
-
153
- <properties>
154
- <java.version>17</java.version>
155
- <maven.compiler.source>17</maven.compiler.source>
156
- <maven.compiler.target>17</maven.compiler.target>
157
- </properties>
158
-
159
- <dependencies>
160
- <dependency>
161
- <groupId>org.springframework.boot</groupId>
162
- <artifactId>spring-boot-starter-web</artifactId>
163
- <version>3.1.0</version>
164
- </dependency>
165
- <dependency>
166
- <groupId>org.junit.jupiter</groupId>
167
- <artifactId>junit-jupiter</artifactId>
168
- <version>5.9.3</version>
169
- <scope>test</scope>
170
- </dependency>
171
- </dependencies>
172
-
173
- <build>
174
- <plugins>
175
- <plugin>
176
- <groupId>org.springframework.boot</groupId>
177
- <artifactId>spring-boot-maven-plugin</artifactId>
178
- </plugin>
179
- </plugins>
180
- </build>
181
- </project>
182
- ```
183
-
184
- **Multi-Module:**
185
- ```xml
186
- <!-- Parent pom.xml -->
187
- <modules>
188
- <module>api</module>
189
- <module>core</module>
190
- <module>web</module>
191
- </modules>
192
-
193
- <!-- Child module -->
194
- <parent>
195
- <groupId>com.example</groupId>
196
- <artifactId>parent</artifactId>
197
- <version>1.0.0</version>
198
- </parent>
199
- ```
200
-
201
- **Pros:**
202
- - Strong conventions
203
- - Standardized structure
204
- - Mature ecosystem
205
- - Great for Java projects
206
-
207
- **Cons:**
208
- - XML verbose
209
- - Less flexible than Gradle
210
- - Slower build times
211
-
212
- ## Bazel
213
-
214
- Hermetic, reproducible build system for monorepos.
215
-
216
- **WORKSPACE:**
217
- ```python
218
- workspace(name = "myapp")
219
-
220
- load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
221
-
222
- http_archive(
223
- name = "rules_jvm_external",
224
- sha256 = "...",
225
- url = "https://github.com/bazelbuild/rules_jvm_external/releases/download/4.5/rules_jvm_external-4.5.tar.gz",
226
- )
227
-
228
- load("@rules_jvm_external//:defs.bzl", "maven_install")
229
-
230
- maven_install(
231
- artifacts = [
232
- "com.google.guava:guava:31.1-jre",
233
- "org.junit.jupiter:junit-jupiter:5.9.3",
234
- ],
235
- repositories = [
236
- "https://repo1.maven.org/maven2",
237
- ],
238
- )
239
- ```
240
-
241
- **BUILD:**
242
- ```python
243
- java_library(
244
- name = "core",
245
- srcs = glob(["src/main/java/**/*.java"]),
246
- deps = [
247
- "@maven//:com_google_guava_guava",
248
- ],
249
- visibility = ["//visibility:public"],
250
- )
251
-
252
- java_binary(
253
- name = "app",
254
- srcs = ["Main.java"],
255
- deps = [":core"],
256
- main_class = "com.example.Main",
257
- )
258
-
259
- java_test(
260
- name = "core_test",
261
- srcs = glob(["src/test/java/**/*.java"]),
262
- deps = [
263
- ":core",
264
- "@maven//:org_junit_jupiter_junit_jupiter",
265
- ],
266
- )
267
- ```
268
-
269
- **Pros:**
270
- - Truly reproducible builds
271
- - Excellent for monorepos
272
- - Multi-language support
273
- - Powerful caching
274
-
275
- **Cons:**
276
- - Steep learning curve
277
- - Complex configuration
278
- - Requires infrastructure investment
279
-
280
- ## npm/yarn/pnpm
281
-
282
- JavaScript/TypeScript package managers and build tools.
283
-
284
- **package.json:**
285
- ```json
286
- {
287
- "name": "myapp",
288
- "version": "1.0.0",
289
- "scripts": {
290
- "build": "tsc",
291
- "test": "jest",
292
- "lint": "eslint src/**/*.ts",
293
- "start": "node dist/index.js"
294
- },
295
- "dependencies": {
296
- "express": "^4.18.2"
297
- },
298
- "devDependencies": {
299
- "@types/express": "^4.17.17",
300
- "typescript": "^5.1.6",
301
- "jest": "^29.6.1"
302
- }
303
- }
304
- ```
305
-
306
- **pnpm Workspace:**
307
- ```yaml
308
- # pnpm-workspace.yaml
309
- packages:
310
- - 'packages/*'
311
- - 'apps/*'
312
- ```
313
-
314
- **Comparison:**
315
-
316
- | Feature | npm | yarn | pnpm |
317
- |---------|-----|------|------|
318
- | Speed | Slow | Fast | Fastest |
319
- | Disk Usage | High | High | Low (hard links) |
320
- | Workspaces | Yes | Yes | Yes |
321
- | Offline | No | Yes | Yes |
322
-
323
- **Pros:**
324
- - Native JavaScript ecosystem
325
- - Large package registry
326
- - Simple configuration
327
- - Fast iteration
328
-
329
- **Cons:**
330
- - Dependency hell without lock files
331
- - Security concerns
332
- - No type safety in package.json
333
-
334
- ## Comparison
335
-
336
- | Feature | Make | Gradle | Maven | Bazel | npm |
337
- |---------|------|--------|-------|-------|-----|
338
- | Learning Curve | Low | High | Medium | Very High | Low |
339
- | Build Speed | Fast | Medium | Slow | Very Fast | Medium |
340
- | Caching | Manual | Good | Limited | Excellent | Good |
341
- | Incremental | Manual | Yes | Limited | Yes | Yes |
342
- | Multi-language | Yes | Limited | No | Yes | No |
343
- | Reproducibility | No | Medium | Medium | Excellent | Medium |
344
- | Best For | C/C++ | JVM | Java | Monorepo | JS/TS |
345
-
346
- ## Tool Selection
347
-
348
- **Choose Make when:**
349
- - Building C/C++ projects
350
- - Simple build requirements
351
- - System-level projects
352
- - Maximum portability needed
353
-
354
- **Choose Gradle when:**
355
- - JVM projects (Java, Kotlin, Scala)
356
- - Need flexibility and customization
357
- - Multi-module projects
358
- - Android development
359
-
360
- **Choose Maven when:**
361
- - Standard Java projects
362
- - Prefer convention over configuration
363
- - Enterprise Java development
364
- - Team familiar with Maven
365
-
366
- **Choose Bazel when:**
367
- - Large monorepo
368
- - Need reproducible builds
369
- - Multi-language projects
370
- - Have infrastructure resources
371
-
372
- **Choose npm/yarn/pnpm when:**
373
- - JavaScript/TypeScript projects
374
- - Frontend development
375
- - Node.js applications
376
- - Need quick iteration
377
-
378
- ## Best Practices
379
-
380
- 1. **Use dependency locking** - Lock files for reproducibility
381
- 2. **Enable caching** - Local and remote caching
382
- 3. **Parallelize builds** - Use tool's parallel features
383
- 4. **Version build tools** - Lock build tool versions
384
- 5. **Clean separation** - Separate build from runtime
385
- 6. **Monitor build times** - Track and optimize
386
- 7. **Use incremental builds** - Don't rebuild unnecessarily
387
- 8. **Document builds** - README with build instructions
388
- 9. **Automate in CI** - Same commands local and CI
389
- 10. **Keep it simple** - Don't over-engineer build scripts
@@ -1,201 +0,0 @@
1
- # Compilation Optimization
2
-
3
- Guide to optimizing compilation including compiler flags, incremental compilation, distributed builds, ccache, and parallel compilation strategies.
4
-
5
- ## Table of Contents
6
-
7
- - [Overview](#overview)
8
- - [Compiler Flags](#compiler-flags)
9
- - [Incremental Compilation](#incremental-compilation)
10
- - [Distributed Builds](#distributed-builds)
11
- - [ccache](#ccache)
12
- - [Parallel Compilation](#parallel-compilation)
13
- - [Best Practices](#best-practices)
14
-
15
- ## Overview
16
-
17
- Compilation optimization reduces build times through intelligent caching, parallelization, and compiler settings.
18
-
19
- **Key Techniques:**
20
- - Compiler optimization flags
21
- - Incremental compilation
22
- - Distributed compilation
23
- - Compilation caching
24
- - Parallel execution
25
- - Precompiled headers
26
-
27
- ## Compiler Flags
28
-
29
- ### GCC/Clang Optimization Levels
30
-
31
- ```bash
32
- # No optimization (fast compile, slow runtime)
33
- gcc -O0 source.c -o app
34
-
35
- # Basic optimization
36
- gcc -O1 source.c -o app
37
-
38
- # Recommended for production
39
- gcc -O2 source.c -o app
40
-
41
- # Aggressive optimization (larger binaries)
42
- gcc -O3 source.c -o app
43
-
44
- # Size optimization
45
- gcc -Os source.c -o app
46
- ```
47
-
48
- ### Debug vs Release Flags
49
-
50
- ```makefile
51
- # Debug build
52
- CFLAGS_DEBUG = -g -O0 -DDEBUG -Wall -Wextra
53
-
54
- # Release build
55
- CFLAGS_RELEASE = -O2 -DNDEBUG -march=native
56
- ```
57
-
58
- ### Link-Time Optimization (LTO)
59
-
60
- ```bash
61
- # GCC LTO
62
- gcc -flto -O2 source.c -o app
63
-
64
- # Clang LTO
65
- clang -flto -O2 source.c -o app
66
- ```
67
-
68
- ## Incremental Compilation
69
-
70
- ### Java Incremental Compilation
71
-
72
- ```kotlin
73
- // build.gradle.kts
74
- tasks.withType<JavaCompile> {
75
- options.isIncremental = true
76
- }
77
- ```
78
-
79
- ### TypeScript Incremental
80
-
81
- ```json
82
- {
83
- "compilerOptions": {
84
- "incremental": true,
85
- "composite": true,
86
- "tsBuildInfoFile": "./.tsbuildinfo"
87
- }
88
- }
89
- ```
90
-
91
- ### Rust Incremental
92
-
93
- ```bash
94
- # Enable incremental compilation
95
- export CARGO_INCREMENTAL=1
96
-
97
- # Or in Cargo.toml
98
- [profile.dev]
99
- incremental = true
100
- ```
101
-
102
- ## Distributed Builds
103
-
104
- ### distcc (C/C++)
105
-
106
- ```bash
107
- # Setup distcc hosts
108
- export DISTCC_HOSTS="localhost/8 server1/4 server2/4"
109
-
110
- # Use with Make
111
- make -j16 CC="distcc gcc" CXX="distcc g++"
112
-
113
- # Monitoring
114
- distccmon-text 1
115
- ```
116
-
117
- ### Bazel Remote Execution
118
-
119
- ```python
120
- # .bazelrc
121
- build --remote_executor=grpc://build-server:8980
122
- build --remote_cache=grpc://cache-server:8980
123
- ```
124
-
125
- ## ccache
126
-
127
- ### Setup and Configuration
128
-
129
- ```bash
130
- # Install
131
- sudo apt-get install ccache
132
-
133
- # Configure
134
- export CC="ccache gcc"
135
- export CXX="ccache g++"
136
-
137
- # Set cache size
138
- ccache -M 10G
139
-
140
- # Statistics
141
- ccache -s
142
-
143
- # Clear cache
144
- ccache -C
145
- ```
146
-
147
- ### CMake Integration
148
-
149
- ```cmake
150
- find_program(CCACHE_FOUND ccache)
151
- if(CCACHE_FOUND)
152
- set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
153
- set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
154
- endif()
155
- ```
156
-
157
- ## Parallel Compilation
158
-
159
- ### Make Parallel Builds
160
-
161
- ```bash
162
- # Use all CPU cores
163
- make -j$(nproc)
164
-
165
- # Specific number of jobs
166
- make -j8
167
- ```
168
-
169
- ### Gradle Parallel
170
-
171
- ```kotlin
172
- // gradle.properties
173
- org.gradle.parallel=true
174
- org.gradle.workers.max=8
175
- org.gradle.caching=true
176
- ```
177
-
178
- ### npm Parallel
179
-
180
- ```json
181
- {
182
- "scripts": {
183
- "build": "npm-run-all --parallel build:*",
184
- "build:client": "webpack",
185
- "build:server": "tsc"
186
- }
187
- }
188
- ```
189
-
190
- ## Best Practices
191
-
192
- 1. **Use incremental compilation** - Only rebuild changed files
193
- 2. **Enable caching** - ccache, sccache for native, gradle cache
194
- 3. **Parallelize** - Use -j flag, parallel build options
195
- 4. **Optimize flags** - -O2 for production, -O0 for debug
196
- 5. **Use LTO** - Better optimization, smaller binaries
197
- 6. **Distribute builds** - For large codebases
198
- 7. **Monitor metrics** - Track compilation times
199
- 8. **Precompiled headers** - For C++ projects
200
- 9. **Clean periodically** - Remove stale artifacts
201
- 10. **Profile builds** - Identify bottlenecks