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,738 +0,0 @@
1
- # Windows Administration
2
-
3
- Comprehensive guide to Windows Server administration covering Active Directory, Group Policy, Windows services, IIS, WSUS, security hardening, and operational management.
4
-
5
- ## Windows Server Architecture
6
-
7
- ### Server Roles and Features
8
-
9
- ```
10
- ┌─────────────────────────────────────────────────────────────┐
11
- │ Windows Server Roles │
12
- ├─────────────────────────────────────────────────────────────┤
13
- │ Active Directory Domain Services (AD DS) │
14
- │ DNS Server │
15
- │ DHCP Server │
16
- │ File and Storage Services │
17
- │ Web Server (IIS) │
18
- │ Hyper-V │
19
- │ Remote Desktop Services │
20
- │ Windows Server Update Services (WSUS) │
21
- └─────────────────────────────────────────────────────────────┘
22
- ```
23
-
24
- **Installing Roles with PowerShell:**
25
- ```powershell
26
- # Install AD Domain Services
27
- Install-WindowsFeature -Name AD-Domain-Services -IncludeManagementTools
28
-
29
- # Install DNS Server
30
- Install-WindowsFeature -Name DNS -IncludeManagementTools
31
-
32
- # Install IIS with common features
33
- Install-WindowsFeature -Name Web-Server -IncludeAllSubFeature -IncludeManagementTools
34
-
35
- # Install WSUS
36
- Install-WindowsFeature -Name UpdateServices -IncludeManagementTools
37
-
38
- # List all available roles and features
39
- Get-WindowsFeature
40
-
41
- # Remove a role
42
- Uninstall-WindowsFeature -Name Web-Server -Remove
43
- ```
44
-
45
- ## Active Directory Domain Services
46
-
47
- ### Domain Controller Setup
48
-
49
- **Promote Server to Domain Controller:**
50
- ```powershell
51
- # Install AD DS role first
52
- Install-WindowsFeature -Name AD-Domain-Services -IncludeManagementTools
53
-
54
- # Create new forest
55
- $domainName = "company.local"
56
- $netbiosName = "COMPANY"
57
- $safeModePwd = ConvertTo-SecureString "P@ssw0rd123!" -AsPlainText -Force
58
-
59
- Install-ADDSForest `
60
- -DomainName $domainName `
61
- -DomainNetbiosName $netbiosName `
62
- -ForestMode "WinThreshold" `
63
- -DomainMode "WinThreshold" `
64
- -InstallDns `
65
- -SafeModeAdministratorPassword $safeModePwd `
66
- -Force
67
-
68
- # Add additional domain controller to existing domain
69
- $credential = Get-Credential "COMPANY\Administrator"
70
-
71
- Install-ADDSDomainController `
72
- -DomainName "company.local" `
73
- -Credential $credential `
74
- -InstallDns `
75
- -SafeModeAdministratorPassword $safeModePwd `
76
- -Force
77
- ```
78
-
79
- ### Active Directory User Management
80
-
81
- **Creating and Managing Users:**
82
- ```powershell
83
- # Import AD module
84
- Import-Module ActiveDirectory
85
-
86
- # Create new user
87
- New-ADUser `
88
- -Name "John Smith" `
89
- -GivenName "John" `
90
- -Surname "Smith" `
91
- -SamAccountName "jsmith" `
92
- -UserPrincipalName "jsmith@company.local" `
93
- -Path "OU=Users,OU=IT,DC=company,DC=local" `
94
- -AccountPassword (ConvertTo-SecureString "P@ssw0rd123!" -AsPlainText -Force) `
95
- -Enabled $true `
96
- -ChangePasswordAtLogon $true `
97
- -Description "IT Administrator" `
98
- -Department "IT" `
99
- -Title "System Administrator"
100
-
101
- # Bulk user creation from CSV
102
- $users = Import-Csv "C:\users.csv"
103
- foreach ($user in $users) {
104
- New-ADUser `
105
- -Name "$($user.FirstName) $($user.LastName)" `
106
- -GivenName $user.FirstName `
107
- -Surname $user.LastName `
108
- -SamAccountName $user.Username `
109
- -UserPrincipalName "$($user.Username)@company.local" `
110
- -Path $user.OU `
111
- -AccountPassword (ConvertTo-SecureString $user.Password -AsPlainText -Force) `
112
- -Enabled $true `
113
- -Department $user.Department
114
- }
115
-
116
- # Modify user properties
117
- Set-ADUser -Identity "jsmith" -Title "Senior System Administrator" -Department "IT"
118
-
119
- # Disable user account
120
- Disable-ADAccount -Identity "jsmith"
121
-
122
- # Enable user account
123
- Enable-ADAccount -Identity "jsmith"
124
-
125
- # Reset password
126
- Set-ADAccountPassword -Identity "jsmith" -Reset -NewPassword (ConvertTo-SecureString "NewP@ssw0rd!" -AsPlainText -Force)
127
-
128
- # Find inactive users (not logged in for 90 days)
129
- $inactiveDays = 90
130
- $cutoffDate = (Get-Date).AddDays(-$inactiveDays)
131
- Search-ADAccount -UsersOnly -AccountInactive -TimeSpan $inactiveDays |
132
- Select-Object Name, SamAccountName, LastLogonDate
133
-
134
- # Find locked accounts
135
- Search-ADAccount -LockedOut | Select-Object Name, SamAccountName, LockedOut
136
-
137
- # Unlock account
138
- Unlock-ADAccount -Identity "jsmith"
139
- ```
140
-
141
- ### Organizational Units (OUs) and Groups
142
-
143
- **OU Management:**
144
- ```powershell
145
- # Create OU structure
146
- New-ADOrganizationalUnit -Name "IT" -Path "DC=company,DC=local"
147
- New-ADOrganizationalUnit -Name "Users" -Path "OU=IT,DC=company,DC=local"
148
- New-ADOrganizationalUnit -Name "Computers" -Path "OU=IT,DC=company,DC=local"
149
-
150
- # Move user to different OU
151
- Move-ADObject -Identity "CN=John Smith,OU=Users,DC=company,DC=local" `
152
- -TargetPath "OU=Users,OU=IT,DC=company,DC=local"
153
-
154
- # Delete OU (must be empty or use -Recursive)
155
- Remove-ADOrganizationalUnit -Identity "OU=OldOU,DC=company,DC=local" -Recursive -Confirm:$false
156
- ```
157
-
158
- **Group Management:**
159
- ```powershell
160
- # Create security group
161
- New-ADGroup `
162
- -Name "IT-Administrators" `
163
- -SamAccountName "IT-Admins" `
164
- -GroupCategory Security `
165
- -GroupScope Global `
166
- -Path "OU=Groups,OU=IT,DC=company,DC=local" `
167
- -Description "IT Department Administrators"
168
-
169
- # Add user to group
170
- Add-ADGroupMember -Identity "IT-Administrators" -Members "jsmith"
171
-
172
- # Add multiple users
173
- Add-ADGroupMember -Identity "IT-Administrators" -Members @("jsmith", "jdoe", "aadams")
174
-
175
- # Remove user from group
176
- Remove-ADGroupMember -Identity "IT-Administrators" -Members "jsmith" -Confirm:$false
177
-
178
- # List group members
179
- Get-ADGroupMember -Identity "IT-Administrators" | Select-Object Name, SamAccountName
180
-
181
- # List groups user belongs to
182
- Get-ADPrincipalGroupMembership -Identity "jsmith" | Select-Object Name
183
- ```
184
-
185
- ## Group Policy (GPO)
186
-
187
- ### Creating and Managing GPOs
188
-
189
- **PowerShell GPO Management:**
190
- ```powershell
191
- # Import Group Policy module
192
- Import-Module GroupPolicy
193
-
194
- # Create new GPO
195
- New-GPO -Name "Security-Baseline" -Comment "Corporate security baseline settings"
196
-
197
- # Link GPO to OU
198
- New-GPLink -Name "Security-Baseline" -Target "OU=IT,DC=company,DC=local" -LinkEnabled Yes
199
-
200
- # Set GPO registry value (example: disable guest account)
201
- Set-GPRegistryValue -Name "Security-Baseline" `
202
- -Key "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" `
203
- -ValueName "AutoAdminLogon" `
204
- -Type String `
205
- -Value "0"
206
-
207
- # Backup GPO
208
- Backup-GPO -Name "Security-Baseline" -Path "C:\GPO-Backups"
209
-
210
- # Backup all GPOs
211
- Backup-GPO -All -Path "C:\GPO-Backups"
212
-
213
- # Restore GPO
214
- Restore-GPO -Name "Security-Baseline" -Path "C:\GPO-Backups"
215
-
216
- # Generate GPO report
217
- Get-GPOReport -Name "Security-Baseline" -ReportType Html -Path "C:\Reports\SecurityBaseline.html"
218
-
219
- # List all GPOs
220
- Get-GPO -All | Select-Object DisplayName, GpoStatus, CreationTime
221
-
222
- # Force Group Policy update on client
223
- gpupdate /force
224
-
225
- # Force Group Policy update remotely
226
- Invoke-Command -ComputerName "WS01" -ScriptBlock { gpupdate /force }
227
- ```
228
-
229
- ### Common GPO Settings
230
-
231
- **Security Policies via GPO:**
232
- ```powershell
233
- # Password Policy (via Set-ADDefaultDomainPasswordPolicy)
234
- Set-ADDefaultDomainPasswordPolicy -Identity "company.local" `
235
- -MinPasswordLength 14 `
236
- -PasswordHistoryCount 24 `
237
- -MaxPasswordAge (New-TimeSpan -Days 90) `
238
- -MinPasswordAge (New-TimeSpan -Days 1) `
239
- -ComplexityEnabled $true `
240
- -LockoutDuration (New-TimeSpan -Minutes 30) `
241
- -LockoutThreshold 5 `
242
- -LockoutObservationWindow (New-TimeSpan -Minutes 30)
243
-
244
- # Account Lockout Policy via LGPO
245
- # Note: Complex GPO settings typically done via GUI or LGPO tool
246
- # Example: Deploy Security Template
247
- secedit /configure /db secedit.sdb /cfg "C:\SecurityTemplates\baseline.inf"
248
- ```
249
-
250
- ## Windows Services
251
-
252
- ### Service Management
253
-
254
- **Managing Services with PowerShell:**
255
- ```powershell
256
- # List all services
257
- Get-Service | Select-Object Name, DisplayName, Status, StartType
258
-
259
- # Get specific service
260
- Get-Service -Name "W3SVC" # IIS
261
-
262
- # Start service
263
- Start-Service -Name "W3SVC"
264
-
265
- # Stop service
266
- Stop-Service -Name "W3SVC"
267
-
268
- # Restart service
269
- Restart-Service -Name "W3SVC"
270
-
271
- # Set service startup type
272
- Set-Service -Name "W3SVC" -StartupType Automatic
273
-
274
- # Create new service (example: run PowerShell script as service)
275
- New-Service -Name "CustomMonitor" `
276
- -BinaryPathName "C:\Scripts\monitor.exe" `
277
- -DisplayName "Custom Monitoring Service" `
278
- -Description "Monitors system resources" `
279
- -StartupType Automatic
280
-
281
- # Delete service
282
- Remove-Service -Name "CustomMonitor" # PowerShell 6+
283
- # For PowerShell 5.1 and earlier:
284
- sc.exe delete "CustomMonitor"
285
-
286
- # Get service dependencies
287
- Get-Service -Name "W3SVC" -DependentServices
288
- Get-Service -Name "W3SVC" -RequiredServices
289
-
290
- # Filter running services
291
- Get-Service | Where-Object { $_.Status -eq "Running" }
292
-
293
- # Monitor service and restart if stopped
294
- $serviceName = "W3SVC"
295
- $service = Get-Service -Name $serviceName
296
- if ($service.Status -ne "Running") {
297
- Start-Service -Name $serviceName
298
- Write-Host "Service $serviceName was stopped and has been restarted"
299
- }
300
- ```
301
-
302
- ### Creating Windows Service with NSSM
303
-
304
- **NSSM (Non-Sucking Service Manager):**
305
- ```powershell
306
- # Download and install NSSM
307
- # Example: Install PowerShell script as service
308
-
309
- # Install service using NSSM
310
- nssm install MyAppService "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" `
311
- "-ExecutionPolicy Bypass -NoProfile -File C:\Scripts\MyApp.ps1"
312
-
313
- # Set service description
314
- nssm set MyAppService Description "My Application Service"
315
-
316
- # Set service startup directory
317
- nssm set MyAppService AppDirectory "C:\Scripts"
318
-
319
- # Set service log file
320
- nssm set MyAppService AppStdout "C:\Logs\MyApp-output.log"
321
- nssm set MyAppService AppStderr "C:\Logs\MyApp-error.log"
322
-
323
- # Set service restart behavior
324
- nssm set MyAppService AppExit Default Restart
325
-
326
- # Start service
327
- nssm start MyAppService
328
-
329
- # Remove service
330
- nssm remove MyAppService confirm
331
- ```
332
-
333
- ## Windows Registry
334
-
335
- ### Registry Operations
336
-
337
- **PowerShell Registry Management:**
338
- ```powershell
339
- # Registry is accessed like filesystem with PSDrive
340
-
341
- # Read registry value
342
- Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion" -Name "ProgramFilesDir"
343
-
344
- # Set registry value
345
- Set-ItemProperty -Path "HKLM:\SOFTWARE\MyApp" -Name "ConfigPath" -Value "C:\Config"
346
-
347
- # Create new registry key
348
- New-Item -Path "HKLM:\SOFTWARE\MyCompany"
349
-
350
- # Create registry value
351
- New-ItemProperty -Path "HKLM:\SOFTWARE\MyCompany" -Name "Version" -Value "1.0" -PropertyType String
352
-
353
- # Delete registry key
354
- Remove-Item -Path "HKLM:\SOFTWARE\MyCompany" -Recurse
355
-
356
- # Delete registry value
357
- Remove-ItemProperty -Path "HKLM:\SOFTWARE\MyCompany" -Name "Version"
358
-
359
- # Check if registry key exists
360
- Test-Path "HKLM:\SOFTWARE\MyCompany"
361
-
362
- # Backup registry key
363
- reg export "HKLM\SOFTWARE\MyCompany" "C:\Backups\MyCompany.reg"
364
-
365
- # Restore registry key
366
- reg import "C:\Backups\MyCompany.reg"
367
-
368
- # Remote registry operations
369
- $computer = "Server01"
370
- Invoke-Command -ComputerName $computer -ScriptBlock {
371
- Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion" -Name "ProgramFilesDir"
372
- }
373
- ```
374
-
375
- ## IIS Web Server
376
-
377
- ### IIS Management
378
-
379
- **IIS PowerShell Administration:**
380
- ```powershell
381
- # Import IIS module
382
- Import-Module WebAdministration
383
-
384
- # List all websites
385
- Get-Website | Select-Object Name, State, PhysicalPath, Bindings
386
-
387
- # Create new website
388
- New-Website -Name "MyWebsite" `
389
- -Port 80 `
390
- -PhysicalPath "C:\inetpub\wwwroot\mysite" `
391
- -ApplicationPool "DefaultAppPool"
392
-
393
- # Create website with HTTPS binding
394
- New-Website -Name "SecureWebsite" `
395
- -Port 443 `
396
- -PhysicalPath "C:\inetpub\wwwroot\securesite" `
397
- -Ssl `
398
- -ApplicationPool "DefaultAppPool"
399
-
400
- # Add website binding
401
- New-WebBinding -Name "MyWebsite" -IPAddress "*" -Port 8080 -Protocol http
402
-
403
- # Start/Stop website
404
- Start-Website -Name "MyWebsite"
405
- Stop-Website -Name "MyWebsite"
406
-
407
- # Create application pool
408
- New-WebAppPool -Name "MyAppPool"
409
-
410
- # Configure application pool
411
- Set-ItemProperty -Path "IIS:\AppPools\MyAppPool" -Name processModel.identityType -Value 4 # ApplicationPoolIdentity
412
- Set-ItemProperty -Path "IIS:\AppPools\MyAppPool" -Name recycling.periodicRestart.time -Value "00:00:00"
413
-
414
- # Start/Stop application pool
415
- Start-WebAppPool -Name "MyAppPool"
416
- Stop-WebAppPool -Name "MyAppPool"
417
- Restart-WebAppPool -Name "MyAppPool"
418
-
419
- # Create virtual directory
420
- New-WebVirtualDirectory -Site "MyWebsite" -Name "images" -PhysicalPath "C:\images"
421
-
422
- # List application pools
423
- Get-IISAppPool | Select-Object Name, Status, ManagedRuntimeVersion
424
-
425
- # Get website bindings
426
- Get-WebBinding -Name "MyWebsite"
427
-
428
- # Remove website
429
- Remove-Website -Name "MyWebsite"
430
- ```
431
-
432
- ### IIS SSL Certificate Management
433
-
434
- **SSL Certificate Operations:**
435
- ```powershell
436
- # Import certificate to certificate store
437
- $certPassword = ConvertTo-SecureString -String "P@ssw0rd" -Force -AsPlainText
438
- Import-PfxCertificate -FilePath "C:\Certificates\mycert.pfx" `
439
- -CertStoreLocation Cert:\LocalMachine\My `
440
- -Password $certPassword
441
-
442
- # List certificates
443
- Get-ChildItem -Path Cert:\LocalMachine\My | Select-Object Thumbprint, Subject, NotAfter
444
-
445
- # Bind SSL certificate to website
446
- $cert = Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object { $_.Subject -like "*mysite.com*" }
447
- New-WebBinding -Name "MyWebsite" -IPAddress "*" -Port 443 -Protocol https
448
- $binding = Get-WebBinding -Name "MyWebsite" -Protocol https
449
- $binding.AddSslCertificate($cert.Thumbprint, "my")
450
-
451
- # Remove certificate binding
452
- Remove-Item -Path "IIS:\SslBindings\0.0.0.0!443"
453
- ```
454
-
455
- ## WSUS (Windows Server Update Services)
456
-
457
- ### WSUS Configuration
458
-
459
- **PowerShell WSUS Management:**
460
- ```powershell
461
- # Load WSUS assembly
462
- [reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration") | Out-Null
463
-
464
- # Connect to WSUS server
465
- $wsus = [Microsoft.UpdateServices.Administration.AdminProxy]::GetUpdateServer("WSUSServer", $false, 8530)
466
-
467
- # Get WSUS configuration
468
- $wsusConfig = $wsus.GetConfiguration()
469
- $wsusConfig.SyncFromMicrosoftUpdate = $true
470
- $wsusConfig.Save()
471
-
472
- # Get subscription and sync
473
- $subscription = $wsus.GetSubscription()
474
- $subscription.StartSynchronization()
475
-
476
- # Check sync status
477
- $subscription.GetSynchronizationStatus()
478
-
479
- # Get update categories
480
- $wsus.GetUpdateCategories() | Select-Object Title, Type
481
-
482
- # Approve updates for specific group
483
- $targetGroup = $wsus.GetComputerTargetGroups() | Where-Object { $_.Name -eq "Production Servers" }
484
- $updates = $wsus.GetUpdates() | Where-Object { $_.IsApproved -eq $false -and $_.IsSuperseded -eq $false }
485
-
486
- foreach ($update in $updates) {
487
- $update.Approve("Install", $targetGroup)
488
- }
489
-
490
- # Get computer targets
491
- $wsus.GetComputerTargets() | Select-Object FullDomainName, LastReportedStatusTime, LastSyncTime
492
-
493
- # Decline superseded updates
494
- $wsus.GetUpdates() | Where-Object { $_.IsSuperseded -eq $true } | ForEach-Object {
495
- $_.Decline()
496
- }
497
- ```
498
-
499
- ## Windows Security Hardening
500
-
501
- ### Security Baseline
502
-
503
- **Security Configuration Script:**
504
- ```powershell
505
- # Disable unnecessary services
506
- $servicesToDisable = @(
507
- "RemoteRegistry",
508
- "RemoteAccess",
509
- "HomeGroupListener",
510
- "HomeGroupProvider"
511
- )
512
-
513
- foreach ($service in $servicesToDisable) {
514
- if (Get-Service -Name $service -ErrorAction SilentlyContinue) {
515
- Stop-Service -Name $service -Force
516
- Set-Service -Name $service -StartupType Disabled
517
- }
518
- }
519
-
520
- # Configure Windows Firewall
521
- Set-NetFirewallProfile -Profile Domain, Public, Private -Enabled True
522
-
523
- # Disable SMBv1
524
- Set-SmbServerConfiguration -EnableSMB1Protocol $false -Force
525
-
526
- # Enable Windows Defender real-time protection
527
- Set-MpPreference -DisableRealtimeMonitoring $false
528
-
529
- # Configure UAC (User Account Control)
530
- Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" `
531
- -Name "EnableLUA" -Value 1
532
- Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" `
533
- -Name "ConsentPromptBehaviorAdmin" -Value 2 # Prompt for consent
534
-
535
- # Disable guest account
536
- Disable-LocalUser -Name "Guest"
537
-
538
- # Configure audit policy
539
- auditpol /set /subcategory:"Logon" /success:enable /failure:enable
540
- auditpol /set /subcategory:"Account Lockout" /success:enable /failure:enable
541
- auditpol /set /subcategory:"User Account Management" /success:enable /failure:enable
542
- ```
543
-
544
- ## Windows Event Logs
545
-
546
- ### Event Log Management
547
-
548
- **PowerShell Event Log Operations:**
549
- ```powershell
550
- # Get event logs
551
- Get-EventLog -List
552
-
553
- # Get recent system errors
554
- Get-EventLog -LogName System -EntryType Error -Newest 50
555
-
556
- # Get security events (logon failures)
557
- Get-EventLog -LogName Security -InstanceId 4625 -Newest 100
558
-
559
- # Filter by time range
560
- Get-EventLog -LogName System -After (Get-Date).AddDays(-1) -Before (Get-Date)
561
-
562
- # Using Get-WinEvent (more powerful, supports newer logs)
563
- Get-WinEvent -LogName Application -MaxEvents 100
564
-
565
- # Query with FilterHashTable
566
- Get-WinEvent -FilterHashtable @{
567
- LogName = 'Security'
568
- ID = 4624 # Successful logon
569
- StartTime = (Get-Date).AddDays(-7)
570
- }
571
-
572
- # Query with XPath
573
- Get-WinEvent -LogName Security -FilterXPath "*[System[EventID=4625]]"
574
-
575
- # Export events to CSV
576
- Get-EventLog -LogName System -Newest 1000 |
577
- Export-Csv -Path "C:\Logs\SystemEvents.csv" -NoTypeInformation
578
-
579
- # Clear event log
580
- Clear-EventLog -LogName Application
581
-
582
- # Configure log size and retention
583
- Limit-EventLog -LogName Application -MaximumSize 512MB -OverflowAction OverwriteAsNeeded
584
-
585
- # Monitor event log in real-time
586
- Get-EventLog -LogName System -Newest 10 -AsBaseObject |
587
- Select-Object TimeGenerated, EntryType, Source, Message
588
- ```
589
-
590
- ## Remote Desktop and WinRM
591
-
592
- ### Remote Management
593
-
594
- **WinRM Configuration:**
595
- ```powershell
596
- # Enable WinRM
597
- Enable-PSRemoting -Force
598
-
599
- # Configure TrustedHosts (for non-domain environments)
600
- Set-Item WSMan:\localhost\Client\TrustedHosts -Value "Server01,Server02" -Force
601
-
602
- # Test WinRM connectivity
603
- Test-WSMan -ComputerName "Server01"
604
-
605
- # Remote command execution
606
- Invoke-Command -ComputerName "Server01" -ScriptBlock {
607
- Get-Service -Name "W3SVC"
608
- }
609
-
610
- # Remote command with credentials
611
- $cred = Get-Credential
612
- Invoke-Command -ComputerName "Server01" -Credential $cred -ScriptBlock {
613
- Get-Process
614
- }
615
-
616
- # Interactive remote session
617
- Enter-PSSession -ComputerName "Server01"
618
-
619
- # Run command on multiple computers
620
- Invoke-Command -ComputerName "Server01", "Server02", "Server03" -ScriptBlock {
621
- Get-EventLog -LogName System -Newest 10
622
- }
623
-
624
- # Copy files to remote computer
625
- $session = New-PSSession -ComputerName "Server01"
626
- Copy-Item -Path "C:\Scripts\script.ps1" -Destination "C:\Scripts\" -ToSession $session
627
- Remove-PSSession $session
628
- ```
629
-
630
- **Remote Desktop Configuration:**
631
- ```powershell
632
- # Enable Remote Desktop
633
- Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server" `
634
- -Name "fDenyTSConnections" -Value 0
635
-
636
- # Enable Network Level Authentication
637
- Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" `
638
- -Name "UserAuthentication" -Value 1
639
-
640
- # Configure firewall for RDP
641
- Enable-NetFirewallRule -DisplayGroup "Remote Desktop"
642
-
643
- # Get RDP sessions
644
- qwinsta
645
-
646
- # Disconnect RDP session
647
- logoff <session-id>
648
- ```
649
-
650
- ## Windows Clustering and Failover
651
-
652
- ### Failover Clustering
653
-
654
- **Cluster Management:**
655
- ```powershell
656
- # Install Failover Clustering feature
657
- Install-WindowsFeature -Name Failover-Clustering -IncludeManagementTools
658
-
659
- # Test cluster configuration
660
- Test-Cluster -Node "Node1", "Node2"
661
-
662
- # Create new cluster
663
- New-Cluster -Name "MyCluster" -Node "Node1", "Node2" -StaticAddress "192.168.1.100"
664
-
665
- # Add node to cluster
666
- Add-ClusterNode -Name "Node3" -Cluster "MyCluster"
667
-
668
- # Remove node from cluster
669
- Remove-ClusterNode -Name "Node3" -Cluster "MyCluster"
670
-
671
- # Get cluster resources
672
- Get-ClusterResource
673
-
674
- # Get cluster status
675
- Get-Cluster | Select-Object Name, Domain, QuorumType
676
-
677
- # Create clustered role (example: file server)
678
- Add-ClusterFileServerRole -Name "FileServer01" -Storage "Cluster Disk 1" -StaticAddress "192.168.1.101"
679
-
680
- # Move cluster group to different node
681
- Move-ClusterGroup -Name "FileServer01" -Node "Node2"
682
-
683
- # Get cluster events
684
- Get-ClusterLog -Destination "C:\Logs"
685
- ```
686
-
687
- ## Best Practices
688
-
689
- ### Windows Administration Best Practices
690
-
691
- 1. **Security:**
692
- - Implement least privilege access (RBAC)
693
- - Regular security updates via WSUS
694
- - Enable BitLocker on sensitive servers
695
- - Use strong password policies
696
- - Enable audit logging
697
- - Disable unnecessary services and protocols
698
-
699
- 2. **Active Directory:**
700
- - Regular AD backups (System State)
701
- - Multiple domain controllers for redundancy
702
- - Proper OU structure for GPO application
703
- - Regular AD health checks (dcdiag, repadmin)
704
- - Implement fine-grained password policies
705
-
706
- 3. **Monitoring:**
707
- - Configure event log forwarding
708
- - Monitor critical services
709
- - Track failed login attempts
710
- - Monitor disk space and performance
711
- - Set up alerts for critical events
712
-
713
- 4. **Automation:**
714
- - Use PowerShell for repetitive tasks
715
- - Document all scripts and procedures
716
- - Implement scheduled tasks for maintenance
717
- - Use configuration management tools
718
- - Version control for scripts
719
-
720
- 5. **Backup and Recovery:**
721
- - Regular system state backups
722
- - Test restore procedures
723
- - Document recovery procedures
724
- - Offsite backup storage
725
- - Verify backup integrity
726
-
727
- ## Anti-Patterns to Avoid
728
-
729
- ❌ **Using GUI for repetitive tasks** - Automate with PowerShell
730
- ❌ **Running everything as Domain Admin** - Use least privilege
731
- ❌ **No GPO testing** - Test in development OU first
732
- ❌ **Ignoring Windows updates** - Security vulnerabilities
733
- ❌ **Single domain controller** - No redundancy
734
- ❌ **Default administrator account enabled** - Security risk
735
- ❌ **No audit logging** - Cannot track security events
736
- ❌ **Complex OU structure** - Hard to manage GPOs
737
- ❌ **No documentation** - Tribal knowledge
738
- ❌ **Direct registry edits in production** - Use GPO when possible