@hivehub/rulebook 4.2.2 → 4.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (340) hide show
  1. package/.claude/commands/continue.md +33 -33
  2. package/.claude/commands/ralph-config.md +112 -112
  3. package/.claude/commands/ralph-history.md +110 -110
  4. package/.claude/commands/ralph-init.md +72 -72
  5. package/.claude/commands/ralph-pause-resume.md +105 -105
  6. package/.claude/commands/ralph-run.md +101 -101
  7. package/.claude/commands/ralph-status.md +76 -76
  8. package/.claude/commands/rulebook-memory-save.md +48 -48
  9. package/.claude/commands/rulebook-memory-search.md +47 -47
  10. package/.claude/commands/rulebook-task-apply.md +67 -67
  11. package/.claude/commands/rulebook-task-archive.md +70 -70
  12. package/.claude/commands/rulebook-task-create.md +93 -93
  13. package/.claude/commands/rulebook-task-list.md +42 -42
  14. package/.claude/commands/rulebook-task-show.md +52 -52
  15. package/.claude/commands/rulebook-task-validate.md +53 -53
  16. package/.claude-plugin/marketplace.json +28 -28
  17. package/.claude-plugin/plugin.json +8 -8
  18. package/README.md +15 -1
  19. package/dist/cli/commands.d.ts.map +1 -1
  20. package/dist/cli/commands.js +43 -18
  21. package/dist/cli/commands.js.map +1 -1
  22. package/dist/core/claude-mcp.d.ts +10 -2
  23. package/dist/core/claude-mcp.d.ts.map +1 -1
  24. package/dist/core/claude-mcp.js +48 -9
  25. package/dist/core/claude-mcp.js.map +1 -1
  26. package/dist/core/config-manager.d.ts.map +1 -1
  27. package/dist/core/config-manager.js +1 -2
  28. package/dist/core/config-manager.js.map +1 -1
  29. package/dist/core/generator.d.ts +13 -0
  30. package/dist/core/generator.d.ts.map +1 -1
  31. package/dist/core/generator.js +283 -28
  32. package/dist/core/generator.js.map +1 -1
  33. package/dist/core/indexer/background-indexer.d.ts.map +1 -1
  34. package/dist/core/indexer/background-indexer.js +10 -3
  35. package/dist/core/indexer/background-indexer.js.map +1 -1
  36. package/dist/core/workspace/workspace-manager.d.ts.map +1 -1
  37. package/dist/core/workspace/workspace-manager.js +2 -6
  38. package/dist/core/workspace/workspace-manager.js.map +1 -1
  39. package/dist/index.js +1 -3
  40. package/dist/index.js.map +1 -1
  41. package/dist/mcp/rulebook-server.d.ts.map +1 -1
  42. package/dist/mcp/rulebook-server.js +23 -10
  43. package/dist/mcp/rulebook-server.js.map +1 -1
  44. package/package.json +21 -22
  45. package/templates/agents/accessibility-reviewer.md +43 -0
  46. package/templates/agents/api-designer.md +42 -0
  47. package/templates/agents/architect.md +51 -0
  48. package/templates/agents/build-engineer.md +36 -0
  49. package/templates/agents/code-reviewer.md +47 -0
  50. package/templates/agents/database-architect.md +41 -0
  51. package/templates/agents/devops-engineer.md +42 -0
  52. package/templates/agents/docs-writer.md +38 -0
  53. package/templates/agents/i18n-engineer.md +42 -0
  54. package/templates/agents/implementer.md +38 -35
  55. package/templates/agents/migration-engineer.md +42 -0
  56. package/templates/agents/performance-engineer.md +49 -0
  57. package/templates/agents/refactoring-agent.md +41 -0
  58. package/templates/agents/researcher.md +38 -34
  59. package/templates/agents/security-reviewer.md +40 -0
  60. package/templates/agents/team-lead.md +37 -34
  61. package/templates/agents/tester.md +45 -42
  62. package/templates/agents/ux-reviewer.md +43 -0
  63. package/templates/ci/rulebook-review.yml +26 -26
  64. package/templates/cli/AIDER.md +49 -49
  65. package/templates/cli/AMAZON_Q.md +25 -25
  66. package/templates/cli/AUGGIE.md +32 -32
  67. package/templates/cli/CLAUDE.md +117 -117
  68. package/templates/cli/CLINE.md +99 -99
  69. package/templates/cli/CODEBUDDY.md +20 -20
  70. package/templates/cli/CODEIUM.md +20 -20
  71. package/templates/cli/CODEX.md +21 -21
  72. package/templates/cli/CONTINUE.md +34 -34
  73. package/templates/cli/CURSOR_CLI.md +62 -62
  74. package/templates/cli/FACTORY.md +18 -18
  75. package/templates/cli/GEMINI.md +35 -35
  76. package/templates/cli/KILOCODE.md +18 -18
  77. package/templates/cli/OPENCODE.md +18 -18
  78. package/templates/cli/_GENERIC_TEMPLATE.md +29 -29
  79. package/templates/commands/rulebook-memory-save.md +48 -48
  80. package/templates/commands/rulebook-memory-search.md +47 -47
  81. package/templates/commands/rulebook-task-apply.md +67 -67
  82. package/templates/commands/rulebook-task-archive.md +94 -94
  83. package/templates/commands/rulebook-task-create.md +93 -93
  84. package/templates/commands/rulebook-task-list.md +42 -42
  85. package/templates/commands/rulebook-task-show.md +52 -52
  86. package/templates/commands/rulebook-task-validate.md +53 -53
  87. package/templates/core/AGENTS_LEAN.md +25 -25
  88. package/templates/core/AGENTS_OVERRIDE.md +16 -16
  89. package/templates/core/AGENT_AUTOMATION.md +288 -288
  90. package/templates/core/DAG.md +304 -304
  91. package/templates/core/DOCUMENTATION_RULES.md +36 -36
  92. package/templates/core/MULTI_AGENT.md +74 -74
  93. package/templates/core/PLANS.md +28 -28
  94. package/templates/core/QUALITY_ENFORCEMENT.md +68 -68
  95. package/templates/core/RALPH.md +471 -471
  96. package/templates/core/RULEBOOK.md +1935 -1935
  97. package/templates/frameworks/ANGULAR.md +36 -36
  98. package/templates/frameworks/DJANGO.md +83 -83
  99. package/templates/frameworks/ELECTRON.md +147 -147
  100. package/templates/frameworks/FLASK.md +38 -38
  101. package/templates/frameworks/FLUTTER.md +55 -55
  102. package/templates/frameworks/JQUERY.md +32 -32
  103. package/templates/frameworks/LARAVEL.md +38 -38
  104. package/templates/frameworks/NESTJS.md +43 -43
  105. package/templates/frameworks/NEXTJS.md +127 -127
  106. package/templates/frameworks/NUXT.md +40 -40
  107. package/templates/frameworks/RAILS.md +66 -66
  108. package/templates/frameworks/REACT.md +38 -38
  109. package/templates/frameworks/REACT_NATIVE.md +47 -47
  110. package/templates/frameworks/SPRING.md +39 -39
  111. package/templates/frameworks/SYMFONY.md +36 -36
  112. package/templates/frameworks/VUE.md +36 -36
  113. package/templates/frameworks/ZEND.md +35 -35
  114. package/templates/git/CI_CD_PATTERNS.md +661 -661
  115. package/templates/git/GITHUB_ACTIONS.md +728 -728
  116. package/templates/git/GITLAB_CI.md +730 -730
  117. package/templates/git/GIT_WORKFLOW.md +1157 -1157
  118. package/templates/git/SECRETS_MANAGEMENT.md +585 -585
  119. package/templates/hooks/COMMIT_MSG.md +530 -530
  120. package/templates/hooks/POST_CHECKOUT.md +546 -546
  121. package/templates/hooks/PREPARE_COMMIT_MSG.md +619 -619
  122. package/templates/hooks/PRE_COMMIT.md +414 -414
  123. package/templates/hooks/PRE_PUSH.md +601 -601
  124. package/templates/ides/CONTINUE_RULES.md +16 -16
  125. package/templates/ides/COPILOT.md +37 -37
  126. package/templates/ides/COPILOT_INSTRUCTIONS.md +23 -23
  127. package/templates/ides/CURSOR.md +43 -43
  128. package/templates/ides/GEMINI_RULES.md +17 -17
  129. package/templates/ides/JETBRAINS_AI.md +35 -35
  130. package/templates/ides/REPLIT.md +36 -36
  131. package/templates/ides/TABNINE.md +29 -29
  132. package/templates/ides/VSCODE.md +40 -40
  133. package/templates/ides/WINDSURF.md +36 -36
  134. package/templates/ides/WINDSURF_RULES.md +14 -14
  135. package/templates/ides/ZED.md +32 -32
  136. package/templates/ides/cursor-mdc/go.mdc +24 -24
  137. package/templates/ides/cursor-mdc/python.mdc +24 -24
  138. package/templates/ides/cursor-mdc/quality.mdc +25 -25
  139. package/templates/ides/cursor-mdc/ralph.mdc +39 -39
  140. package/templates/ides/cursor-mdc/rulebook.mdc +38 -38
  141. package/templates/ides/cursor-mdc/rust.mdc +24 -24
  142. package/templates/ides/cursor-mdc/typescript.mdc +25 -25
  143. package/templates/languages/C.md +333 -333
  144. package/templates/languages/CPP.md +743 -743
  145. package/templates/languages/CSHARP.md +417 -417
  146. package/templates/languages/ELIXIR.md +454 -454
  147. package/templates/languages/ERLANG.md +361 -361
  148. package/templates/languages/GO.md +645 -645
  149. package/templates/languages/HASKELL.md +177 -177
  150. package/templates/languages/JAVA.md +607 -607
  151. package/templates/languages/JAVASCRIPT.md +631 -631
  152. package/templates/languages/JULIA.md +97 -97
  153. package/templates/languages/KOTLIN.md +511 -511
  154. package/templates/languages/LISP.md +100 -100
  155. package/templates/languages/LUA.md +74 -74
  156. package/templates/languages/OBJECTIVEC.md +90 -90
  157. package/templates/languages/PHP.md +416 -416
  158. package/templates/languages/PYTHON.md +682 -682
  159. package/templates/languages/RUBY.md +421 -421
  160. package/templates/languages/RUST.md +477 -477
  161. package/templates/languages/SAS.md +73 -73
  162. package/templates/languages/SCALA.md +348 -348
  163. package/templates/languages/SOLIDITY.md +580 -580
  164. package/templates/languages/SQL.md +137 -137
  165. package/templates/languages/SWIFT.md +466 -466
  166. package/templates/languages/TYPESCRIPT.md +591 -591
  167. package/templates/languages/ZIG.md +265 -265
  168. package/templates/modules/ATLASSIAN.md +255 -255
  169. package/templates/modules/CONTEXT7.md +54 -54
  170. package/templates/modules/FIGMA.md +267 -267
  171. package/templates/modules/GITHUB_MCP.md +64 -64
  172. package/templates/modules/GRAFANA.md +328 -328
  173. package/templates/modules/MEMORY.md +126 -126
  174. package/templates/modules/NOTION.md +247 -247
  175. package/templates/modules/PLAYWRIGHT.md +90 -90
  176. package/templates/modules/RULEBOOK_MCP.md +156 -156
  177. package/templates/modules/SERENA.md +337 -337
  178. package/templates/modules/SUPABASE.md +223 -223
  179. package/templates/modules/SYNAP.md +69 -69
  180. package/templates/modules/VECTORIZER.md +63 -63
  181. package/templates/modules/sequential-thinking.md +42 -42
  182. package/templates/ralph/ralph-history.bat +4 -4
  183. package/templates/ralph/ralph-history.sh +5 -5
  184. package/templates/ralph/ralph-init.bat +5 -5
  185. package/templates/ralph/ralph-init.sh +5 -5
  186. package/templates/ralph/ralph-pause.bat +5 -5
  187. package/templates/ralph/ralph-pause.sh +5 -5
  188. package/templates/ralph/ralph-run.bat +5 -5
  189. package/templates/ralph/ralph-run.sh +5 -5
  190. package/templates/ralph/ralph-status.bat +4 -4
  191. package/templates/ralph/ralph-status.sh +5 -5
  192. package/templates/services/AZURE_BLOB.md +184 -184
  193. package/templates/services/CASSANDRA.md +239 -239
  194. package/templates/services/DATADOG.md +26 -26
  195. package/templates/services/DOCKER.md +124 -124
  196. package/templates/services/DOCKER_COMPOSE.md +168 -168
  197. package/templates/services/DYNAMODB.md +308 -308
  198. package/templates/services/ELASTICSEARCH.md +347 -347
  199. package/templates/services/GCS.md +178 -178
  200. package/templates/services/HELM.md +194 -194
  201. package/templates/services/INFLUXDB.md +265 -265
  202. package/templates/services/KAFKA.md +341 -341
  203. package/templates/services/KUBERNETES.md +208 -208
  204. package/templates/services/MARIADB.md +183 -183
  205. package/templates/services/MEMCACHED.md +242 -242
  206. package/templates/services/MINIO.md +201 -201
  207. package/templates/services/MONGODB.md +268 -268
  208. package/templates/services/MYSQL.md +358 -358
  209. package/templates/services/NEO4J.md +247 -247
  210. package/templates/services/OPENTELEMETRY.md +25 -25
  211. package/templates/services/ORACLE.md +290 -290
  212. package/templates/services/PINO.md +24 -24
  213. package/templates/services/POSTGRESQL.md +326 -326
  214. package/templates/services/PROMETHEUS.md +33 -33
  215. package/templates/services/RABBITMQ.md +286 -286
  216. package/templates/services/REDIS.md +292 -292
  217. package/templates/services/S3.md +298 -298
  218. package/templates/services/SENTRY.md +23 -23
  219. package/templates/services/SQLITE.md +294 -294
  220. package/templates/services/SQLSERVER.md +294 -294
  221. package/templates/services/WINSTON.md +30 -30
  222. package/templates/skills/cli/aider/SKILL.md +59 -59
  223. package/templates/skills/cli/amazon-q/SKILL.md +35 -35
  224. package/templates/skills/cli/auggie/SKILL.md +42 -42
  225. package/templates/skills/cli/claude/SKILL.md +42 -42
  226. package/templates/skills/cli/cline/SKILL.md +42 -42
  227. package/templates/skills/cli/codebuddy/SKILL.md +30 -30
  228. package/templates/skills/cli/codeium/SKILL.md +30 -30
  229. package/templates/skills/cli/codex/SKILL.md +31 -31
  230. package/templates/skills/cli/continue/SKILL.md +44 -44
  231. package/templates/skills/cli/cursor-cli/SKILL.md +38 -38
  232. package/templates/skills/cli/factory/SKILL.md +28 -28
  233. package/templates/skills/cli/gemini/SKILL.md +45 -45
  234. package/templates/skills/cli/kilocode/SKILL.md +28 -28
  235. package/templates/skills/cli/opencode/SKILL.md +28 -28
  236. package/templates/skills/core/agent-automation/SKILL.md +194 -194
  237. package/templates/skills/core/dag/SKILL.md +314 -314
  238. package/templates/skills/core/documentation-rules/SKILL.md +46 -46
  239. package/templates/skills/core/quality-enforcement/SKILL.md +78 -78
  240. package/templates/skills/core/rulebook/SKILL.md +176 -176
  241. package/templates/skills/dev/accessibility/SKILL.md +17 -0
  242. package/templates/skills/dev/api-design/SKILL.md +15 -0
  243. package/templates/skills/dev/architect/SKILL.md +17 -0
  244. package/templates/skills/dev/build-fix/SKILL.md +17 -0
  245. package/templates/skills/dev/db-design/SKILL.md +15 -0
  246. package/templates/skills/dev/debug/SKILL.md +16 -0
  247. package/templates/skills/dev/deploy/SKILL.md +17 -0
  248. package/templates/skills/dev/docs/SKILL.md +17 -0
  249. package/templates/skills/dev/migrate/SKILL.md +15 -0
  250. package/templates/skills/dev/perf/SKILL.md +17 -0
  251. package/templates/skills/dev/refactor/SKILL.md +17 -0
  252. package/templates/skills/dev/research/SKILL.md +14 -0
  253. package/templates/skills/dev/review/SKILL.md +18 -0
  254. package/templates/skills/dev/security-audit/SKILL.md +17 -0
  255. package/templates/skills/frameworks/angular/SKILL.md +46 -46
  256. package/templates/skills/frameworks/django/SKILL.md +93 -93
  257. package/templates/skills/frameworks/electron/SKILL.md +157 -157
  258. package/templates/skills/frameworks/flask/SKILL.md +48 -48
  259. package/templates/skills/frameworks/flutter/SKILL.md +65 -65
  260. package/templates/skills/frameworks/jquery/SKILL.md +42 -42
  261. package/templates/skills/frameworks/laravel/SKILL.md +48 -48
  262. package/templates/skills/frameworks/nestjs/SKILL.md +53 -53
  263. package/templates/skills/frameworks/nextjs/SKILL.md +137 -137
  264. package/templates/skills/frameworks/nuxt/SKILL.md +50 -50
  265. package/templates/skills/frameworks/rails/SKILL.md +76 -76
  266. package/templates/skills/frameworks/react/SKILL.md +48 -48
  267. package/templates/skills/frameworks/react-native/SKILL.md +57 -57
  268. package/templates/skills/frameworks/spring/SKILL.md +49 -49
  269. package/templates/skills/frameworks/symfony/SKILL.md +46 -46
  270. package/templates/skills/frameworks/vue/SKILL.md +46 -46
  271. package/templates/skills/frameworks/zend/SKILL.md +45 -45
  272. package/templates/skills/ides/copilot/SKILL.md +47 -47
  273. package/templates/skills/ides/cursor/SKILL.md +53 -53
  274. package/templates/skills/ides/jetbrains-ai/SKILL.md +45 -45
  275. package/templates/skills/ides/replit/SKILL.md +46 -46
  276. package/templates/skills/ides/tabnine/SKILL.md +39 -39
  277. package/templates/skills/ides/vscode/SKILL.md +50 -50
  278. package/templates/skills/ides/windsurf/SKILL.md +46 -46
  279. package/templates/skills/ides/zed/SKILL.md +42 -42
  280. package/templates/skills/languages/c/SKILL.md +343 -343
  281. package/templates/skills/languages/cpp/SKILL.md +753 -753
  282. package/templates/skills/languages/csharp/SKILL.md +427 -427
  283. package/templates/skills/languages/elixir/SKILL.md +464 -464
  284. package/templates/skills/languages/erlang/SKILL.md +371 -371
  285. package/templates/skills/languages/go/SKILL.md +655 -655
  286. package/templates/skills/languages/haskell/SKILL.md +187 -187
  287. package/templates/skills/languages/java/SKILL.md +617 -617
  288. package/templates/skills/languages/javascript/SKILL.md +641 -641
  289. package/templates/skills/languages/julia/SKILL.md +107 -107
  290. package/templates/skills/languages/kotlin/SKILL.md +521 -521
  291. package/templates/skills/languages/lisp/SKILL.md +110 -110
  292. package/templates/skills/languages/lua/SKILL.md +84 -84
  293. package/templates/skills/languages/objectivec/SKILL.md +100 -100
  294. package/templates/skills/languages/php/SKILL.md +426 -426
  295. package/templates/skills/languages/python/SKILL.md +692 -692
  296. package/templates/skills/languages/ruby/SKILL.md +431 -431
  297. package/templates/skills/languages/rust/SKILL.md +487 -487
  298. package/templates/skills/languages/sas/SKILL.md +83 -83
  299. package/templates/skills/languages/scala/SKILL.md +358 -358
  300. package/templates/skills/languages/solidity/SKILL.md +590 -590
  301. package/templates/skills/languages/sql/SKILL.md +147 -147
  302. package/templates/skills/languages/swift/SKILL.md +476 -476
  303. package/templates/skills/languages/typescript/SKILL.md +302 -302
  304. package/templates/skills/languages/zig/SKILL.md +275 -275
  305. package/templates/skills/modules/atlassian/SKILL.md +265 -265
  306. package/templates/skills/modules/context7/SKILL.md +64 -64
  307. package/templates/skills/modules/figma/SKILL.md +277 -277
  308. package/templates/skills/modules/github-mcp/SKILL.md +74 -74
  309. package/templates/skills/modules/grafana/SKILL.md +338 -338
  310. package/templates/skills/modules/memory/SKILL.md +73 -73
  311. package/templates/skills/modules/notion/SKILL.md +257 -257
  312. package/templates/skills/modules/playwright/SKILL.md +100 -100
  313. package/templates/skills/modules/rulebook-mcp/SKILL.md +166 -166
  314. package/templates/skills/modules/serena/SKILL.md +347 -347
  315. package/templates/skills/modules/supabase/SKILL.md +233 -233
  316. package/templates/skills/modules/synap/SKILL.md +79 -79
  317. package/templates/skills/modules/vectorizer/SKILL.md +73 -73
  318. package/templates/skills/services/azure-blob/SKILL.md +194 -194
  319. package/templates/skills/services/cassandra/SKILL.md +249 -249
  320. package/templates/skills/services/dynamodb/SKILL.md +318 -318
  321. package/templates/skills/services/elasticsearch/SKILL.md +357 -357
  322. package/templates/skills/services/gcs/SKILL.md +188 -188
  323. package/templates/skills/services/influxdb/SKILL.md +275 -275
  324. package/templates/skills/services/kafka/SKILL.md +351 -351
  325. package/templates/skills/services/mariadb/SKILL.md +193 -193
  326. package/templates/skills/services/memcached/SKILL.md +252 -252
  327. package/templates/skills/services/minio/SKILL.md +211 -211
  328. package/templates/skills/services/mongodb/SKILL.md +278 -278
  329. package/templates/skills/services/mysql/SKILL.md +368 -368
  330. package/templates/skills/services/neo4j/SKILL.md +257 -257
  331. package/templates/skills/services/oracle/SKILL.md +300 -300
  332. package/templates/skills/services/postgresql/SKILL.md +336 -336
  333. package/templates/skills/services/rabbitmq/SKILL.md +296 -296
  334. package/templates/skills/services/redis/SKILL.md +302 -302
  335. package/templates/skills/services/s3/SKILL.md +308 -308
  336. package/templates/skills/services/sqlite/SKILL.md +304 -304
  337. package/templates/skills/services/sqlserver/SKILL.md +304 -304
  338. package/templates/skills/workflows/ralph/SKILL.md +309 -309
  339. package/templates/skills/workflows/ralph/install.sh +87 -87
  340. package/templates/skills/workflows/ralph/manifest.json +158 -158
