@ginkoai/cli 1.0.0 → 1.4.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 (506) hide show
  1. package/README.md +19 -0
  2. package/dist/analysis/project-analyzer.d.ts.map +1 -1
  3. package/dist/analysis/project-analyzer.js +68 -4
  4. package/dist/analysis/project-analyzer.js.map +1 -1
  5. package/dist/commands/architecture/architecture-pipeline-enhanced.d.ts.map +1 -1
  6. package/dist/commands/architecture/architecture-pipeline-enhanced.js +10 -6
  7. package/dist/commands/architecture/architecture-pipeline-enhanced.js.map +1 -1
  8. package/dist/commands/backlog/base.d.ts.map +1 -1
  9. package/dist/commands/backlog/base.js +3 -0
  10. package/dist/commands/backlog/base.js.map +1 -1
  11. package/dist/commands/backlog/create.js +20 -20
  12. package/dist/commands/backlog/create.js.map +1 -1
  13. package/dist/commands/backlog/index.d.ts.map +1 -1
  14. package/dist/commands/backlog/index.js +6 -1
  15. package/dist/commands/backlog/index.js.map +1 -1
  16. package/dist/commands/changelog/changelog-reflection.d.ts.map +1 -1
  17. package/dist/commands/changelog/changelog-reflection.js +7 -3
  18. package/dist/commands/changelog/changelog-reflection.js.map +1 -1
  19. package/dist/commands/charter.d.ts +28 -0
  20. package/dist/commands/charter.d.ts.map +1 -0
  21. package/dist/commands/charter.js +434 -0
  22. package/dist/commands/charter.js.map +1 -0
  23. package/dist/commands/documentation/documentation-pipeline.d.ts.map +1 -1
  24. package/dist/commands/documentation/documentation-pipeline.js +15 -7
  25. package/dist/commands/documentation/documentation-pipeline.js.map +1 -1
  26. package/dist/commands/git/git-pipeline.d.ts.map +1 -1
  27. package/dist/commands/git/git-pipeline.js +3 -2
  28. package/dist/commands/git/git-pipeline.js.map +1 -1
  29. package/dist/commands/graph/api-client.d.ts +212 -0
  30. package/dist/commands/graph/api-client.d.ts.map +1 -0
  31. package/dist/commands/graph/api-client.js +143 -0
  32. package/dist/commands/graph/api-client.js.map +1 -0
  33. package/dist/commands/graph/config.d.ts +82 -0
  34. package/dist/commands/graph/config.d.ts.map +1 -0
  35. package/dist/commands/graph/config.js +113 -0
  36. package/dist/commands/graph/config.js.map +1 -0
  37. package/dist/commands/graph/explore.d.ts +19 -0
  38. package/dist/commands/graph/explore.d.ts.map +1 -0
  39. package/dist/commands/graph/explore.js +117 -0
  40. package/dist/commands/graph/explore.js.map +1 -0
  41. package/dist/commands/graph/index.d.ts +17 -0
  42. package/dist/commands/graph/index.d.ts.map +1 -0
  43. package/dist/commands/graph/index.js +104 -0
  44. package/dist/commands/graph/index.js.map +1 -0
  45. package/dist/commands/graph/init.d.ts +21 -0
  46. package/dist/commands/graph/init.d.ts.map +1 -0
  47. package/dist/commands/graph/init.js +173 -0
  48. package/dist/commands/graph/init.js.map +1 -0
  49. package/dist/commands/graph/load.d.ts +21 -0
  50. package/dist/commands/graph/load.d.ts.map +1 -0
  51. package/dist/commands/graph/load.js +224 -0
  52. package/dist/commands/graph/load.js.map +1 -0
  53. package/dist/commands/graph/query.d.ts +23 -0
  54. package/dist/commands/graph/query.d.ts.map +1 -0
  55. package/dist/commands/graph/query.js +145 -0
  56. package/dist/commands/graph/query.js.map +1 -0
  57. package/dist/commands/graph/status.d.ts +15 -0
  58. package/dist/commands/graph/status.d.ts.map +1 -0
  59. package/dist/commands/graph/status.js +88 -0
  60. package/dist/commands/graph/status.js.map +1 -0
  61. package/dist/commands/handoff.d.ts +14 -5
  62. package/dist/commands/handoff.d.ts.map +1 -1
  63. package/dist/commands/handoff.js +84 -142
  64. package/dist/commands/handoff.js.map +1 -1
  65. package/dist/commands/init.d.ts.map +1 -1
  66. package/dist/commands/init.js +88 -41
  67. package/dist/commands/init.js.map +1 -1
  68. package/dist/commands/knowledge/create.d.ts +24 -0
  69. package/dist/commands/knowledge/create.d.ts.map +1 -0
  70. package/dist/commands/knowledge/create.js +180 -0
  71. package/dist/commands/knowledge/create.js.map +1 -0
  72. package/dist/commands/knowledge/graph.d.ts +21 -0
  73. package/dist/commands/knowledge/graph.d.ts.map +1 -0
  74. package/dist/commands/knowledge/graph.js +199 -0
  75. package/dist/commands/knowledge/graph.js.map +1 -0
  76. package/dist/commands/knowledge/index.d.ts +25 -0
  77. package/dist/commands/knowledge/index.d.ts.map +1 -0
  78. package/dist/commands/knowledge/index.js +121 -0
  79. package/dist/commands/knowledge/index.js.map +1 -0
  80. package/dist/commands/knowledge/search.d.ts +23 -0
  81. package/dist/commands/knowledge/search.d.ts.map +1 -0
  82. package/dist/commands/knowledge/search.js +157 -0
  83. package/dist/commands/knowledge/search.js.map +1 -0
  84. package/dist/commands/knowledge/sync.d.ts +28 -0
  85. package/dist/commands/knowledge/sync.d.ts.map +1 -0
  86. package/dist/commands/knowledge/sync.js +251 -0
  87. package/dist/commands/knowledge/sync.js.map +1 -0
  88. package/dist/commands/log.d.ts +32 -0
  89. package/dist/commands/log.d.ts.map +1 -0
  90. package/dist/commands/log.js +632 -0
  91. package/dist/commands/log.js.map +1 -0
  92. package/dist/commands/login.d.ts +27 -0
  93. package/dist/commands/login.d.ts.map +1 -0
  94. package/dist/commands/login.js +177 -0
  95. package/dist/commands/login.js.map +1 -0
  96. package/dist/commands/logout.d.ts +15 -0
  97. package/dist/commands/logout.d.ts.map +1 -0
  98. package/dist/commands/logout.js +31 -0
  99. package/dist/commands/logout.js.map +1 -0
  100. package/dist/commands/project/create.d.ts +22 -0
  101. package/dist/commands/project/create.d.ts.map +1 -0
  102. package/dist/commands/project/create.js +69 -0
  103. package/dist/commands/project/create.js.map +1 -0
  104. package/dist/commands/project/delete.d.ts +19 -0
  105. package/dist/commands/project/delete.d.ts.map +1 -0
  106. package/dist/commands/project/delete.js +73 -0
  107. package/dist/commands/project/delete.js.map +1 -0
  108. package/dist/commands/project/index.d.ts +22 -0
  109. package/dist/commands/project/index.d.ts.map +1 -0
  110. package/dist/commands/project/index.js +134 -0
  111. package/dist/commands/project/index.js.map +1 -0
  112. package/dist/commands/project/info.d.ts +15 -0
  113. package/dist/commands/project/info.d.ts.map +1 -0
  114. package/dist/commands/project/info.js +92 -0
  115. package/dist/commands/project/info.js.map +1 -0
  116. package/dist/commands/project/list.d.ts +20 -0
  117. package/dist/commands/project/list.d.ts.map +1 -0
  118. package/dist/commands/project/list.js +82 -0
  119. package/dist/commands/project/list.js.map +1 -0
  120. package/dist/commands/project/members.d.ts +27 -0
  121. package/dist/commands/project/members.d.ts.map +1 -0
  122. package/dist/commands/project/members.js +140 -0
  123. package/dist/commands/project/members.js.map +1 -0
  124. package/dist/commands/project/update.d.ts +24 -0
  125. package/dist/commands/project/update.d.ts.map +1 -0
  126. package/dist/commands/project/update.js +83 -0
  127. package/dist/commands/project/update.js.map +1 -0
  128. package/dist/commands/reflect.js +0 -3
  129. package/dist/commands/reflect.js.map +1 -1
  130. package/dist/commands/ship.d.ts +3 -1
  131. package/dist/commands/ship.d.ts.map +1 -1
  132. package/dist/commands/ship.js +100 -9
  133. package/dist/commands/ship.js.map +1 -1
  134. package/dist/commands/start/index.d.ts.map +1 -1
  135. package/dist/commands/start/index.js +5 -3
  136. package/dist/commands/start/index.js.map +1 -1
  137. package/dist/commands/start/start-reflection.d.ts +2 -1
  138. package/dist/commands/start/start-reflection.d.ts.map +1 -1
  139. package/dist/commands/start/start-reflection.js +265 -43
  140. package/dist/commands/start/start-reflection.js.map +1 -1
  141. package/dist/commands/status.d.ts +1 -1
  142. package/dist/commands/status.d.ts.map +1 -1
  143. package/dist/commands/status.js +41 -1
  144. package/dist/commands/status.js.map +1 -1
  145. package/dist/commands/team/create.d.ts +15 -0
  146. package/dist/commands/team/create.d.ts.map +1 -0
  147. package/dist/commands/team/create.js +48 -0
  148. package/dist/commands/team/create.js.map +1 -0
  149. package/dist/commands/team/index.d.ts +22 -0
  150. package/dist/commands/team/index.d.ts.map +1 -0
  151. package/dist/commands/team/index.js +109 -0
  152. package/dist/commands/team/index.js.map +1 -0
  153. package/dist/commands/team/list.d.ts +15 -0
  154. package/dist/commands/team/list.d.ts.map +1 -0
  155. package/dist/commands/team/list.js +67 -0
  156. package/dist/commands/team/list.js.map +1 -0
  157. package/dist/commands/team/members.d.ts +27 -0
  158. package/dist/commands/team/members.d.ts.map +1 -0
  159. package/dist/commands/team/members.js +135 -0
  160. package/dist/commands/team/members.js.map +1 -0
  161. package/dist/commands/team/projects.d.ts +19 -0
  162. package/dist/commands/team/projects.d.ts.map +1 -0
  163. package/dist/commands/team/projects.js +107 -0
  164. package/dist/commands/team/projects.js.map +1 -0
  165. package/dist/commands/team.d.ts +22 -0
  166. package/dist/commands/team.d.ts.map +1 -0
  167. package/dist/commands/team.js +238 -0
  168. package/dist/commands/team.js.map +1 -0
  169. package/dist/commands/testing/testing-pipeline-enhanced.d.ts.map +1 -1
  170. package/dist/commands/testing/testing-pipeline-enhanced.js +5 -3
  171. package/dist/commands/testing/testing-pipeline-enhanced.js.map +1 -1
  172. package/dist/commands/testing/testing-pipeline.d.ts.map +1 -1
  173. package/dist/commands/testing/testing-pipeline.js +5 -3
  174. package/dist/commands/testing/testing-pipeline.js.map +1 -1
  175. package/dist/commands/whoami.d.ts +15 -0
  176. package/dist/commands/whoami.d.ts.map +1 -0
  177. package/dist/commands/whoami.js +38 -0
  178. package/dist/commands/whoami.js.map +1 -0
  179. package/dist/core/reflection-pattern.d.ts +1 -1
  180. package/dist/core/reflection-pattern.d.ts.map +1 -1
  181. package/dist/core/reflection-pattern.js +2 -12
  182. package/dist/core/reflection-pattern.js.map +1 -1
  183. package/dist/core/session-log-manager.d.ts +44 -4
  184. package/dist/core/session-log-manager.d.ts.map +1 -1
  185. package/dist/core/session-log-manager.js +132 -31
  186. package/dist/core/session-log-manager.js.map +1 -1
  187. package/dist/index.d.ts +1 -1
  188. package/dist/index.js +116 -17
  189. package/dist/index.js.map +1 -1
  190. package/dist/lib/api/projects-client.d.ts +119 -0
  191. package/dist/lib/api/projects-client.d.ts.map +1 -0
  192. package/dist/lib/api/projects-client.js +125 -0
  193. package/dist/lib/api/projects-client.js.map +1 -0
  194. package/dist/lib/api/teams-client.d.ts +73 -0
  195. package/dist/lib/api/teams-client.d.ts.map +1 -0
  196. package/dist/lib/api/teams-client.js +68 -0
  197. package/dist/lib/api/teams-client.js.map +1 -0
  198. package/dist/lib/charter/charter-editor.d.ts +60 -0
  199. package/dist/lib/charter/charter-editor.d.ts.map +1 -0
  200. package/dist/lib/charter/charter-editor.js +559 -0
  201. package/dist/lib/charter/charter-editor.js.map +1 -0
  202. package/dist/lib/charter/charter-storage.d.ts +92 -0
  203. package/dist/lib/charter/charter-storage.d.ts.map +1 -0
  204. package/dist/lib/charter/charter-storage.js +501 -0
  205. package/dist/lib/charter/charter-storage.js.map +1 -0
  206. package/dist/lib/charter/charter-synthesizer.d.ts +94 -0
  207. package/dist/lib/charter/charter-synthesizer.d.ts.map +1 -0
  208. package/dist/lib/charter/charter-synthesizer.js +521 -0
  209. package/dist/lib/charter/charter-synthesizer.js.map +1 -0
  210. package/dist/lib/charter/charter-versioning.d.ts +57 -0
  211. package/dist/lib/charter/charter-versioning.d.ts.map +1 -0
  212. package/dist/lib/charter/charter-versioning.js +283 -0
  213. package/dist/lib/charter/charter-versioning.js.map +1 -0
  214. package/dist/lib/charter/confidence-scorer.d.ts +263 -0
  215. package/dist/lib/charter/confidence-scorer.d.ts.map +1 -0
  216. package/dist/lib/charter/confidence-scorer.js +737 -0
  217. package/dist/lib/charter/confidence-scorer.js.map +1 -0
  218. package/dist/lib/charter/conversation-context.d.ts +99 -0
  219. package/dist/lib/charter/conversation-context.d.ts.map +1 -0
  220. package/dist/lib/charter/conversation-context.js +297 -0
  221. package/dist/lib/charter/conversation-context.js.map +1 -0
  222. package/dist/lib/charter/conversation-facilitator.d.ts +117 -0
  223. package/dist/lib/charter/conversation-facilitator.d.ts.map +1 -0
  224. package/dist/lib/charter/conversation-facilitator.js +360 -0
  225. package/dist/lib/charter/conversation-facilitator.js.map +1 -0
  226. package/dist/lib/charter/question-templates.d.ts +82 -0
  227. package/dist/lib/charter/question-templates.d.ts.map +1 -0
  228. package/dist/lib/charter/question-templates.js +355 -0
  229. package/dist/lib/charter/question-templates.js.map +1 -0
  230. package/dist/lib/charter/signal-detection.d.ts +49 -0
  231. package/dist/lib/charter/signal-detection.d.ts.map +1 -0
  232. package/dist/lib/charter/signal-detection.js +338 -0
  233. package/dist/lib/charter/signal-detection.js.map +1 -0
  234. package/dist/lib/context-loader-events.d.ts +111 -0
  235. package/dist/lib/context-loader-events.d.ts.map +1 -0
  236. package/dist/lib/context-loader-events.js +475 -0
  237. package/dist/lib/context-loader-events.js.map +1 -0
  238. package/dist/lib/event-logger.d.ts +64 -0
  239. package/dist/lib/event-logger.d.ts.map +1 -0
  240. package/dist/lib/event-logger.js +197 -0
  241. package/dist/lib/event-logger.js.map +1 -0
  242. package/dist/lib/event-queue.d.ts +104 -0
  243. package/dist/lib/event-queue.d.ts.map +1 -0
  244. package/dist/lib/event-queue.js +274 -0
  245. package/dist/lib/event-queue.js.map +1 -0
  246. package/dist/lib/session-cursor.d.ts +80 -0
  247. package/dist/lib/session-cursor.d.ts.map +1 -0
  248. package/dist/lib/session-cursor.js +250 -0
  249. package/dist/lib/session-cursor.js.map +1 -0
  250. package/dist/lib/sync/conflict-detector.d.ts +41 -0
  251. package/dist/lib/sync/conflict-detector.d.ts.map +1 -0
  252. package/dist/lib/sync/conflict-detector.js +124 -0
  253. package/dist/lib/sync/conflict-detector.js.map +1 -0
  254. package/dist/lib/sync/logger.d.ts +89 -0
  255. package/dist/lib/sync/logger.d.ts.map +1 -0
  256. package/dist/lib/sync/logger.js +202 -0
  257. package/dist/lib/sync/logger.js.map +1 -0
  258. package/dist/lib/sync/parser.d.ts +32 -0
  259. package/dist/lib/sync/parser.d.ts.map +1 -0
  260. package/dist/lib/sync/parser.js +180 -0
  261. package/dist/lib/sync/parser.js.map +1 -0
  262. package/dist/lib/sync/scanner.d.ts +34 -0
  263. package/dist/lib/sync/scanner.d.ts.map +1 -0
  264. package/dist/lib/sync/scanner.js +97 -0
  265. package/dist/lib/sync/scanner.js.map +1 -0
  266. package/dist/lib/sync/uploader.d.ts +33 -0
  267. package/dist/lib/sync/uploader.d.ts.map +1 -0
  268. package/dist/lib/sync/uploader.js +188 -0
  269. package/dist/lib/sync/uploader.js.map +1 -0
  270. package/dist/lib/write-dispatcher/adapters/graph-adapter.d.ts +77 -0
  271. package/dist/lib/write-dispatcher/adapters/graph-adapter.d.ts.map +1 -0
  272. package/dist/lib/write-dispatcher/adapters/graph-adapter.js +178 -0
  273. package/dist/lib/write-dispatcher/adapters/graph-adapter.js.map +1 -0
  274. package/dist/lib/write-dispatcher/adapters/local-adapter.d.ts +133 -0
  275. package/dist/lib/write-dispatcher/adapters/local-adapter.d.ts.map +1 -0
  276. package/dist/lib/write-dispatcher/adapters/local-adapter.js +324 -0
  277. package/dist/lib/write-dispatcher/adapters/local-adapter.js.map +1 -0
  278. package/dist/lib/write-dispatcher/write-dispatcher.d.ts +151 -0
  279. package/dist/lib/write-dispatcher/write-dispatcher.d.ts.map +1 -0
  280. package/dist/lib/write-dispatcher/write-dispatcher.js +197 -0
  281. package/dist/lib/write-dispatcher/write-dispatcher.js.map +1 -0
  282. package/dist/types/charter.d.ts +330 -0
  283. package/dist/types/charter.d.ts.map +1 -0
  284. package/dist/types/charter.js +76 -0
  285. package/dist/types/charter.js.map +1 -0
  286. package/dist/types/config.d.ts +65 -17
  287. package/dist/types/config.d.ts.map +1 -1
  288. package/dist/types/config.js +50 -21
  289. package/dist/types/config.js.map +1 -1
  290. package/dist/utils/api-client.d.ts +36 -0
  291. package/dist/utils/api-client.d.ts.map +1 -0
  292. package/dist/utils/api-client.js +97 -0
  293. package/dist/utils/api-client.js.map +1 -0
  294. package/dist/utils/auth-storage.d.ts +56 -0
  295. package/dist/utils/auth-storage.d.ts.map +1 -0
  296. package/dist/utils/auth-storage.js +133 -0
  297. package/dist/utils/auth-storage.js.map +1 -0
  298. package/dist/utils/cleanup.d.ts +21 -0
  299. package/dist/utils/cleanup.d.ts.map +1 -0
  300. package/dist/utils/cleanup.js +122 -0
  301. package/dist/utils/cleanup.js.map +1 -0
  302. package/dist/utils/config-loader.d.ts +76 -0
  303. package/dist/utils/config-loader.d.ts.map +1 -0
  304. package/dist/utils/config-loader.js +269 -0
  305. package/dist/utils/config-loader.js.map +1 -0
  306. package/dist/utils/context-loader.d.ts +154 -0
  307. package/dist/utils/context-loader.d.ts.map +1 -0
  308. package/dist/utils/context-loader.js +411 -0
  309. package/dist/utils/context-loader.js.map +1 -0
  310. package/dist/utils/dispatcher-logger.d.ts +30 -0
  311. package/dist/utils/dispatcher-logger.d.ts.map +1 -0
  312. package/dist/utils/dispatcher-logger.js +128 -0
  313. package/dist/utils/dispatcher-logger.js.map +1 -0
  314. package/dist/utils/ginko-root.d.ts +3 -2
  315. package/dist/utils/ginko-root.d.ts.map +1 -1
  316. package/dist/utils/ginko-root.js +35 -2
  317. package/dist/utils/ginko-root.js.map +1 -1
  318. package/dist/utils/helpers.d.ts +1 -0
  319. package/dist/utils/helpers.d.ts.map +1 -1
  320. package/dist/utils/helpers.js +3 -0
  321. package/dist/utils/helpers.js.map +1 -1
  322. package/dist/utils/log-quality.d.ts +55 -0
  323. package/dist/utils/log-quality.d.ts.map +1 -0
  324. package/dist/utils/log-quality.js +297 -0
  325. package/dist/utils/log-quality.js.map +1 -0
  326. package/dist/utils/reference-parser.d.ts +164 -0
  327. package/dist/utils/reference-parser.d.ts.map +1 -0
  328. package/dist/utils/reference-parser.js +363 -0
  329. package/dist/utils/reference-parser.js.map +1 -0
  330. package/dist/utils/synthesis.d.ts +180 -0
  331. package/dist/utils/synthesis.d.ts.map +1 -0
  332. package/dist/utils/synthesis.js +724 -0
  333. package/dist/utils/synthesis.js.map +1 -0
  334. package/dist/utils/team-awareness.d.ts +127 -0
  335. package/dist/utils/team-awareness.d.ts.map +1 -0
  336. package/dist/utils/team-awareness.js +385 -0
  337. package/dist/utils/team-awareness.js.map +1 -0
  338. package/package.json +6 -4
  339. package/dist/commands/handoff/handoff-reflection-pipeline.d.ts +0 -106
  340. package/dist/commands/handoff/handoff-reflection-pipeline.d.ts.map +0 -1
  341. package/dist/commands/handoff/handoff-reflection-pipeline.js +0 -534
  342. package/dist/commands/handoff/handoff-reflection-pipeline.js.map +0 -1
  343. package/dist/commands/handoff/handoff-save.d.ts +0 -16
  344. package/dist/commands/handoff/handoff-save.d.ts.map +0 -1
  345. package/dist/commands/handoff/handoff-save.js +0 -72
  346. package/dist/commands/handoff/handoff-save.js.map +0 -1
  347. package/dist/commands/handoff/index.d.ts +0 -19
  348. package/dist/commands/handoff/index.d.ts.map +0 -1
  349. package/dist/commands/handoff/index.js +0 -55
  350. package/dist/commands/handoff/index.js.map +0 -1
  351. package/dist/commands/handoff-ai-orig.d.ts +0 -27
  352. package/dist/commands/handoff-ai-orig.d.ts.map +0 -1
  353. package/dist/commands/handoff-ai-orig.js +0 -405
  354. package/dist/commands/handoff-ai-orig.js.map +0 -1
  355. package/dist/commands/handoff-ai.d.ts +0 -27
  356. package/dist/commands/handoff-ai.d.ts.map +0 -1
  357. package/dist/commands/handoff-ai.js +0 -405
  358. package/dist/commands/handoff-ai.js.map +0 -1
  359. package/dist/commands/handoff-enhanced-orig.d.ts +0 -25
  360. package/dist/commands/handoff-enhanced-orig.d.ts.map +0 -1
  361. package/dist/commands/handoff-enhanced-orig.js +0 -349
  362. package/dist/commands/handoff-enhanced-orig.js.map +0 -1
  363. package/dist/commands/handoff-enhanced.d.ts +0 -25
  364. package/dist/commands/handoff-enhanced.d.ts.map +0 -1
  365. package/dist/commands/handoff-enhanced.js +0 -349
  366. package/dist/commands/handoff-enhanced.js.map +0 -1
  367. package/dist/commands/handoff-orig.d.ts +0 -10
  368. package/dist/commands/handoff-orig.d.ts.map +0 -1
  369. package/dist/commands/handoff-orig.js +0 -167
  370. package/dist/commands/handoff-orig.js.map +0 -1
  371. package/dist/commands/init-enhanced.d.ts +0 -20
  372. package/dist/commands/init-enhanced.d.ts.map +0 -1
  373. package/dist/commands/init-enhanced.js +0 -430
  374. package/dist/commands/init-enhanced.js.map +0 -1
  375. package/dist/commands/prd/prd-reflection-enhanced.d.ts +0 -63
  376. package/dist/commands/prd/prd-reflection-enhanced.d.ts.map +0 -1
  377. package/dist/commands/prd/prd-reflection-enhanced.js +0 -310
  378. package/dist/commands/prd/prd-reflection-enhanced.js.map +0 -1
  379. package/dist/commands/start-enhanced.d.ts +0 -19
  380. package/dist/commands/start-enhanced.d.ts.map +0 -1
  381. package/dist/commands/start-enhanced.js +0 -434
  382. package/dist/commands/start-enhanced.js.map +0 -1
  383. package/dist/commands/start.d.ts +0 -10
  384. package/dist/commands/start.d.ts.map +0 -1
  385. package/dist/commands/start.js +0 -119
  386. package/dist/commands/start.js.map +0 -1
  387. package/dist/core/config/config-aware-reflection.d.ts +0 -37
  388. package/dist/core/config/config-aware-reflection.d.ts.map +0 -1
  389. package/dist/core/config/config-aware-reflection.js +0 -97
  390. package/dist/core/config/config-aware-reflection.js.map +0 -1
  391. package/dist/core/config/config-loader.d.ts +0 -154
  392. package/dist/core/config/config-loader.d.ts.map +0 -1
  393. package/dist/core/config/config-loader.js +0 -424
  394. package/dist/core/config/config-loader.js.map +0 -1
  395. package/dist/core/config/config-migrator.d.ts +0 -150
  396. package/dist/core/config/config-migrator.d.ts.map +0 -1
  397. package/dist/core/config/config-migrator.js +0 -423
  398. package/dist/core/config/config-migrator.js.map +0 -1
  399. package/dist/core/config/config-schema.d.ts +0 -276
  400. package/dist/core/config/config-schema.d.ts.map +0 -1
  401. package/dist/core/config/config-schema.js +0 -277
  402. package/dist/core/config/config-schema.js.map +0 -1
  403. package/dist/core/config/index.d.ts +0 -260
  404. package/dist/core/config/index.d.ts.map +0 -1
  405. package/dist/core/config/index.js +0 -283
  406. package/dist/core/config/index.js.map +0 -1
  407. package/dist/core/config/interactive-config.d.ts +0 -76
  408. package/dist/core/config/interactive-config.d.ts.map +0 -1
  409. package/dist/core/config/interactive-config.js +0 -315
  410. package/dist/core/config/interactive-config.js.map +0 -1
  411. package/dist/core/config/path-config.d.ts +0 -121
  412. package/dist/core/config/path-config.d.ts.map +0 -1
  413. package/dist/core/config/path-config.js +0 -210
  414. package/dist/core/config/path-config.js.map +0 -1
  415. package/dist/core/config/path-resolver.d.ts +0 -151
  416. package/dist/core/config/path-resolver.d.ts.map +0 -1
  417. package/dist/core/config/path-resolver.js +0 -343
  418. package/dist/core/config/path-resolver.js.map +0 -1
  419. package/dist/core/config/project-detector.d.ts +0 -58
  420. package/dist/core/config/project-detector.d.ts.map +0 -1
  421. package/dist/core/config/project-detector.js +0 -310
  422. package/dist/core/config/project-detector.js.map +0 -1
  423. package/dist/core/config-backup/config-aware-reflection.d.ts +0 -37
  424. package/dist/core/config-backup/config-aware-reflection.d.ts.map +0 -1
  425. package/dist/core/config-backup/config-aware-reflection.js +0 -97
  426. package/dist/core/config-backup/config-aware-reflection.js.map +0 -1
  427. package/dist/core/config-backup/config-loader.d.ts +0 -71
  428. package/dist/core/config-backup/config-loader.d.ts.map +0 -1
  429. package/dist/core/config-backup/config-loader.js +0 -288
  430. package/dist/core/config-backup/config-loader.js.map +0 -1
  431. package/dist/core/config-backup/interactive-config.d.ts +0 -76
  432. package/dist/core/config-backup/interactive-config.d.ts.map +0 -1
  433. package/dist/core/config-backup/interactive-config.js +0 -315
  434. package/dist/core/config-backup/interactive-config.js.map +0 -1
  435. package/dist/core/config-backup/path-config.d.ts +0 -121
  436. package/dist/core/config-backup/path-config.d.ts.map +0 -1
  437. package/dist/core/config-backup/path-config.js +0 -210
  438. package/dist/core/config-backup/path-config.js.map +0 -1
  439. package/dist/core/config-backup/project-detector.d.ts +0 -58
  440. package/dist/core/config-backup/project-detector.d.ts.map +0 -1
  441. package/dist/core/config-backup/project-detector.js +0 -310
  442. package/dist/core/config-backup/project-detector.js.map +0 -1
  443. package/dist/core/documents/document-manager.d.ts +0 -97
  444. package/dist/core/documents/document-manager.d.ts.map +0 -1
  445. package/dist/core/documents/document-manager.js +0 -441
  446. package/dist/core/documents/document-manager.js.map +0 -1
  447. package/dist/core/documents/document-migrator.d.ts +0 -138
  448. package/dist/core/documents/document-migrator.d.ts.map +0 -1
  449. package/dist/core/documents/document-migrator.js +0 -349
  450. package/dist/core/documents/document-migrator.js.map +0 -1
  451. package/dist/core/documents/document-namer.d.ts +0 -111
  452. package/dist/core/documents/document-namer.d.ts.map +0 -1
  453. package/dist/core/documents/document-namer.js +0 -225
  454. package/dist/core/documents/document-namer.js.map +0 -1
  455. package/dist/core/documents/examples.d.ts +0 -74
  456. package/dist/core/documents/examples.d.ts.map +0 -1
  457. package/dist/core/documents/examples.js +0 -273
  458. package/dist/core/documents/examples.js.map +0 -1
  459. package/dist/core/documents/file-system.d.ts +0 -93
  460. package/dist/core/documents/file-system.d.ts.map +0 -1
  461. package/dist/core/documents/file-system.js +0 -432
  462. package/dist/core/documents/file-system.js.map +0 -1
  463. package/dist/core/documents/index.d.ts +0 -97
  464. package/dist/core/documents/index.d.ts.map +0 -1
  465. package/dist/core/documents/index.js +0 -119
  466. package/dist/core/documents/index.js.map +0 -1
  467. package/dist/core/documents/markdown-processor.d.ts +0 -84
  468. package/dist/core/documents/markdown-processor.d.ts.map +0 -1
  469. package/dist/core/documents/markdown-processor.js +0 -302
  470. package/dist/core/documents/markdown-processor.js.map +0 -1
  471. package/dist/core/documents/sequence-manager.d.ts +0 -107
  472. package/dist/core/documents/sequence-manager.d.ts.map +0 -1
  473. package/dist/core/documents/sequence-manager.js +0 -246
  474. package/dist/core/documents/sequence-manager.js.map +0 -1
  475. package/dist/core/documents/template-engine.d.ts +0 -101
  476. package/dist/core/documents/template-engine.d.ts.map +0 -1
  477. package/dist/core/documents/template-engine.js +0 -440
  478. package/dist/core/documents/template-engine.js.map +0 -1
  479. package/dist/core/platform/hook-migration.d.ts +0 -73
  480. package/dist/core/platform/hook-migration.d.ts.map +0 -1
  481. package/dist/core/platform/hook-migration.js +0 -339
  482. package/dist/core/platform/hook-migration.js.map +0 -1
  483. package/dist/core/platform/hook-migrator.d.ts +0 -49
  484. package/dist/core/platform/hook-migrator.d.ts.map +0 -1
  485. package/dist/core/platform/hook-migrator.js +0 -305
  486. package/dist/core/platform/hook-migrator.js.map +0 -1
  487. package/dist/core/platform/path-resolver.d.ts +0 -120
  488. package/dist/core/platform/path-resolver.d.ts.map +0 -1
  489. package/dist/core/platform/path-resolver.js +0 -339
  490. package/dist/core/platform/path-resolver.js.map +0 -1
  491. package/dist/core/platform/platform-templates.d.ts +0 -62
  492. package/dist/core/platform/platform-templates.d.ts.map +0 -1
  493. package/dist/core/platform/platform-templates.js +0 -364
  494. package/dist/core/platform/platform-templates.js.map +0 -1
  495. package/dist/core/pressure-monitor.d.ts +0 -76
  496. package/dist/core/pressure-monitor.d.ts.map +0 -1
  497. package/dist/core/pressure-monitor.js +0 -156
  498. package/dist/core/pressure-monitor.js.map +0 -1
  499. package/dist/core/validators/git-validator.test.d.ts +0 -12
  500. package/dist/core/validators/git-validator.test.d.ts.map +0 -1
  501. package/dist/core/validators/git-validator.test.js +0 -40
  502. package/dist/core/validators/git-validator.test.js.map +0 -1
  503. package/dist/core/validators/temp_index.d.ts +0 -56
  504. package/dist/core/validators/temp_index.d.ts.map +0 -1
  505. package/dist/core/validators/temp_index.js +0 -94
  506. package/dist/core/validators/temp_index.js.map +0 -1
