@hivehub/rulebook 1.2.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 (379) hide show
  1. package/LICENSE +191 -0
  2. package/README.md +539 -0
  3. package/dist/agents/claude-code.d.ts +69 -0
  4. package/dist/agents/claude-code.d.ts.map +1 -0
  5. package/dist/agents/claude-code.js +180 -0
  6. package/dist/agents/claude-code.js.map +1 -0
  7. package/dist/agents/cursor-agent.d.ts +184 -0
  8. package/dist/agents/cursor-agent.d.ts.map +1 -0
  9. package/dist/agents/cursor-agent.js +299 -0
  10. package/dist/agents/cursor-agent.js.map +1 -0
  11. package/dist/agents/gemini-cli.d.ts +69 -0
  12. package/dist/agents/gemini-cli.d.ts.map +1 -0
  13. package/dist/agents/gemini-cli.js +180 -0
  14. package/dist/agents/gemini-cli.js.map +1 -0
  15. package/dist/cli/commands.d.ts +57 -0
  16. package/dist/cli/commands.d.ts.map +1 -0
  17. package/dist/cli/commands.js +1370 -0
  18. package/dist/cli/commands.js.map +1 -0
  19. package/dist/cli/docs-prompts.d.ts +3 -0
  20. package/dist/cli/docs-prompts.d.ts.map +1 -0
  21. package/dist/cli/docs-prompts.js +45 -0
  22. package/dist/cli/docs-prompts.js.map +1 -0
  23. package/dist/cli/prompts.d.ts +6 -0
  24. package/dist/cli/prompts.d.ts.map +1 -0
  25. package/dist/cli/prompts.js +376 -0
  26. package/dist/cli/prompts.js.map +1 -0
  27. package/dist/core/agent-manager.d.ts +89 -0
  28. package/dist/core/agent-manager.d.ts.map +1 -0
  29. package/dist/core/agent-manager.js +546 -0
  30. package/dist/core/agent-manager.js.map +1 -0
  31. package/dist/core/auto-fixer.d.ts +14 -0
  32. package/dist/core/auto-fixer.d.ts.map +1 -0
  33. package/dist/core/auto-fixer.js +207 -0
  34. package/dist/core/auto-fixer.js.map +1 -0
  35. package/dist/core/changelog-generator.d.ts +44 -0
  36. package/dist/core/changelog-generator.d.ts.map +1 -0
  37. package/dist/core/changelog-generator.js +222 -0
  38. package/dist/core/changelog-generator.js.map +1 -0
  39. package/dist/core/cli-bridge.d.ts +113 -0
  40. package/dist/core/cli-bridge.d.ts.map +1 -0
  41. package/dist/core/cli-bridge.js +1094 -0
  42. package/dist/core/cli-bridge.js.map +1 -0
  43. package/dist/core/config-manager.d.ts +65 -0
  44. package/dist/core/config-manager.d.ts.map +1 -0
  45. package/dist/core/config-manager.js +266 -0
  46. package/dist/core/config-manager.js.map +1 -0
  47. package/dist/core/coverage-checker.d.ts +14 -0
  48. package/dist/core/coverage-checker.d.ts.map +1 -0
  49. package/dist/core/coverage-checker.js +176 -0
  50. package/dist/core/coverage-checker.js.map +1 -0
  51. package/dist/core/custom-templates.d.ts +27 -0
  52. package/dist/core/custom-templates.d.ts.map +1 -0
  53. package/dist/core/custom-templates.js +122 -0
  54. package/dist/core/custom-templates.js.map +1 -0
  55. package/dist/core/dependency-checker.d.ts +21 -0
  56. package/dist/core/dependency-checker.d.ts.map +1 -0
  57. package/dist/core/dependency-checker.js +247 -0
  58. package/dist/core/dependency-checker.js.map +1 -0
  59. package/dist/core/detector.d.ts +3 -0
  60. package/dist/core/detector.d.ts.map +1 -0
  61. package/dist/core/detector.js +1443 -0
  62. package/dist/core/detector.js.map +1 -0
  63. package/dist/core/docs-generator.d.ts +9 -0
  64. package/dist/core/docs-generator.d.ts.map +1 -0
  65. package/dist/core/docs-generator.js +531 -0
  66. package/dist/core/docs-generator.js.map +1 -0
  67. package/dist/core/generator.d.ts +16 -0
  68. package/dist/core/generator.d.ts.map +1 -0
  69. package/dist/core/generator.js +561 -0
  70. package/dist/core/generator.js.map +1 -0
  71. package/dist/core/gitignore-generator.d.ts +13 -0
  72. package/dist/core/gitignore-generator.d.ts.map +1 -0
  73. package/dist/core/gitignore-generator.js +307 -0
  74. package/dist/core/gitignore-generator.js.map +1 -0
  75. package/dist/core/health-scorer.d.ts +22 -0
  76. package/dist/core/health-scorer.d.ts.map +1 -0
  77. package/dist/core/health-scorer.js +395 -0
  78. package/dist/core/health-scorer.js.map +1 -0
  79. package/dist/core/logger.d.ts +116 -0
  80. package/dist/core/logger.d.ts.map +1 -0
  81. package/dist/core/logger.js +289 -0
  82. package/dist/core/logger.js.map +1 -0
  83. package/dist/core/merger.d.ts +6 -0
  84. package/dist/core/merger.d.ts.map +1 -0
  85. package/dist/core/merger.js +131 -0
  86. package/dist/core/merger.js.map +1 -0
  87. package/dist/core/migrator.d.ts +19 -0
  88. package/dist/core/migrator.d.ts.map +1 -0
  89. package/dist/core/migrator.js +102 -0
  90. package/dist/core/migrator.js.map +1 -0
  91. package/dist/core/minimal-scaffolder.d.ts +8 -0
  92. package/dist/core/minimal-scaffolder.d.ts.map +1 -0
  93. package/dist/core/minimal-scaffolder.js +51 -0
  94. package/dist/core/minimal-scaffolder.js.map +1 -0
  95. package/dist/core/modern-console-new.d.ts +81 -0
  96. package/dist/core/modern-console-new.d.ts.map +1 -0
  97. package/dist/core/modern-console-new.js +340 -0
  98. package/dist/core/modern-console-new.js.map +1 -0
  99. package/dist/core/modern-console.d.ts +99 -0
  100. package/dist/core/modern-console.d.ts.map +1 -0
  101. package/dist/core/modern-console.js +568 -0
  102. package/dist/core/modern-console.js.map +1 -0
  103. package/dist/core/openspec-manager.d.ts +133 -0
  104. package/dist/core/openspec-manager.d.ts.map +1 -0
  105. package/dist/core/openspec-manager.js +605 -0
  106. package/dist/core/openspec-manager.js.map +1 -0
  107. package/dist/core/openspec-migrator.d.ts +27 -0
  108. package/dist/core/openspec-migrator.d.ts.map +1 -0
  109. package/dist/core/openspec-migrator.js +255 -0
  110. package/dist/core/openspec-migrator.js.map +1 -0
  111. package/dist/core/task-manager.d.ts +65 -0
  112. package/dist/core/task-manager.d.ts.map +1 -0
  113. package/dist/core/task-manager.js +318 -0
  114. package/dist/core/task-manager.js.map +1 -0
  115. package/dist/core/test-task-manager.d.ts +49 -0
  116. package/dist/core/test-task-manager.d.ts.map +1 -0
  117. package/dist/core/test-task-manager.js +121 -0
  118. package/dist/core/test-task-manager.js.map +1 -0
  119. package/dist/core/validator.d.ts +21 -0
  120. package/dist/core/validator.d.ts.map +1 -0
  121. package/dist/core/validator.js +177 -0
  122. package/dist/core/validator.js.map +1 -0
  123. package/dist/core/version-bumper.d.ts +19 -0
  124. package/dist/core/version-bumper.d.ts.map +1 -0
  125. package/dist/core/version-bumper.js +180 -0
  126. package/dist/core/version-bumper.js.map +1 -0
  127. package/dist/core/watcher.d.ts +9 -0
  128. package/dist/core/watcher.d.ts.map +1 -0
  129. package/dist/core/watcher.js +22 -0
  130. package/dist/core/watcher.js.map +1 -0
  131. package/dist/core/workflow-generator.d.ts +10 -0
  132. package/dist/core/workflow-generator.d.ts.map +1 -0
  133. package/dist/core/workflow-generator.js +279 -0
  134. package/dist/core/workflow-generator.js.map +1 -0
  135. package/dist/index.d.ts +3 -0
  136. package/dist/index.d.ts.map +1 -0
  137. package/dist/index.js +159 -0
  138. package/dist/index.js.map +1 -0
  139. package/dist/mcp/handlers/archive-task.d.ts +17 -0
  140. package/dist/mcp/handlers/archive-task.d.ts.map +1 -0
  141. package/dist/mcp/handlers/archive-task.js +36 -0
  142. package/dist/mcp/handlers/archive-task.js.map +1 -0
  143. package/dist/mcp/handlers/create-task.d.ts +17 -0
  144. package/dist/mcp/handlers/create-task.d.ts.map +1 -0
  145. package/dist/mcp/handlers/create-task.js +56 -0
  146. package/dist/mcp/handlers/create-task.js.map +1 -0
  147. package/dist/mcp/handlers/list-tasks.d.ts +22 -0
  148. package/dist/mcp/handlers/list-tasks.d.ts.map +1 -0
  149. package/dist/mcp/handlers/list-tasks.js +42 -0
  150. package/dist/mcp/handlers/list-tasks.js.map +1 -0
  151. package/dist/mcp/handlers/show-task.d.ts +25 -0
  152. package/dist/mcp/handlers/show-task.d.ts.map +1 -0
  153. package/dist/mcp/handlers/show-task.js +43 -0
  154. package/dist/mcp/handlers/show-task.js.map +1 -0
  155. package/dist/mcp/handlers/update-task.d.ts +17 -0
  156. package/dist/mcp/handlers/update-task.d.ts.map +1 -0
  157. package/dist/mcp/handlers/update-task.js +35 -0
  158. package/dist/mcp/handlers/update-task.js.map +1 -0
  159. package/dist/mcp/handlers/validate-task.d.ts +15 -0
  160. package/dist/mcp/handlers/validate-task.d.ts.map +1 -0
  161. package/dist/mcp/handlers/validate-task.js +27 -0
  162. package/dist/mcp/handlers/validate-task.js.map +1 -0
  163. package/dist/mcp/rulebook-config.d.ts +22 -0
  164. package/dist/mcp/rulebook-config.d.ts.map +1 -0
  165. package/dist/mcp/rulebook-config.js +65 -0
  166. package/dist/mcp/rulebook-config.js.map +1 -0
  167. package/dist/mcp/rulebook-server.d.ts +4 -0
  168. package/dist/mcp/rulebook-server.d.ts.map +1 -0
  169. package/dist/mcp/rulebook-server.js +246 -0
  170. package/dist/mcp/rulebook-server.js.map +1 -0
  171. package/dist/types.d.ts +190 -0
  172. package/dist/types.d.ts.map +1 -0
  173. package/dist/types.js +2 -0
  174. package/dist/types.js.map +1 -0
  175. package/dist/utils/file-system.d.ts +9 -0
  176. package/dist/utils/file-system.d.ts.map +1 -0
  177. package/dist/utils/file-system.js +51 -0
  178. package/dist/utils/file-system.js.map +1 -0
  179. package/dist/utils/git-hooks.d.ts +8 -0
  180. package/dist/utils/git-hooks.d.ts.map +1 -0
  181. package/dist/utils/git-hooks.js +440 -0
  182. package/dist/utils/git-hooks.js.map +1 -0
  183. package/dist/utils/rulesignore.d.ts +9 -0
  184. package/dist/utils/rulesignore.d.ts.map +1 -0
  185. package/dist/utils/rulesignore.js +42 -0
  186. package/dist/utils/rulesignore.js.map +1 -0
  187. package/package.json +106 -0
  188. package/templates/cli/AIDER.md +49 -0
  189. package/templates/cli/AMAZON_Q.md +25 -0
  190. package/templates/cli/AUGGIE.md +32 -0
  191. package/templates/cli/CLAUDE.md +32 -0
  192. package/templates/cli/CLAUDE_CODE.md +35 -0
  193. package/templates/cli/CLINE.md +32 -0
  194. package/templates/cli/CODEBUDDY.md +20 -0
  195. package/templates/cli/CODEIUM.md +20 -0
  196. package/templates/cli/CODEX.md +21 -0
  197. package/templates/cli/CONTINUE.md +34 -0
  198. package/templates/cli/CURSOR_CLI.md +28 -0
  199. package/templates/cli/FACTORY.md +18 -0
  200. package/templates/cli/GEMINI.md +35 -0
  201. package/templates/cli/KILOCODE.md +18 -0
  202. package/templates/cli/OPENCODE.md +18 -0
  203. package/templates/cli/_GENERIC_TEMPLATE.md +29 -0
  204. package/templates/commands/rulebook-task-apply.md +67 -0
  205. package/templates/commands/rulebook-task-archive.md +70 -0
  206. package/templates/commands/rulebook-task-create.md +93 -0
  207. package/templates/commands/rulebook-task-list.md +42 -0
  208. package/templates/commands/rulebook-task-show.md +52 -0
  209. package/templates/commands/rulebook-task-validate.md +53 -0
  210. package/templates/core/AGENT_AUTOMATION.md +184 -0
  211. package/templates/core/DAG.md +304 -0
  212. package/templates/core/DOCUMENTATION_RULES.md +37 -0
  213. package/templates/core/QUALITY_ENFORCEMENT.md +68 -0
  214. package/templates/core/RULEBOOK.md +1874 -0
  215. package/templates/frameworks/ANGULAR.md +36 -0
  216. package/templates/frameworks/DJANGO.md +83 -0
  217. package/templates/frameworks/ELECTRON.md +147 -0
  218. package/templates/frameworks/FLASK.md +38 -0
  219. package/templates/frameworks/FLUTTER.md +55 -0
  220. package/templates/frameworks/JQUERY.md +32 -0
  221. package/templates/frameworks/LARAVEL.md +38 -0
  222. package/templates/frameworks/NESTJS.md +43 -0
  223. package/templates/frameworks/NEXTJS.md +127 -0
  224. package/templates/frameworks/NUXT.md +40 -0
  225. package/templates/frameworks/RAILS.md +66 -0
  226. package/templates/frameworks/REACT.md +38 -0
  227. package/templates/frameworks/REACT_NATIVE.md +47 -0
  228. package/templates/frameworks/SPRING.md +39 -0
  229. package/templates/frameworks/SYMFONY.md +36 -0
  230. package/templates/frameworks/VUE.md +36 -0
  231. package/templates/frameworks/ZEND.md +35 -0
  232. package/templates/git/CI_CD_PATTERNS.md +661 -0
  233. package/templates/git/GITHUB_ACTIONS.md +728 -0
  234. package/templates/git/GITLAB_CI.md +730 -0
  235. package/templates/git/GIT_WORKFLOW.md +1157 -0
  236. package/templates/git/SECRETS_MANAGEMENT.md +585 -0
  237. package/templates/hooks/COMMIT_MSG.md +530 -0
  238. package/templates/hooks/POST_CHECKOUT.md +546 -0
  239. package/templates/hooks/PREPARE_COMMIT_MSG.md +619 -0
  240. package/templates/hooks/PRE_COMMIT.md +414 -0
  241. package/templates/hooks/PRE_PUSH.md +601 -0
  242. package/templates/hooks/csharp-pre-commit.sh +23 -0
  243. package/templates/hooks/csharp-pre-push.sh +23 -0
  244. package/templates/hooks/dart-pre-commit.sh +30 -0
  245. package/templates/hooks/dart-pre-push.sh +25 -0
  246. package/templates/hooks/elixir-pre-commit.sh +32 -0
  247. package/templates/hooks/elixir-pre-push.sh +31 -0
  248. package/templates/hooks/erlang-pre-commit.sh +30 -0
  249. package/templates/hooks/erlang-pre-push.sh +37 -0
  250. package/templates/hooks/go-pre-commit.sh +40 -0
  251. package/templates/hooks/go-pre-push.sh +31 -0
  252. package/templates/hooks/haskell-pre-commit.sh +41 -0
  253. package/templates/hooks/haskell-pre-push.sh +37 -0
  254. package/templates/hooks/java-pre-commit.sh +34 -0
  255. package/templates/hooks/java-pre-push.sh +24 -0
  256. package/templates/hooks/kotlin-pre-commit.sh +32 -0
  257. package/templates/hooks/kotlin-pre-push.sh +16 -0
  258. package/templates/hooks/php-pre-commit.sh +36 -0
  259. package/templates/hooks/php-pre-push.sh +26 -0
  260. package/templates/hooks/python-pre-commit.sh +51 -0
  261. package/templates/hooks/python-pre-push.sh +25 -0
  262. package/templates/hooks/ruby-pre-commit.sh +33 -0
  263. package/templates/hooks/ruby-pre-push.sh +32 -0
  264. package/templates/hooks/rust-pre-commit.sh +30 -0
  265. package/templates/hooks/rust-pre-push.sh +30 -0
  266. package/templates/hooks/scala-pre-commit.sh +32 -0
  267. package/templates/hooks/scala-pre-push.sh +24 -0
  268. package/templates/hooks/swift-pre-commit.sh +25 -0
  269. package/templates/hooks/swift-pre-push.sh +23 -0
  270. package/templates/hooks/typescript-pre-commit.sh +37 -0
  271. package/templates/hooks/typescript-pre-push.sh +36 -0
  272. package/templates/ides/COPILOT.md +37 -0
  273. package/templates/ides/CURSOR.md +43 -0
  274. package/templates/ides/JETBRAINS_AI.md +35 -0
  275. package/templates/ides/REPLIT.md +36 -0
  276. package/templates/ides/TABNINE.md +29 -0
  277. package/templates/ides/VSCODE.md +40 -0
  278. package/templates/ides/WINDSURF.md +36 -0
  279. package/templates/ides/ZED.md +32 -0
  280. package/templates/languages/ADA.md +58 -0
  281. package/templates/languages/C.md +333 -0
  282. package/templates/languages/CPP.md +743 -0
  283. package/templates/languages/CSHARP.md +417 -0
  284. package/templates/languages/DART.md +332 -0
  285. package/templates/languages/ELIXIR.md +454 -0
  286. package/templates/languages/ERLANG.md +361 -0
  287. package/templates/languages/GO.md +645 -0
  288. package/templates/languages/HASKELL.md +177 -0
  289. package/templates/languages/JAVA.md +607 -0
  290. package/templates/languages/JAVASCRIPT.md +631 -0
  291. package/templates/languages/JULIA.md +97 -0
  292. package/templates/languages/KOTLIN.md +511 -0
  293. package/templates/languages/LISP.md +100 -0
  294. package/templates/languages/LUA.md +74 -0
  295. package/templates/languages/OBJECTIVEC.md +90 -0
  296. package/templates/languages/PHP.md +416 -0
  297. package/templates/languages/PYTHON.md +682 -0
  298. package/templates/languages/R.md +350 -0
  299. package/templates/languages/RUBY.md +421 -0
  300. package/templates/languages/RUST.md +477 -0
  301. package/templates/languages/SAS.md +73 -0
  302. package/templates/languages/SCALA.md +348 -0
  303. package/templates/languages/SOLIDITY.md +580 -0
  304. package/templates/languages/SQL.md +137 -0
  305. package/templates/languages/SWIFT.md +466 -0
  306. package/templates/languages/TYPESCRIPT.md +591 -0
  307. package/templates/languages/ZIG.md +265 -0
  308. package/templates/modules/ATLASSIAN.md +255 -0
  309. package/templates/modules/CONTEXT7.md +54 -0
  310. package/templates/modules/FIGMA.md +267 -0
  311. package/templates/modules/GITHUB_MCP.md +64 -0
  312. package/templates/modules/GRAFANA.md +328 -0
  313. package/templates/modules/NOTION.md +247 -0
  314. package/templates/modules/PLAYWRIGHT.md +90 -0
  315. package/templates/modules/RULEBOOK_MCP.md +156 -0
  316. package/templates/modules/SERENA.md +337 -0
  317. package/templates/modules/SUPABASE.md +223 -0
  318. package/templates/modules/SYNAP.md +69 -0
  319. package/templates/modules/VECTORIZER.md +63 -0
  320. package/templates/services/AZURE_BLOB.md +184 -0
  321. package/templates/services/CASSANDRA.md +239 -0
  322. package/templates/services/DYNAMODB.md +308 -0
  323. package/templates/services/ELASTICSEARCH.md +347 -0
  324. package/templates/services/GCS.md +178 -0
  325. package/templates/services/INFLUXDB.md +265 -0
  326. package/templates/services/KAFKA.md +341 -0
  327. package/templates/services/MARIADB.md +183 -0
  328. package/templates/services/MEMCACHED.md +242 -0
  329. package/templates/services/MINIO.md +201 -0
  330. package/templates/services/MONGODB.md +268 -0
  331. package/templates/services/MYSQL.md +358 -0
  332. package/templates/services/NEO4J.md +247 -0
  333. package/templates/services/ORACLE.md +290 -0
  334. package/templates/services/POSTGRESQL.md +326 -0
  335. package/templates/services/RABBITMQ.md +286 -0
  336. package/templates/services/REDIS.md +292 -0
  337. package/templates/services/S3.md +298 -0
  338. package/templates/services/SQLITE.md +294 -0
  339. package/templates/services/SQLSERVER.md +294 -0
  340. package/templates/workflows/codespell.yml +31 -0
  341. package/templates/workflows/cpp-lint.yml +47 -0
  342. package/templates/workflows/cpp-publish.yml +119 -0
  343. package/templates/workflows/cpp-test.yml +77 -0
  344. package/templates/workflows/dotnet-lint.yml +29 -0
  345. package/templates/workflows/dotnet-publish.yml +40 -0
  346. package/templates/workflows/dotnet-test.yml +41 -0
  347. package/templates/workflows/elixir-lint.yml +45 -0
  348. package/templates/workflows/elixir-publish.yml +49 -0
  349. package/templates/workflows/elixir-test.yml +54 -0
  350. package/templates/workflows/erlang-lint.yml +47 -0
  351. package/templates/workflows/erlang-test.yml +62 -0
  352. package/templates/workflows/go-lint.yml +39 -0
  353. package/templates/workflows/go-publish.yml +95 -0
  354. package/templates/workflows/go-test.yml +59 -0
  355. package/templates/workflows/java-lint.yml +60 -0
  356. package/templates/workflows/java-publish.yml +120 -0
  357. package/templates/workflows/java-test.yml +85 -0
  358. package/templates/workflows/kotlin-lint.yml +34 -0
  359. package/templates/workflows/kotlin-publish.yml +56 -0
  360. package/templates/workflows/kotlin-test.yml +48 -0
  361. package/templates/workflows/php-lint.yml +39 -0
  362. package/templates/workflows/php-publish.yml +50 -0
  363. package/templates/workflows/php-test.yml +54 -0
  364. package/templates/workflows/python-lint.yml +47 -0
  365. package/templates/workflows/python-publish.yml +91 -0
  366. package/templates/workflows/python-test.yml +59 -0
  367. package/templates/workflows/rust-lint.yml +54 -0
  368. package/templates/workflows/rust-publish.yml +66 -0
  369. package/templates/workflows/rust-test.yml +75 -0
  370. package/templates/workflows/solidity-lint.yml +41 -0
  371. package/templates/workflows/solidity-test.yml +47 -0
  372. package/templates/workflows/swift-lint.yml +32 -0
  373. package/templates/workflows/swift-publish.yml +58 -0
  374. package/templates/workflows/swift-test.yml +44 -0
  375. package/templates/workflows/typescript-lint.yml +61 -0
  376. package/templates/workflows/typescript-publish.yml +60 -0
  377. package/templates/workflows/typescript-test.yml +73 -0
  378. package/templates/workflows/zig-lint.yml +27 -0
  379. package/templates/workflows/zig-test.yml +40 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detector.js","sourceRoot":"","sources":["../../src/core/detector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export interface DocsConfig {
2
+ projectName: string;
3
+ description: string;
4
+ author: string;
5
+ email?: string;
6
+ license: string;
7
+ }
8
+ export declare function generateDocsStructure(config: DocsConfig, targetDir?: string, mode?: 'full' | 'minimal'): Promise<string[]>;
9
+ //# sourceMappingURL=docs-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs-generator.d.ts","sourceRoot":"","sources":["../../src/core/docs-generator.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,UAAU,EAClB,SAAS,GAAE,MAAsB,EACjC,IAAI,GAAE,MAAM,GAAG,SAAkB,GAChC,OAAO,CAAC,MAAM,EAAE,CAAC,CAgFnB"}
@@ -0,0 +1,531 @@
1
+ import path from 'path';
2
+ import { writeFile, ensureDir, fileExists } from '../utils/file-system.js';
3
+ export async function generateDocsStructure(config, targetDir = process.cwd(), mode = 'full') {
4
+ const generatedFiles = [];
5
+ // Create /docs directory structure
6
+ const docsDir = path.join(targetDir, 'docs');
7
+ await ensureDir(docsDir);
8
+ await ensureDir(path.join(docsDir, 'specs'));
9
+ await ensureDir(path.join(docsDir, 'guides'));
10
+ await ensureDir(path.join(docsDir, 'diagrams'));
11
+ await ensureDir(path.join(docsDir, 'benchmarks'));
12
+ await ensureDir(path.join(docsDir, 'versions'));
13
+ await ensureDir(path.join(docsDir, 'examples'));
14
+ // Generate root README (concise version)
15
+ const readmePath = path.join(targetDir, 'README.md');
16
+ if (!(await fileExists(readmePath))) {
17
+ const readmeContent = generateRootReadme(config, mode);
18
+ await writeFile(readmePath, readmeContent);
19
+ generatedFiles.push(readmePath);
20
+ }
21
+ // Generate ROADMAP.md
22
+ const roadmapPath = path.join(docsDir, 'ROADMAP.md');
23
+ if (!(await fileExists(roadmapPath))) {
24
+ const roadmap = generateRoadmap(config);
25
+ await writeFile(roadmapPath, roadmap);
26
+ generatedFiles.push(roadmapPath);
27
+ }
28
+ // Generate ARCHITECTURE.md
29
+ const archPath = path.join(docsDir, 'ARCHITECTURE.md');
30
+ if (!(await fileExists(archPath))) {
31
+ const architecture = generateArchitecture(config);
32
+ await writeFile(archPath, architecture);
33
+ generatedFiles.push(archPath);
34
+ }
35
+ // Generate DEVELOPMENT.md
36
+ const developmentPath = path.join(docsDir, 'DEVELOPMENT.md');
37
+ if (!(await fileExists(developmentPath))) {
38
+ const development = generateDevelopment(config);
39
+ await writeFile(developmentPath, development);
40
+ generatedFiles.push(developmentPath);
41
+ }
42
+ if (mode === 'full') {
43
+ // Generate DAG.md
44
+ const dagPath = path.join(docsDir, 'DAG.md');
45
+ if (!(await fileExists(dagPath))) {
46
+ const dag = generateDAG(config);
47
+ await writeFile(dagPath, dag);
48
+ generatedFiles.push(dagPath);
49
+ }
50
+ // Generate CONTRIBUTING.md
51
+ const contributingPath = path.join(targetDir, 'CONTRIBUTING.md');
52
+ if (!(await fileExists(contributingPath))) {
53
+ const contributing = generateContributing(config);
54
+ await writeFile(contributingPath, contributing);
55
+ generatedFiles.push(contributingPath);
56
+ }
57
+ // Generate CODE_OF_CONDUCT.md
58
+ const cocPath = path.join(targetDir, 'CODE_OF_CONDUCT.md');
59
+ if (!(await fileExists(cocPath))) {
60
+ const coc = generateCodeOfConduct(config);
61
+ await writeFile(cocPath, coc);
62
+ generatedFiles.push(cocPath);
63
+ }
64
+ // Generate SECURITY.md
65
+ const securityPath = path.join(targetDir, 'SECURITY.md');
66
+ if (!(await fileExists(securityPath))) {
67
+ const security = generateSecurity(config);
68
+ await writeFile(securityPath, security);
69
+ generatedFiles.push(securityPath);
70
+ }
71
+ }
72
+ return generatedFiles;
73
+ }
74
+ function generateRootReadme(config, mode) {
75
+ const documentationLinks = [
76
+ '- [Architecture](docs/ARCHITECTURE.md)',
77
+ '- [Development Guide](docs/DEVELOPMENT.md)',
78
+ '- [Roadmap](docs/ROADMAP.md)',
79
+ ];
80
+ if (mode === 'full') {
81
+ documentationLinks.push('- [Component DAG](docs/DAG.md)');
82
+ }
83
+ const communityLinks = [];
84
+ if (mode === 'full') {
85
+ communityLinks.push('- [Contributing](CONTRIBUTING.md)');
86
+ communityLinks.push('- [Code of Conduct](CODE_OF_CONDUCT.md)');
87
+ communityLinks.push('- [Security Policy](SECURITY.md)');
88
+ }
89
+ return `# ${config.projectName}
90
+
91
+ > ${config.description}
92
+
93
+ ## Quick Start
94
+
95
+ 1. Install dependencies
96
+ 2. Run tests and linting
97
+ 3. Start the application or run your CI pipeline
98
+
99
+ ## Commands to Know
100
+
101
+ - \`npm install\`
102
+ - \`npm test\`
103
+ - \`npm run lint\`
104
+
105
+ ## Documentation
106
+
107
+ ${documentationLinks.join('\n')}
108
+
109
+ ${communityLinks.length > 0
110
+ ? `## Community & Support
111
+
112
+ ${communityLinks.join('\n')}
113
+
114
+ `
115
+ : ''}## License
116
+
117
+ This project is licensed under the ${config.license} License.
118
+ `;
119
+ }
120
+ function generateRoadmap(config) {
121
+ return `# ${config.projectName} - Roadmap
122
+
123
+ ## Overview
124
+
125
+ This document outlines the development roadmap for ${config.projectName}.
126
+
127
+ ## Phase 1: Foundation
128
+
129
+ - [ ] Core implementation
130
+ - [ ] Basic features
131
+ - [ ] Initial testing
132
+ - [ ] Documentation setup
133
+
134
+ ## Phase 2: Features
135
+
136
+ - [ ] Feature 1
137
+ - [ ] Feature 2
138
+ - [ ] Feature 3
139
+
140
+ ## Phase 3: Polish & Release
141
+
142
+ - [ ] Performance optimization
143
+ - [ ] Comprehensive testing
144
+ - [ ] Documentation completion
145
+ - [ ] Release v1.0.0
146
+
147
+ ## Future Enhancements
148
+
149
+ ### v2.0.0
150
+ - [ ] Advanced features
151
+ - [ ] Extended capabilities
152
+ - [ ] Enterprise support
153
+
154
+ ## Metrics
155
+
156
+ - **Current Version**: 0.1.0
157
+ - **Test Coverage**: Target 95%+
158
+ - **Documentation**: In Progress
159
+
160
+ ## Timeline
161
+
162
+ - **Phase 1**: Q1 2024
163
+ - **Phase 2**: Q2 2024
164
+ - **Phase 3**: Q3 2024
165
+ - **v2.0.0**: Q4 2024
166
+
167
+ ---
168
+ *Last Updated: ${new Date().toISOString().split('T')[0]}*
169
+ `;
170
+ }
171
+ function generateArchitecture(config) {
172
+ return `# ${config.projectName} - Architecture
173
+
174
+ ## Overview
175
+
176
+ This document describes the system architecture of ${config.projectName}.
177
+
178
+ ## System Components
179
+
180
+ ### Core Modules
181
+
182
+ 1. **Module A**
183
+ - Responsibility: [Description]
184
+ - Key Functions: [List]
185
+ - Dependencies: [List]
186
+
187
+ 2. **Module B**
188
+ - Responsibility: [Description]
189
+ - Key Functions: [List]
190
+ - Dependencies: [List]
191
+
192
+ ## Data Flow
193
+
194
+ \`\`\`
195
+ [Input] → [Processing] → [Output]
196
+ \`\`\`
197
+
198
+ ## Technology Stack
199
+
200
+ - **Language**: [Primary Language]
201
+ - **Framework**: [If applicable]
202
+ - **Database**: [If applicable]
203
+ - **Tools**: [Build tools, linters, etc.]
204
+
205
+ ## Design Patterns
206
+
207
+ - Pattern 1: [Description]
208
+ - Pattern 2: [Description]
209
+
210
+ ## Security Considerations
211
+
212
+ - Authentication: [Method]
213
+ - Authorization: [Method]
214
+ - Data Protection: [Method]
215
+
216
+ ## Performance
217
+
218
+ - Expected Throughput: [Metrics]
219
+ - Latency: [Targets]
220
+ - Scalability: [Approach]
221
+
222
+ ## Future Enhancements
223
+
224
+ - Enhancement 1
225
+ - Enhancement 2
226
+
227
+ ---
228
+ *Last Updated: ${new Date().toISOString().split('T')[0]}*
229
+ `;
230
+ }
231
+ function generateDAG(config) {
232
+ return `# ${config.projectName} - Component Dependencies (DAG)
233
+
234
+ ## Overview
235
+
236
+ This document describes the dependency graph (DAG) between components in ${config.projectName}.
237
+
238
+ ## Component Graph
239
+
240
+ \`\`\`
241
+ Core
242
+ ├── Utils
243
+ ├── Types
244
+ └── Config
245
+
246
+ Features
247
+ ├── Feature A
248
+ │ └── Core
249
+ └── Feature B
250
+ ├── Core
251
+ └── Feature A
252
+ \`\`\`
253
+
254
+ ## Dependency Rules
255
+
256
+ 1. **No Circular Dependencies**: Components must form a DAG
257
+ 2. **Layer Separation**: Higher layers depend on lower layers only
258
+ 3. **Interface Boundaries**: Use interfaces for cross-component communication
259
+
260
+ ## Layer Architecture
261
+
262
+ ### Layer 1: Foundation
263
+ - Utils
264
+ - Types
265
+ - Config
266
+
267
+ ### Layer 2: Core
268
+ - Core logic
269
+ - Data models
270
+ - Base services
271
+
272
+ ### Layer 3: Features
273
+ - Feature implementations
274
+ - Business logic
275
+ - API endpoints
276
+
277
+ ### Layer 4: Presentation
278
+ - UI components
279
+ - CLI interface
280
+ - API controllers
281
+
282
+ ## Verification
283
+
284
+ Run dependency check:
285
+ \`\`\`bash
286
+ # Add your dependency check command here
287
+ \`\`\`
288
+
289
+ ---
290
+ *Last Updated: ${new Date().toISOString().split('T')[0]}*
291
+ `;
292
+ }
293
+ function generateContributing(config) {
294
+ return `# Contributing to ${config.projectName}
295
+
296
+ Thank you for your interest in contributing to ${config.projectName}!
297
+
298
+ ## Code of Conduct
299
+
300
+ This project adheres to a Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to ${config.email || 'the maintainers'}.
301
+
302
+ ## How to Contribute
303
+
304
+ ### Reporting Bugs
305
+
306
+ - Use GitHub Issues
307
+ - Include reproduction steps
308
+ - Provide system information
309
+ - Include error messages and logs
310
+
311
+ ### Suggesting Features
312
+
313
+ - Open a GitHub Discussion or Issue
314
+ - Describe the use case
315
+ - Explain why it would be valuable
316
+ - Consider proposing an implementation
317
+
318
+ ### Pull Requests
319
+
320
+ 1. **Fork the repository**
321
+ 2. **Create a branch**: \`git checkout -b feature/my-feature\`
322
+ 3. **Make changes**: Follow coding standards from AGENTS.md
323
+ 4. **Write tests**: Ensure 95%+ coverage
324
+ 5. **Run quality checks**:
325
+ \`\`\`bash
326
+ npm run type-check
327
+ npm run lint
328
+ npm test
329
+ npm run test:coverage
330
+ \`\`\`
331
+ 6. **Commit**: Use conventional commits
332
+ 7. **Push**: \`git push origin feature/my-feature\`
333
+ 8. **Create PR**: Describe changes clearly
334
+
335
+ ## Development Setup
336
+
337
+ \`\`\`bash
338
+ # Clone repository
339
+ git clone https://github.com/hivellm/${config.projectName}.git
340
+ cd ${config.projectName}
341
+
342
+ # Install dependencies
343
+ npm install
344
+
345
+ # Run development mode
346
+ npm run dev
347
+
348
+ # Run tests
349
+ npm test
350
+ \`\`\`
351
+
352
+ ## Coding Standards
353
+
354
+ - Follow AGENTS.md standards
355
+ - Write tests for all new code (95%+ coverage)
356
+ - Document public APIs
357
+ - Use TypeScript strict mode
358
+ - Format with Prettier
359
+ - Lint with ESLint
360
+
361
+ ## Commit Message Format
362
+
363
+ Use conventional commits:
364
+
365
+ \`\`\`
366
+ feat: add new feature
367
+ fix: fix bug
368
+ docs: update documentation
369
+ test: add tests
370
+ chore: update dependencies
371
+ \`\`\`
372
+
373
+ ## Review Process
374
+
375
+ 1. Automated checks must pass (CI/CD)
376
+ 2. Code review by maintainer
377
+ 3. Address feedback
378
+ 4. Approval and merge
379
+
380
+ ## License
381
+
382
+ By contributing, you agree that your contributions will be licensed under the ${config.license} License.
383
+
384
+ ---
385
+ *For questions, contact ${config.email || config.author}*
386
+ `;
387
+ }
388
+ function generateCodeOfConduct(config) {
389
+ return `# Code of Conduct
390
+
391
+ ## Our Pledge
392
+
393
+ We as members, contributors, and leaders pledge to make participation in ${config.projectName} a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
394
+
395
+ ## Our Standards
396
+
397
+ Examples of behavior that contributes to a positive environment:
398
+
399
+ - Using welcoming and inclusive language
400
+ - Being respectful of differing viewpoints and experiences
401
+ - Gracefully accepting constructive criticism
402
+ - Focusing on what is best for the community
403
+ - Showing empathy towards other community members
404
+
405
+ Examples of unacceptable behavior:
406
+
407
+ - The use of sexualized language or imagery
408
+ - Trolling, insulting/derogatory comments, and personal or political attacks
409
+ - Public or private harassment
410
+ - Publishing others' private information without explicit permission
411
+ - Other conduct which could reasonably be considered inappropriate
412
+
413
+ ## Enforcement Responsibilities
414
+
415
+ Project maintainers are responsible for clarifying and enforcing standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.
416
+
417
+ ## Scope
418
+
419
+ This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces.
420
+
421
+ ## Enforcement
422
+
423
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to ${config.email || config.author}. All complaints will be reviewed and investigated promptly and fairly.
424
+
425
+ ## Attribution
426
+
427
+ This Code of Conduct is adapted from the Contributor Covenant, version 2.1.
428
+
429
+ ---
430
+ *For questions, contact ${config.email || config.author}*
431
+ `;
432
+ }
433
+ function generateSecurity(config) {
434
+ return `# Security Policy
435
+
436
+ ## Supported Versions
437
+
438
+ | Version | Supported |
439
+ | ------- | ------------------ |
440
+ | 0.4.x | :white_check_mark: |
441
+ | 0.3.x | :white_check_mark: |
442
+ | 0.2.x | :x: |
443
+ | < 0.2 | :x: |
444
+
445
+ ## Reporting a Vulnerability
446
+
447
+ **Please do not report security vulnerabilities through public GitHub issues.**
448
+
449
+ Instead, please report them via email to ${config.email || config.author}.
450
+
451
+ You should receive a response within 48 hours. If for some reason you do not, please follow up to ensure we received your original message.
452
+
453
+ ## What to Include
454
+
455
+ Please include the following information:
456
+
457
+ - Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.)
458
+ - Full paths of source file(s) related to the issue
459
+ - Location of the affected source code (tag/branch/commit or direct URL)
460
+ - Any special configuration required to reproduce the issue
461
+ - Step-by-step instructions to reproduce the issue
462
+ - Proof-of-concept or exploit code (if possible)
463
+ - Impact of the issue, including how an attacker might exploit it
464
+
465
+ ## Disclosure Policy
466
+
467
+ When we receive a security bug report, we will:
468
+
469
+ 1. Confirm the problem and determine affected versions
470
+ 2. Audit code to find any similar problems
471
+ 3. Prepare fixes for all supported versions
472
+ 4. Release new versions ASAP
473
+
474
+ ## Security Update Process
475
+
476
+ Security updates will be released as:
477
+
478
+ - **Critical**: Within 24 hours
479
+ - **High**: Within 7 days
480
+ - **Medium**: Within 30 days
481
+ - **Low**: Next regular release
482
+
483
+ ## Comments
484
+
485
+ We appreciate your efforts to responsibly disclose your findings and will make every effort to acknowledge your contributions.
486
+
487
+ ---
488
+ *For security concerns, contact ${config.email || config.author}*
489
+ `;
490
+ }
491
+ function generateDevelopment(config) {
492
+ return `# ${config.projectName} - Development Guide
493
+
494
+ ## Prerequisites
495
+
496
+ - Node.js 18+ (or language-specific tooling)
497
+ - Package manager (npm, pnpm, yarn)
498
+ - Git
499
+
500
+ ## Setup
501
+
502
+ \`\`\`bash
503
+ git clone <repository-url>
504
+ cd ${config.projectName}
505
+ npm install
506
+ \`\`\`
507
+
508
+ ## Quality Gates
509
+
510
+ - \`npm run lint\`
511
+ - \`npm run type-check\`
512
+ - \`npm test\`
513
+ - Coverage threshold: 95%
514
+
515
+ ## Branch Strategy
516
+
517
+ 1. Create feature branch: \`git checkout -b feature/my-feature\`
518
+ 2. Commit with conventional commits
519
+ 3. Open a pull request and request review
520
+
521
+ ## Documentation Updates
522
+
523
+ - Update README.md for public-facing changes
524
+ - Document architecture changes in ARCHITECTURE.md
525
+ - Record roadmap updates in ROADMAP.md
526
+
527
+ ---
528
+ *Last Updated: ${new Date().toISOString().split('T')[0]}*
529
+ `;
530
+ }
531
+ //# sourceMappingURL=docs-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs-generator.js","sourceRoot":"","sources":["../../src/core/docs-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { ProjectConfig } from '../types.js';
2
+ export declare function generateAgentsContent(config: ProjectConfig): Promise<string>;
3
+ export declare function generateLanguageRules(language: string): Promise<string>;
4
+ export declare function generateFrameworkRules(framework: string): Promise<string>;
5
+ export declare function generateModuleRules(module: string): Promise<string>;
6
+ export declare function generateServiceRules(service: string): Promise<string>;
7
+ export declare function generateGitRules(pushMode: string): Promise<string>;
8
+ /**
9
+ * Generate modular AGENTS.md with references
10
+ */
11
+ export declare function generateModularAgents(config: ProjectConfig, projectRoot?: string): Promise<string>;
12
+ /**
13
+ * Generate full AGENTS.md (modular by default, legacy mode available)
14
+ */
15
+ export declare function generateFullAgents(config: ProjectConfig, projectRoot?: string): Promise<string>;
16
+ //# sourceMappingURL=generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/core/generator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA2BjD,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAoLlF;AAED,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAS7E;AAED,wBAAsB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAe/E;AAED,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CASzE;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAgB3E;AAED,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAqDxE;AAkKD;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,aAAa,EACrB,WAAW,GAAE,MAAsB,GAClC,OAAO,CAAC,MAAM,CAAC,CAwKjB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,aAAa,EACrB,WAAW,GAAE,MAAsB,GAClC,OAAO,CAAC,MAAM,CAAC,CA+DjB"}