@@ -1,157 +1,157 @@
1
- ---
2
- name: "Electron"
3
- description: "Language: TypeScript, JavaScript"
4
- version: "1.0.0"
5
- category: "frameworks"
6
- author: "Rulebook"
7
- tags: ["frameworks", "framework"]
8
- dependencies: []
9
- conflicts: []
10
- ---
11
- <!-- ELECTRON:START -->
12
- # Electron Framework Rules
13
-
14
- **Language**: TypeScript, JavaScript
15
- **Version**: Electron 28+
16
-
17
- ## Setup & Configuration
18
-
19
- ```typescript
20
- // main.ts (Main Process)
21
- import { app, BrowserWindow } from 'electron'
22
- import path from 'path'
23
-
24
- function createWindow() {
25
- const win = new BrowserWindow({
26
- width: 1200,
27
- height: 800,
28
- webPreferences: {
29
- preload: path.join(__dirname, 'preload.js'),
30
- contextIsolation: true,
31
- nodeIntegration: false,
32
- },
33
- })
34
-
35
- win.loadFile('index.html')
36
- }
37
-
38
- app.whenReady().then(createWindow)
39
- ```
40
-
41
- ## Quality Gates
42
-
43
- ```bash
44
- # Type check
45
- npm run type-check
46
-
47
- # Lint
48
- npm run lint
49
-
50
- # Tests
51
- npm test
52
-
53
- # Build
54
- npm run build # Compile TypeScript
55
- npm run package # Package app
56
- npm run make # Create distributables
57
- ```
58
-
59
- ## Best Practices
60
-
61
- ✅ **DO:**
62
- - Use contextIsolation: true
63
- - Disable nodeIntegration
64
- - Use preload scripts for IPC
65
- - Implement auto-updates (electron-updater)
66
- - Sign and notarize apps (production)
67
- - Use Content Security Policy
68
- - Implement proper error handling
69
- - Separate main and renderer processes
70
-
71
- ❌ **DON'T:**
72
- - Enable nodeIntegration in renderer
73
- - Skip contextIsolation
74
- - Use remote module (deprecated)
75
- - Ignore security warnings
76
- - Skip code signing
77
- - Load remote content without CSP
78
- - Use synchronous IPC
79
- - Hardcode credentials
80
-
81
- ## Project Structure
82
-
83
- ```
84
- src/
85
- ├── main/
86
- │ ├── main.ts # Main process
87
- │ ├── preload.ts # Preload script
88
- │ └── ipc/ # IPC handlers
89
- ├── renderer/
90
- │ ├── index.html
91
- │ ├── renderer.ts
92
- │ └── components/
93
- └── shared/
94
- └── types.ts
95
- ```
96
-
97
- ## IPC Communication
98
-
99
- ```typescript
100
- // preload.ts
101
- import { contextBridge, ipcRenderer } from 'electron'
102
-
103
- contextBridge.exposeInMainWorld('electronAPI', {
104
- sendMessage: (message: string) => ipcRenderer.send('message', message),
105
- onReply: (callback: (reply: string) => void) =>
106
- ipcRenderer.on('reply', (_event, reply) => callback(reply)),
107
- })
108
-
109
- // main.ts
110
- import { ipcMain } from 'electron'
111
-
112
- ipcMain.on('message', (event, message) => {
113
- console.log(message)
114
- event.reply('reply', 'Message received')
115
- })
116
-
117
- // renderer.ts
118
- declare global {
119
- interface Window {
120
- electronAPI: {
121
- sendMessage: (message: string) => void
122
- onReply: (callback: (reply: string) => void) => void
123
- }
124
- }
125
- }
126
-
127
- window.electronAPI.sendMessage('Hello from renderer')
128
- window.electronAPI.onReply((reply) => console.log(reply))
129
- ```
130
-
131
- ## Security Checklist
132
-
133
- ```typescript
134
- // ✅ Good security configuration
135
- const win = new BrowserWindow({
136
- webPreferences: {
137
- contextIsolation: true, // ✅ MUST enable
138
- nodeIntegration: false, // ✅ MUST disable
139
- sandbox: true, // ✅ Enable sandbox
140
- webSecurity: true, // ✅ Enable web security
141
- allowRunningInsecureContent: false, // ✅ Block insecure content
142
- },
143
- })
144
-
145
- // Content Security Policy
146
- session.defaultSession.webRequest.onHeadersReceived((details, callback) => {
147
- callback({
148
- responseHeaders: {
149
- ...details.responseHeaders,
150
- 'Content-Security-Policy': ["default-src 'self'"]
151
- }
152
- })
153
- })
154
- ```
155
-
156
- <!-- ELECTRON:END -->
157
-
1
+ ---
2
+ name: "Electron"
3
+ description: "Language: TypeScript, JavaScript"
4
+ version: "1.0.0"
5
+ category: "frameworks"
6
+ author: "Rulebook"
7
+ tags: ["frameworks", "framework"]
8
+ dependencies: []
9
+ conflicts: []
10
+ ---
11
+ <!-- ELECTRON:START -->
12
+ # Electron Framework Rules
13
+
14
+ **Language**: TypeScript, JavaScript
15
+ **Version**: Electron 28+
16
+
17
+ ## Setup & Configuration
18
+
19
+ ```typescript
20
+ // main.ts (Main Process)
21
+ import { app, BrowserWindow } from 'electron'
22
+ import path from 'path'
23
+
24
+ function createWindow() {
25
+ const win = new BrowserWindow({
26
+ width: 1200,
27
+ height: 800,
28
+ webPreferences: {
29
+ preload: path.join(__dirname, 'preload.js'),
30
+ contextIsolation: true,
31
+ nodeIntegration: false,
32
+ },
33
+ })
34
+
35
+ win.loadFile('index.html')
36
+ }
37
+
38
+ app.whenReady().then(createWindow)
39
+ ```
40
+
41
+ ## Quality Gates
42
+
43
+ ```bash
44
+ # Type check
45
+ npm run type-check
46
+
47
+ # Lint
48
+ npm run lint
49
+
50
+ # Tests
51
+ npm test
52
+
53
+ # Build
54
+ npm run build # Compile TypeScript
55
+ npm run package # Package app
56
+ npm run make # Create distributables
57
+ ```
58
+
59
+ ## Best Practices
60
+
61
+ ✅ **DO:**
62
+ - Use contextIsolation: true
63
+ - Disable nodeIntegration
64
+ - Use preload scripts for IPC
65
+ - Implement auto-updates (electron-updater)
66
+ - Sign and notarize apps (production)
67
+ - Use Content Security Policy
68
+ - Implement proper error handling
69
+ - Separate main and renderer processes
70
+
71
+ ❌ **DON'T:**
72
+ - Enable nodeIntegration in renderer
73
+ - Skip contextIsolation
74
+ - Use remote module (deprecated)
75
+ - Ignore security warnings
76
+ - Skip code signing
77
+ - Load remote content without CSP
78
+ - Use synchronous IPC
79
+ - Hardcode credentials
80
+
81
+ ## Project Structure
82
+
83
+ ```
84
+ src/
85
+ ├── main/
86
+ │ ├── main.ts # Main process
87
+ │ ├── preload.ts # Preload script
88
+ │ └── ipc/ # IPC handlers
89
+ ├── renderer/
90
+ │ ├── index.html
91
+ │ ├── renderer.ts
92
+ │ └── components/
93
+ └── shared/
94
+ └── types.ts
95
+ ```
96
+
97
+ ## IPC Communication
98
+
99
+ ```typescript
100
+ // preload.ts
101
+ import { contextBridge, ipcRenderer } from 'electron'
102
+
103
+ contextBridge.exposeInMainWorld('electronAPI', {
104
+ sendMessage: (message: string) => ipcRenderer.send('message', message),
105
+ onReply: (callback: (reply: string) => void) =>
106
+ ipcRenderer.on('reply', (_event, reply) => callback(reply)),
107
+ })
108
+
109
+ // main.ts
110
+ import { ipcMain } from 'electron'
111
+
112
+ ipcMain.on('message', (event, message) => {
113
+ console.log(message)
114
+ event.reply('reply', 'Message received')
115
+ })
116
+
117
+ // renderer.ts
118
+ declare global {
119
+ interface Window {
120
+ electronAPI: {
121
+ sendMessage: (message: string) => void
122
+ onReply: (callback: (reply: string) => void) => void
123
+ }
124
+ }
125
+ }
126
+
127
+ window.electronAPI.sendMessage('Hello from renderer')
128
+ window.electronAPI.onReply((reply) => console.log(reply))
129
+ ```
130
+
131
+ ## Security Checklist
132
+
133
+ ```typescript
134
+ // ✅ Good security configuration
135
+ const win = new BrowserWindow({
136
+ webPreferences: {
137
+ contextIsolation: true, // ✅ MUST enable
138
+ nodeIntegration: false, // ✅ MUST disable
139
+ sandbox: true, // ✅ Enable sandbox
140
+ webSecurity: true, // ✅ Enable web security
141
+ allowRunningInsecureContent: false, // ✅ Block insecure content
142
+ },
143
+ })
144
+
145
+ // Content Security Policy
146
+ session.defaultSession.webRequest.onHeadersReceived((details, callback) => {
147
+ callback({
148
+ responseHeaders: {
149
+ ...details.responseHeaders,
150
+ 'Content-Security-Policy': ["default-src 'self'"]
151
+ }
152
+ })
153
+ })
154
+ ```
155
+
156
+ <!-- ELECTRON:END -->
157
+
@@ -1,48 +1,48 @@
1
- ---
2
- name: "Flask"
3
- description: "Language: Python"
4
- version: "1.0.0"
5
- category: "frameworks"
6
- author: "Rulebook"
7
- tags: ["frameworks", "framework"]
8
- dependencies: []
9
- conflicts: []
10
- ---
11
- <!-- FLASK:START -->
12
- # Flask Framework Rules
13
-
14
- **Language**: Python
15
- **Version**: Flask 3.0+
16
-
17
- ## Setup
18
-
19
- ```python
20
- from flask import Flask
21
- app = Flask(__name__)
22
- app.config.from_object('config.ProductionConfig')
23
-
24
- # Use Flask-SQLAlchemy for ORM
25
- # Use Flask-Migrate for migrations
26
- # Use Flask-Login for auth
27
- ```
28
-
29
- ## Quality Gates
30
-
31
- ```bash
32
- black .
33
- ruff check .
34
- pytest --cov=app
35
- ```
36
-
37
- ## Best Practices
38
-
39
- ✅ Use application factory pattern
40
- ✅ Enable CORS properly
41
- ✅ Use blueprints for organization
42
- ✅ Implement error handlers
43
-
44
- ❌ Don't use `debug=True` in production
45
- ❌ Don't store secrets in code
46
-
47
- <!-- FLASK:END -->
48
-
1
+ ---
2
+ name: "Flask"
3
+ description: "Language: Python"
4
+ version: "1.0.0"
5
+ category: "frameworks"
6
+ author: "Rulebook"
7
+ tags: ["frameworks", "framework"]
8
+ dependencies: []
9
+ conflicts: []
10
+ ---
11
+ <!-- FLASK:START -->
12
+ # Flask Framework Rules
13
+
14
+ **Language**: Python
15
+ **Version**: Flask 3.0+
16
+
17
+ ## Setup
18
+
19
+ ```python
20
+ from flask import Flask
21
+ app = Flask(__name__)
22
+ app.config.from_object('config.ProductionConfig')
23
+
24
+ # Use Flask-SQLAlchemy for ORM
25
+ # Use Flask-Migrate for migrations
26
+ # Use Flask-Login for auth
27
+ ```
28
+
29
+ ## Quality Gates
30
+
31
+ ```bash
32
+ black .
33
+ ruff check .
34
+ pytest --cov=app
35
+ ```
36
+
37
+ ## Best Practices
38
+
39
+ ✅ Use application factory pattern
40
+ ✅ Enable CORS properly
41
+ ✅ Use blueprints for organization
42
+ ✅ Implement error handlers
43
+
44
+ ❌ Don't use `debug=True` in production
45
+ ❌ Don't store secrets in code
46
+
47
+ <!-- FLASK:END -->
48
+
@@ -1,65 +1,65 @@
1
- ---
2
- name: "Flutter"
3
- description: "Language: Dart"
4
- version: "1.0.0"
5
- category: "frameworks"
6
- author: "Rulebook"
7
- tags: ["frameworks", "framework"]
8
- dependencies: []
9
- conflicts: []
10
- ---
11
- <!-- FLUTTER:START -->
12
- # Flutter Framework Rules
13
-
14
- **Language**: Dart
15
- **Version**: Flutter 3.10+
16
-
17
- ## Setup
18
-
19
- ```yaml
20
- # pubspec.yaml
21
- dependencies:
22
- flutter:
23
- sdk: flutter
24
- cupertino_icons: ^1.0.2
25
-
26
- dev_dependencies:
27
- flutter_test:
28
- sdk: flutter
29
- flutter_lints: ^2.0.0
30
- ```
31
-
32
- ## Quality Gates
33
-
34
- ```bash
35
- dart format --set-exit-if-changed .
36
- dart analyze --fatal-infos
37
- flutter test
38
- flutter build apk --release # Test build
39
- ```
40
-
41
- ## Best Practices
42
-
43
- ✅ Use StatelessWidget when possible
44
- ✅ Implement proper state management (Provider, Riverpod, Bloc)
45
- ✅ Use const constructors
46
- ✅ Optimize widget rebuilds
47
- ✅ Test on multiple devices
48
-
49
- ❌ Don't use `print()` in production
50
- ❌ Don't skip null safety
51
- ❌ Don't ignore platform differences
52
-
53
- ## Project Structure
54
-
55
- ```
56
- lib/
57
- ├── main.dart
58
- ├── models/
59
- ├── screens/
60
- ├── widgets/
61
- └── services/
62
- ```
63
-
64
- <!-- FLUTTER:END -->
65
-
1
+ ---
2
+ name: "Flutter"
3
+ description: "Language: Dart"
4
+ version: "1.0.0"
5
+ category: "frameworks"
6
+ author: "Rulebook"
7
+ tags: ["frameworks", "framework"]
8
+ dependencies: []
9
+ conflicts: []
10
+ ---
11
+ <!-- FLUTTER:START -->
12
+ # Flutter Framework Rules
13
+
14
+ **Language**: Dart
15
+ **Version**: Flutter 3.10+
16
+
17
+ ## Setup
18
+
19
+ ```yaml
20
+ # pubspec.yaml
21
+ dependencies:
22
+ flutter:
23
+ sdk: flutter
24
+ cupertino_icons: ^1.0.2
25
+
26
+ dev_dependencies:
27
+ flutter_test:
28
+ sdk: flutter
29
+ flutter_lints: ^2.0.0
30
+ ```
31
+
32
+ ## Quality Gates
33
+
34
+ ```bash
35
+ dart format --set-exit-if-changed .
36
+ dart analyze --fatal-infos
37
+ flutter test
38
+ flutter build apk --release # Test build
39
+ ```
40
+
41
+ ## Best Practices
42
+
43
+ ✅ Use StatelessWidget when possible
44
+ ✅ Implement proper state management (Provider, Riverpod, Bloc)
45
+ ✅ Use const constructors
46
+ ✅ Optimize widget rebuilds
47
+ ✅ Test on multiple devices
48
+
49
+ ❌ Don't use `print()` in production
50
+ ❌ Don't skip null safety
51
+ ❌ Don't ignore platform differences
52
+
53
+ ## Project Structure
54
+
55
+ ```
56
+ lib/
57
+ ├── main.dart
58
+ ├── models/
59
+ ├── screens/
60
+ ├── widgets/
61
+ └── services/
62
+ ```
63
+
64
+ <!-- FLUTTER:END -->
65
+
@@ -1,42 +1,42 @@
1
- ---
2
- name: "jQuery"
3
- description: "Language: JavaScript"
4
- version: "1.0.0"
5
- category: "frameworks"
6
- author: "Rulebook"
7
- tags: ["frameworks", "framework"]
8
- dependencies: []
9
- conflicts: []
10
- ---
11
- <!-- JQUERY:START -->
12
- # jQuery Framework Rules
13
-
14
- **Language**: JavaScript
15
- **Version**: jQuery 3.x+
16
-
17
- ## Setup
18
-
19
- ```html
20
- <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
21
- ```
22
-
23
- ## Best Practices
24
-
25
- ✅ Use modern JS alongside jQuery
26
- ✅ Minimize DOM manipulation
27
- ✅ Cache jQuery selectors
28
- ✅ Use event delegation
29
-
30
- ❌ Don't use jQuery for everything
31
- ❌ Don't pollute global scope
32
- ❌ Don't skip CSP headers
33
-
34
- ## Quality Gates
35
-
36
- ```bash
37
- eslint src/**/*.js
38
- jest
39
- ```
40
-
41
- <!-- JQUERY:END -->
42
-
1
+ ---
2
+ name: "jQuery"
3
+ description: "Language: JavaScript"
4
+ version: "1.0.0"
5
+ category: "frameworks"
6
+ author: "Rulebook"
7
+ tags: ["frameworks", "framework"]
8
+ dependencies: []
9
+ conflicts: []
10
+ ---
11
+ <!-- JQUERY:START -->
12
+ # jQuery Framework Rules
13
+
14
+ **Language**: JavaScript
15
+ **Version**: jQuery 3.x+
16
+
17
+ ## Setup
18
+
19
+ ```html
20
+ <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
21
+ ```
22
+
23
+ ## Best Practices
24
+
25
+ ✅ Use modern JS alongside jQuery
26
+ ✅ Minimize DOM manipulation
27
+ ✅ Cache jQuery selectors
28
+ ✅ Use event delegation
29
+
30
+ ❌ Don't use jQuery for everything
31
+ ❌ Don't pollute global scope
32
+ ❌ Don't skip CSP headers
33
+
34
+ ## Quality Gates
35
+
36
+ ```bash
37
+ eslint src/**/*.js
38
+ jest
39
+ ```
40
+
41
+ <!-- JQUERY:END -->
42
+