@@ -1,225 +0,0 @@
1
- /**
2
- * @fileType: utility
3
- * @status: current
4
- * @updated: 2025-09-19
5
- * @tags: [document, naming, convention, sanitization]
6
- * @related: [sequence-manager.ts, document-migrator.ts]
7
- * @priority: high
8
- * @complexity: medium
9
- * @dependencies: [path]
10
- */
11
- import * as path from 'path';
12
- /**
13
- * Generates standardized document names following TYPE-###-description.md convention.
14
- * Handles sanitization, collision detection, and ensures naming consistency.
15
- */
16
- export class DocumentNamer {
17
- config;
18
- constructor(config) {
19
- this.config = config;
20
- }
21
- /**
22
- * Generate a standardized document name
23
- */
24
- async generateName(options) {
25
- const { type, description, ensureUnique = true, customSequence } = options;
26
- // Validate inputs
27
- this.validateDocumentType(type);
28
- this.validateDescription(description);
29
- // Get sequence number
30
- const sequenceNumber = customSequence !== undefined
31
- ? customSequence
32
- : await this.config.sequenceManager.getNext(type);
33
- // Sanitize description
34
- const sanitizedDescription = this.sanitizeDescription(description);
35
- // Generate base filename
36
- const baseFilename = this.formatFilename(type, sequenceNumber, sanitizedDescription);
37
- let finalFilename = baseFilename;
38
- let wasAdjusted = false;
39
- let originalDescription;
40
- // Check for uniqueness if required
41
- if (ensureUnique) {
42
- const adjustmentResult = await this.ensureUniqueness(type, baseFilename, sanitizedDescription, sequenceNumber);
43
- finalFilename = adjustmentResult.filename;
44
- wasAdjusted = adjustmentResult.wasAdjusted;
45
- originalDescription = adjustmentResult.originalDescription;
46
- }
47
- // Generate full path
48
- const fullPath = this.getFullPath(type, finalFilename);
49
- return {
50
- filename: finalFilename,
51
- fullPath,
52
- sequenceNumber,
53
- wasAdjusted,
54
- originalDescription
55
- };
56
- }
57
- /**
58
- * Parse an existing document name to extract components
59
- */
60
- parseDocumentName(filename) {
61
- const match = filename.match(/^(ADR|PRD|SPRINT|STRATEGY)-(\d{3})-(.+)\.md$/);
62
- if (!match) {
63
- return null;
64
- }
65
- return {
66
- type: match[1],
67
- sequence: parseInt(match[2], 10),
68
- description: match[3]
69
- };
70
- }
71
- /**
72
- * Check if a filename follows the standard naming convention
73
- */
74
- isStandardName(filename) {
75
- return this.parseDocumentName(filename) !== null;
76
- }
77
- /**
78
- * Generate a standard name from a non-standard filename
79
- */
80
- async standardizeName(type, originalFilename) {
81
- // Extract description from original filename
82
- const baseName = path.basename(originalFilename, '.md');
83
- // Try to extract meaningful description
84
- let description = baseName;
85
- // Remove common prefixes that might exist
86
- const prefixPatterns = [
87
- new RegExp(`^${type}-?`, 'i'),
88
- /^\d+-/,
89
- /^[a-z]+-\d+-/i
90
- ];
91
- for (const pattern of prefixPatterns) {
92
- description = description.replace(pattern, '');
93
- }
94
- // Clean up the description
95
- description = description
96
- .replace(/[-_]+/g, ' ')
97
- .trim();
98
- if (!description) {
99
- description = 'untitled';
100
- }
101
- return this.generateName({
102
- type,
103
- description,
104
- ensureUnique: true
105
- });
106
- }
107
- /**
108
- * Get the full path for a document type and filename
109
- */
110
- getFullPath(type, filename) {
111
- const typeDirectories = {
112
- 'ADR': 'adr',
113
- 'PRD': 'PRD',
114
- 'SPRINT': 'sprints',
115
- 'STRATEGY': 'strategy'
116
- };
117
- const subDir = typeDirectories[type];
118
- return path.join(this.config.docsRoot, subDir, filename);
119
- }
120
- /**
121
- * Get the directory path for a document type
122
- */
123
- getTypeDirectory(type) {
124
- const typeDirectories = {
125
- 'ADR': 'adr',
126
- 'PRD': 'PRD',
127
- 'SPRINT': 'sprints',
128
- 'STRATEGY': 'strategy'
129
- };
130
- return path.join(this.config.docsRoot, typeDirectories[type]);
131
- }
132
- /**
133
- * Validate document type
134
- */
135
- validateDocumentType(type) {
136
- const validTypes = ['ADR', 'PRD', 'SPRINT', 'STRATEGY'];
137
- if (!validTypes.includes(type)) {
138
- throw new Error(`Invalid document type: ${type}. Valid types are: ${validTypes.join(', ')}`);
139
- }
140
- }
141
- /**
142
- * Validate description
143
- */
144
- validateDescription(description) {
145
- if (!description || typeof description !== 'string') {
146
- throw new Error('Description is required and must be a string');
147
- }
148
- if (description.trim().length === 0) {
149
- throw new Error('Description cannot be empty');
150
- }
151
- if (description.length > 100) {
152
- throw new Error('Description too long (max 100 characters)');
153
- }
154
- // Check for invalid characters that could cause filesystem issues
155
- const invalidChars = /[<>:"|?*\x00-\x1f]/;
156
- if (invalidChars.test(description)) {
157
- throw new Error('Description contains invalid characters');
158
- }
159
- }
160
- /**
161
- * Sanitize description for use in filename
162
- */
163
- sanitizeDescription(description) {
164
- return description
165
- .toLowerCase()
166
- .trim()
167
- // Replace spaces and underscores with hyphens
168
- .replace(/[\s_]+/g, '-')
169
- // Replace multiple hyphens with single hyphen
170
- .replace(/-+/g, '-')
171
- // Remove non-alphanumeric characters except hyphens
172
- .replace(/[^a-z0-9-]/g, '')
173
- // Remove leading and trailing hyphens
174
- .replace(/^-+|-+$/g, '')
175
- // Ensure we have something left
176
- || 'untitled';
177
- }
178
- /**
179
- * Format the complete filename
180
- */
181
- formatFilename(type, sequence, description) {
182
- const paddedSequence = sequence.toString().padStart(3, '0');
183
- return `${type}-${paddedSequence}-${description}.md`;
184
- }
185
- /**
186
- * Ensure filename uniqueness by checking filesystem and adjusting if needed
187
- */
188
- async ensureUniqueness(type, baseFilename, sanitizedDescription, sequenceNumber) {
189
- const fs = await import('fs-extra');
190
- const fullPath = this.getFullPath(type, baseFilename);
191
- // If file doesn't exist, we're good
192
- if (!await fs.pathExists(fullPath)) {
193
- return { filename: baseFilename, wasAdjusted: false };
194
- }
195
- // File exists, need to adjust
196
- let attempt = 1;
197
- let adjustedFilename;
198
- let adjustedPath;
199
- do {
200
- const adjustedDescription = `${sanitizedDescription}-${attempt}`;
201
- adjustedFilename = this.formatFilename(type, sequenceNumber, adjustedDescription);
202
- adjustedPath = this.getFullPath(type, adjustedFilename);
203
- attempt++;
204
- } while (await fs.pathExists(adjustedPath) && attempt <= 100);
205
- if (attempt > 100) {
206
- throw new Error(`Could not generate unique filename for ${baseFilename} after 100 attempts`);
207
- }
208
- return {
209
- filename: adjustedFilename,
210
- wasAdjusted: true,
211
- originalDescription: sanitizedDescription
212
- };
213
- }
214
- }
215
- /**
216
- * Create a document namer instance
217
- */
218
- export function createDocumentNamer(sequenceManager, docsRoot) {
219
- return new DocumentNamer({
220
- sequenceManager,
221
- docsRoot,
222
- strictMode: true
223
- });
224
- }
225
- //# sourceMappingURL=document-namer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"document-namer.js","sourceRoot":"","sources":["../../../src/core/documents/document-namer.ts"],"names":[],"mappings":"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"}
@@ -1,74 +0,0 @@
1
- /**
2
- * @fileType: utility
3
- * @status: current
4
- * @updated: 2025-09-19
5
- * @tags: [document, examples, integration, demo]
6
- * @related: [index.ts, document-namer.ts, document-migrator.ts]
7
- * @priority: medium
8
- * @complexity: low
9
- * @dependencies: [all document management components]
10
- */
11
- /**
12
- * Example: Basic document naming
13
- */
14
- export declare function exampleBasicNaming(ginkoRoot: string): Promise<{
15
- adrResult: import("./document-namer.js").NameGenerationResult;
16
- prdResult: import("./document-namer.js").NameGenerationResult;
17
- }>;
18
- /**
19
- * Example: Complete project standardization
20
- */
21
- export declare function exampleProjectStandardization(ginkoRoot: string): Promise<{
22
- initialValidation: {
23
- isCompliant: boolean;
24
- nonCompliantFiles: string[];
25
- issues: string[];
26
- };
27
- migrationResult: import("./document-migrator.js").MigrationResult | null;
28
- finalValidation: {
29
- isCompliant: boolean;
30
- nonCompliantFiles: string[];
31
- issues: string[];
32
- };
33
- }>;
34
- /**
35
- * Example: Advanced system usage with sequence management
36
- */
37
- export declare function exampleAdvancedUsage(ginkoRoot: string): Promise<{
38
- customResult: import("./document-namer.js").NameGenerationResult;
39
- normalResult1: import("./document-namer.js").NameGenerationResult;
40
- normalResult2: import("./document-namer.js").NameGenerationResult;
41
- strategyResult: import("./document-namer.js").NameGenerationResult;
42
- finalSequences: Record<import("./sequence-manager.js").DocumentType, number>;
43
- }>;
44
- /**
45
- * Example: Error handling and edge cases
46
- */
47
- export declare function exampleErrorHandling(ginkoRoot: string): Promise<{
48
- specialCharsResult: import("./document-namer.js").NameGenerationResult;
49
- parsedNames: {
50
- name: string;
51
- parsed: {
52
- type: import("./sequence-manager.js").DocumentType;
53
- sequence: number;
54
- description: string;
55
- } | null;
56
- }[];
57
- }>;
58
- /**
59
- * Example: CLI integration demonstration
60
- */
61
- export declare function exampleCLIIntegration(ginkoRoot: string): Promise<{
62
- migrationPlan: import("./document-migrator.js").MigrationResult;
63
- newDocResult: import("./document-namer.js").NameGenerationResult;
64
- validation: {
65
- isCompliant: boolean;
66
- nonCompliantFiles: string[];
67
- issues: string[];
68
- };
69
- }>;
70
- /**
71
- * Run all examples
72
- */
73
- export declare function runAllExamples(ginkoRoot: string): Promise<void>;
74
- //# sourceMappingURL=examples.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"examples.d.ts","sourceRoot":"","sources":["../../../src/core/documents/examples.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AASH;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,MAAM;;;GAyBzD;AAED;;GAEG;AACH,wBAAsB,6BAA6B,CAAC,SAAS,EAAE,MAAM;;;;;;;;;;;;GAqDpE;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM;;;;;;GAsE3D;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM;;;;;;;;;;GAkE3D;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,SAAS,EAAE,MAAM;;;;;;;;GAmD5D;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,iBAuBrD"}
@@ -1,273 +0,0 @@
1
- /**
2
- * @fileType: utility
3
- * @status: current
4
- * @updated: 2025-09-19
5
- * @tags: [document, examples, integration, demo]
6
- * @related: [index.ts, document-namer.ts, document-migrator.ts]
7
- * @priority: medium
8
- * @complexity: low
9
- * @dependencies: [all document management components]
10
- */
11
- import { createDocumentManagementSystem, createBasicDocumentNamer, validateDocumentNaming, standardizeProjectDocuments } from './index.js';
12
- /**
13
- * Example: Basic document naming
14
- */
15
- export async function exampleBasicNaming(ginkoRoot) {
16
- console.log('=== Basic Document Naming Example ===');
17
- const { namer } = await createBasicDocumentNamer(ginkoRoot);
18
- // Generate standard document names
19
- const adrResult = await namer.generateName({
20
- type: 'ADR',
21
- description: 'microservices architecture decision',
22
- ensureUnique: true
23
- });
24
- const prdResult = await namer.generateName({
25
- type: 'PRD',
26
- description: 'user authentication system',
27
- ensureUnique: true
28
- });
29
- console.log('Generated names:');
30
- console.log(`- ADR: ${adrResult.filename}`);
31
- console.log(`- PRD: ${prdResult.filename}`);
32
- console.log(`- ADR Path: ${adrResult.fullPath}`);
33
- console.log(`- PRD Path: ${prdResult.fullPath}`);
34
- return { adrResult, prdResult };
35
- }
36
- /**
37
- * Example: Complete project standardization
38
- */
39
- export async function exampleProjectStandardization(ginkoRoot) {
40
- console.log('=== Project Standardization Example ===');
41
- // Step 1: Validate current state
42
- console.log('1. Validating current document naming...');
43
- const initialValidation = await validateDocumentNaming(ginkoRoot);
44
- console.log(`- Compliant: ${initialValidation.isCompliant}`);
45
- console.log(`- Non-compliant files: ${initialValidation.nonCompliantFiles.length}`);
46
- if (initialValidation.nonCompliantFiles.length > 0) {
47
- console.log('- Files to rename:');
48
- initialValidation.nonCompliantFiles.forEach(file => console.log(` - ${file}`));
49
- }
50
- // Step 2: Preview migration (dry run)
51
- console.log('\n2. Previewing migration plan...');
52
- const dryRunResult = await standardizeProjectDocuments(ginkoRoot, { dryRun: true });
53
- console.log(`- Operations planned: ${dryRunResult.operations.length}`);
54
- dryRunResult.operations.forEach(op => {
55
- console.log(` - ${op.originalFilename} → ${op.newFilename}`);
56
- });
57
- // Step 3: Execute migration
58
- if (dryRunResult.operations.length > 0) {
59
- console.log('\n3. Executing migration...');
60
- const migrationResult = await standardizeProjectDocuments(ginkoRoot, {
61
- updateReferences: true
62
- });
63
- console.log(`- Successful migrations: ${migrationResult.successfulMigrations}`);
64
- console.log(`- References updated: ${migrationResult.referencesUpdated.length}`);
65
- console.log(`- Backup created: ${migrationResult.backupDirectory}`);
66
- if (migrationResult.errors.length > 0) {
67
- console.log('- Errors:');
68
- migrationResult.errors.forEach(error => {
69
- console.log(` - ${error.file}: ${error.error}`);
70
- });
71
- }
72
- }
73
- // Step 4: Final validation
74
- console.log('\n4. Final validation...');
75
- const finalValidation = await validateDocumentNaming(ginkoRoot);
76
- console.log(`- Final compliance: ${finalValidation.isCompliant}`);
77
- return {
78
- initialValidation,
79
- migrationResult: dryRunResult.operations.length > 0 ? await standardizeProjectDocuments(ginkoRoot) : null,
80
- finalValidation
81
- };
82
- }
83
- /**
84
- * Example: Advanced system usage with sequence management
85
- */
86
- export async function exampleAdvancedUsage(ginkoRoot) {
87
- console.log('=== Advanced System Usage Example ===');
88
- const system = await createDocumentManagementSystem({
89
- ginkoRoot,
90
- updateReferences: true,
91
- startingNumbers: { ADR: 100, PRD: 200 }
92
- });
93
- await system.initialize();
94
- console.log('1. Initial sequence numbers:');
95
- const initialSequences = await system.sequenceManager.getAllSequences();
96
- Object.entries(initialSequences).forEach(([type, number]) => {
97
- console.log(`- ${type}: ${number}`);
98
- });
99
- console.log('\n2. Generating documents with custom sequences...');
100
- // Generate document with custom sequence
101
- const customResult = await system.documentNamer.generateName({
102
- type: 'ADR',
103
- description: 'special architecture decision',
104
- customSequence: 999,
105
- ensureUnique: true
106
- });
107
- console.log(`- Custom sequence document: ${customResult.filename}`);
108
- // Generate normal sequence documents
109
- const normalResult1 = await system.documentNamer.generateName({
110
- type: 'ADR',
111
- description: 'normal sequence document',
112
- ensureUnique: true
113
- });
114
- const normalResult2 = await system.documentNamer.generateName({
115
- type: 'PRD',
116
- description: 'product requirements document',
117
- ensureUnique: true
118
- });
119
- console.log(`- Normal ADR: ${normalResult1.filename}`);
120
- console.log(`- Normal PRD: ${normalResult2.filename}`);
121
- console.log('\n3. Current sequence numbers:');
122
- const currentSequences = await system.sequenceManager.getAllSequences();
123
- Object.entries(currentSequences).forEach(([type, number]) => {
124
- console.log(`- ${type}: ${number}`);
125
- });
126
- // Demonstrate sequence management
127
- console.log('\n4. Setting custom sequence for STRATEGY...');
128
- await system.sequenceManager.setSequence('STRATEGY', 50);
129
- const strategyResult = await system.documentNamer.generateName({
130
- type: 'STRATEGY',
131
- description: 'business strategy document',
132
- ensureUnique: true
133
- });
134
- console.log(`- Strategy document: ${strategyResult.filename}`);
135
- return {
136
- customResult,
137
- normalResult1,
138
- normalResult2,
139
- strategyResult,
140
- finalSequences: await system.sequenceManager.getAllSequences()
141
- };
142
- }
143
- /**
144
- * Example: Error handling and edge cases
145
- */
146
- export async function exampleErrorHandling(ginkoRoot) {
147
- console.log('=== Error Handling Examples ===');
148
- const { namer } = await createBasicDocumentNamer(ginkoRoot);
149
- console.log('1. Testing invalid inputs...');
150
- try {
151
- await namer.generateName({
152
- type: 'INVALID',
153
- description: 'test',
154
- ensureUnique: false
155
- });
156
- }
157
- catch (error) {
158
- console.log(`- Invalid document type error: ${error instanceof Error ? error.message : 'Unknown error'}`);
159
- }
160
- try {
161
- await namer.generateName({
162
- type: 'ADR',
163
- description: '',
164
- ensureUnique: false
165
- });
166
- }
167
- catch (error) {
168
- console.log(`- Empty description error: ${error instanceof Error ? error.message : 'Unknown error'}`);
169
- }
170
- try {
171
- await namer.generateName({
172
- type: 'ADR',
173
- description: 'a'.repeat(101),
174
- ensureUnique: false
175
- });
176
- }
177
- catch (error) {
178
- console.log(`- Long description error: ${error instanceof Error ? error.message : 'Unknown error'}`);
179
- }
180
- console.log('\n2. Testing special characters handling...');
181
- const specialCharsResult = await namer.generateName({
182
- type: 'ADR',
183
- description: 'Special!@#$%Characters & Spaces',
184
- ensureUnique: false
185
- });
186
- console.log(`- Special chars sanitized: ${specialCharsResult.filename}`);
187
- console.log('\n3. Testing name parsing...');
188
- const testNames = [
189
- 'ADR-001-valid-name.md',
190
- 'PRD-042-another-valid.md',
191
- 'invalid-name.md',
192
- 'ADR-1-too-short.md',
193
- 'adr-001-lowercase.md'
194
- ];
195
- testNames.forEach(name => {
196
- const parsed = namer.parseDocumentName(name);
197
- console.log(`- "${name}" → ${parsed ? `${parsed.type}-${parsed.sequence}-${parsed.description}` : 'INVALID'}`);
198
- });
199
- return {
200
- specialCharsResult,
201
- parsedNames: testNames.map(name => ({ name, parsed: namer.parseDocumentName(name) }))
202
- };
203
- }
204
- /**
205
- * Example: CLI integration demonstration
206
- */
207
- export async function exampleCLIIntegration(ginkoRoot) {
208
- console.log('=== CLI Integration Example ===');
209
- console.log('This demonstrates how the document management system');
210
- console.log('would integrate with ginko CLI commands:');
211
- console.log('\n1. `ginko rename --standardize` command simulation:');
212
- const result = await standardizeProjectDocuments(ginkoRoot, { dryRun: true });
213
- if (result.operations.length === 0) {
214
- console.log('✅ All documents already follow standard naming convention');
215
- }
216
- else {
217
- console.log('📋 Documents to be renamed:');
218
- result.operations.forEach(op => {
219
- console.log(` ${op.originalFilename} → ${op.newFilename}`);
220
- });
221
- console.log('\nRun without --dry-run to execute the migration');
222
- }
223
- console.log('\n2. `ginko reflect` command integration:');
224
- const system = await createDocumentManagementSystem({ ginkoRoot });
225
- await system.initialize();
226
- const newDocResult = await system.documentNamer.generateName({
227
- type: 'ADR',
228
- description: 'ai-powered-code-reflection',
229
- ensureUnique: true
230
- });
231
- console.log(` Generated name for new reflection: ${newDocResult.filename}`);
232
- console.log(` Full path: ${newDocResult.fullPath}`);
233
- console.log('\n3. Document validation check:');
234
- const validation = await validateDocumentNaming(ginkoRoot);
235
- console.log(` Project compliance: ${validation.isCompliant ? '✅ COMPLIANT' : '❌ NON-COMPLIANT'}`);
236
- if (!validation.isCompliant) {
237
- console.log(` Non-compliant files: ${validation.nonCompliantFiles.length}`);
238
- validation.nonCompliantFiles.slice(0, 3).forEach(file => {
239
- console.log(` - ${file}`);
240
- });
241
- if (validation.nonCompliantFiles.length > 3) {
242
- console.log(` ... and ${validation.nonCompliantFiles.length - 3} more`);
243
- }
244
- }
245
- return {
246
- migrationPlan: result,
247
- newDocResult,
248
- validation
249
- };
250
- }
251
- /**
252
- * Run all examples
253
- */
254
- export async function runAllExamples(ginkoRoot) {
255
- console.log('🚀 Document Management System Examples\n');
256
- try {
257
- await exampleBasicNaming(ginkoRoot);
258
- console.log('\n' + '='.repeat(50) + '\n');
259
- await exampleAdvancedUsage(ginkoRoot);
260
- console.log('\n' + '='.repeat(50) + '\n');
261
- await exampleErrorHandling(ginkoRoot);
262
- console.log('\n' + '='.repeat(50) + '\n');
263
- await exampleProjectStandardization(ginkoRoot);
264
- console.log('\n' + '='.repeat(50) + '\n');
265
- await exampleCLIIntegration(ginkoRoot);
266
- console.log('\n✅ All examples completed successfully!');
267
- }
268
- catch (error) {
269
- console.error('❌ Example failed:', error instanceof Error ? error.message : 'Unknown error');
270
- throw error;
271
- }
272
- }
273
- //# sourceMappingURL=examples.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"examples.js","sourceRoot":"","sources":["../../../src/core/documents/examples.ts"],"names":[],"mappings":"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"}