@ngockhoale/ukit 1.1.6

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 (344) hide show
  1. package/CHANGELOG.md +179 -0
  2. package/LICENSE +21 -0
  3. package/README.md +189 -0
  4. package/bin/ukit +30 -0
  5. package/manifests/platform.full.yaml +1194 -0
  6. package/package.json +71 -0
  7. package/scripts/bug/triage.mjs +37 -0
  8. package/scripts/index/build-index.mjs +35 -0
  9. package/scripts/index/query-index.mjs +92 -0
  10. package/scripts/index/refresh-index.mjs +85 -0
  11. package/scripts/release/verify-release.mjs +56 -0
  12. package/src/bug/triageBug.js +123 -0
  13. package/src/cli/adapters.js +148 -0
  14. package/src/cli/commands/diff.js +51 -0
  15. package/src/cli/commands/doctor.js +125 -0
  16. package/src/cli/commands/indexArgs.js +73 -0
  17. package/src/cli/commands/indexTools.js +509 -0
  18. package/src/cli/commands/install.js +293 -0
  19. package/src/cli/commands/memory.js +126 -0
  20. package/src/cli/commands/status.js +8 -0
  21. package/src/cli/commands/uninstall.js +51 -0
  22. package/src/cli/index.js +109 -0
  23. package/src/context/detectProjectContext.js +49 -0
  24. package/src/context/detectProviders.js +12 -0
  25. package/src/core/applyPlan.js +89 -0
  26. package/src/core/buildPlan.js +228 -0
  27. package/src/core/compact/index.js +294 -0
  28. package/src/core/compact/threshold.js +936 -0
  29. package/src/core/diffPlan.js +73 -0
  30. package/src/core/ensureGitignore.js +117 -0
  31. package/src/core/fileOps.js +188 -0
  32. package/src/core/memory/hygiene.js +160 -0
  33. package/src/core/memory/index.js +2 -0
  34. package/src/core/memory/retrieval.js +476 -0
  35. package/src/core/memory/store.js +202 -0
  36. package/src/core/metadata.js +132 -0
  37. package/src/core/migrateLegacy.js +139 -0
  38. package/src/core/output/index.js +1309 -0
  39. package/src/core/paths.js +13 -0
  40. package/src/core/report.js +17 -0
  41. package/src/core/router/advisor.js +42 -0
  42. package/src/core/router/index.js +2 -0
  43. package/src/core/router/router.js +164 -0
  44. package/src/core/runInstallPipeline.js +365 -0
  45. package/src/core/runtimeConfig.js +190 -0
  46. package/src/core/runtimePaths.js +24 -0
  47. package/src/core/status.js +186 -0
  48. package/src/core/token/index.js +328 -0
  49. package/src/core/uninstall.js +246 -0
  50. package/src/core/validation/confidence.js +89 -0
  51. package/src/core/validation/index.js +2 -0
  52. package/src/core/validation/validator.js +165 -0
  53. package/src/index/buildIndex.js +1392 -0
  54. package/src/index/gitHooks.js +109 -0
  55. package/src/index/importResolution.js +377 -0
  56. package/src/index/languageTools.js +127 -0
  57. package/src/index/paths.js +27 -0
  58. package/src/index/queryIndex.js +637 -0
  59. package/src/index/relatedTests.js +237 -0
  60. package/src/index/resolveContext.js +345 -0
  61. package/src/index/routeCatalog.js +258 -0
  62. package/src/index/taskRouting.js +677 -0
  63. package/src/index/verificationPlan.js +437 -0
  64. package/src/manifest/loadManifest.js +22 -0
  65. package/src/manifest/selectItems.js +78 -0
  66. package/src/manifest/validateManifest.js +115 -0
  67. package/src/render/buildVariables.js +39 -0
  68. package/src/render/renderTemplate.js +44 -0
  69. package/src/stack/detectStack.js +213 -0
  70. package/templates/.claude/agents/bug-debugger.md +57 -0
  71. package/templates/.claude/agents/feature-implementer.md +55 -0
  72. package/templates/.claude/config/providers.md +25 -0
  73. package/templates/.claude/hooks/auto-allow-bash.sh +155 -0
  74. package/templates/.claude/hooks/auto-prune-bash.sh +75 -0
  75. package/templates/.claude/hooks/block-dangerous.sh +54 -0
  76. package/templates/.claude/hooks/compress-output.sh +17 -0
  77. package/templates/.claude/hooks/protect-files.sh +37 -0
  78. package/templates/.claude/hooks/reinject-context.sh +28 -0
  79. package/templates/.claude/hooks/session-start.md +13 -0
  80. package/templates/.claude/hooks/skill-router.sh +1681 -0
  81. package/templates/.claude/hooks/verification-guard.sh +271 -0
  82. package/templates/.claude/settings.json +144 -0
  83. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  84. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  85. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  86. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  87. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  88. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  89. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  90. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  91. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  92. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  93. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  94. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  95. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  96. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  97. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  98. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  99. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  100. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  101. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  102. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  103. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  104. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  105. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  106. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  107. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  108. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  109. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  110. package/templates/.claude/skills/_shared/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  111. package/templates/.claude/skills/_shared/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  112. package/templates/.claude/skills/_shared/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  113. package/templates/.claude/skills/_shared/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  114. package/templates/.claude/skills/_shared/ooxml/schemas/mce/mc.xsd +75 -0
  115. package/templates/.claude/skills/_shared/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  116. package/templates/.claude/skills/_shared/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  117. package/templates/.claude/skills/_shared/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  118. package/templates/.claude/skills/_shared/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  119. package/templates/.claude/skills/_shared/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  120. package/templates/.claude/skills/_shared/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  121. package/templates/.claude/skills/_shared/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  122. package/templates/.claude/skills/_shared/ooxml/scripts/pack.py +159 -0
  123. package/templates/.claude/skills/_shared/ooxml/scripts/unpack.py +29 -0
  124. package/templates/.claude/skills/_shared/ooxml/scripts/validate.py +69 -0
  125. package/templates/.claude/skills/_shared/ooxml/scripts/validation/__init__.py +15 -0
  126. package/templates/.claude/skills/_shared/ooxml/scripts/validation/base.py +951 -0
  127. package/templates/.claude/skills/_shared/ooxml/scripts/validation/docx.py +274 -0
  128. package/templates/.claude/skills/_shared/ooxml/scripts/validation/pptx.py +315 -0
  129. package/templates/.claude/skills/_shared/ooxml/scripts/validation/redlining.py +279 -0
  130. package/templates/.claude/skills/backend-api/SKILL.md +26 -0
  131. package/templates/.claude/skills/canvas-design/LICENSE.txt +202 -0
  132. package/templates/.claude/skills/canvas-design/SKILL.md +130 -0
  133. package/templates/.claude/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  134. package/templates/.claude/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  135. package/templates/.claude/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  136. package/templates/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  137. package/templates/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  138. package/templates/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  139. package/templates/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  140. package/templates/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  141. package/templates/.claude/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  142. package/templates/.claude/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  143. package/templates/.claude/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  144. package/templates/.claude/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  145. package/templates/.claude/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  146. package/templates/.claude/skills/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  147. package/templates/.claude/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  148. package/templates/.claude/skills/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  149. package/templates/.claude/skills/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
  150. package/templates/.claude/skills/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  151. package/templates/.claude/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  152. package/templates/.claude/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  153. package/templates/.claude/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  154. package/templates/.claude/skills/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
  155. package/templates/.claude/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  156. package/templates/.claude/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  157. package/templates/.claude/skills/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
  158. package/templates/.claude/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  159. package/templates/.claude/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
  160. package/templates/.claude/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  161. package/templates/.claude/skills/code-review/SKILL.md +97 -0
  162. package/templates/.claude/skills/debugging-toolkit/SKILL.md +156 -0
  163. package/templates/.claude/skills/delivery/SKILL.md +92 -0
  164. package/templates/.claude/skills/discover-security/SKILL.md +86 -0
  165. package/templates/.claude/skills/docker-packaging/SKILL.md +60 -0
  166. package/templates/.claude/skills/docs-manager/SKILL.md +465 -0
  167. package/templates/.claude/skills/docs-manager/init-project-docs.sh +70 -0
  168. package/templates/.claude/skills/docs-manager/templates/README.md.template +50 -0
  169. package/templates/.claude/skills/docs-manager/templates/agent-roles.md.template +24 -0
  170. package/templates/.claude/skills/docs-manager/templates/coding-conventions.md.template +28 -0
  171. package/templates/.claude/skills/docs-manager/templates/memory.md.template +30 -0
  172. package/templates/.claude/skills/docs-manager/templates/onboarding.md.template +20 -0
  173. package/templates/.claude/skills/docs-manager/templates/project.md.template +26 -0
  174. package/templates/.claude/skills/docs-quality/SKILL.md +148 -0
  175. package/templates/.claude/skills/docx/LICENSE.txt +30 -0
  176. package/templates/.claude/skills/docx/SKILL.md +197 -0
  177. package/templates/.claude/skills/docx/docx-js.md +350 -0
  178. package/templates/.claude/skills/docx/ooxml.md +610 -0
  179. package/templates/.claude/skills/docx/scripts/__init__.py +1 -0
  180. package/templates/.claude/skills/docx/scripts/document.py +1276 -0
  181. package/templates/.claude/skills/docx/scripts/templates/comments.xml +3 -0
  182. package/templates/.claude/skills/docx/scripts/templates/commentsExtended.xml +3 -0
  183. package/templates/.claude/skills/docx/scripts/templates/commentsExtensible.xml +3 -0
  184. package/templates/.claude/skills/docx/scripts/templates/commentsIds.xml +3 -0
  185. package/templates/.claude/skills/docx/scripts/templates/people.xml +3 -0
  186. package/templates/.claude/skills/docx/scripts/utilities.py +374 -0
  187. package/templates/.claude/skills/duraone/SKILL.md +204 -0
  188. package/templates/.claude/skills/duraone/references/backend.md +636 -0
  189. package/templates/.claude/skills/duraone/references/frontend.md +1506 -0
  190. package/templates/.claude/skills/duraone/references/sql.md +631 -0
  191. package/templates/.claude/skills/duraone/references/workflow.md +520 -0
  192. package/templates/.claude/skills/executing-plans/SKILL.md +76 -0
  193. package/templates/.claude/skills/file-organizer/SKILL.md +433 -0
  194. package/templates/.claude/skills/frontend/SKILL.md +26 -0
  195. package/templates/.claude/skills/frontend-design/LICENSE.txt +177 -0
  196. package/templates/.claude/skills/frontend-design/SKILL.md +42 -0
  197. package/templates/.claude/skills/frontend-vue/SKILL.md +127 -0
  198. package/templates/.claude/skills/frontend-vue/components/Control/Box.vue +137 -0
  199. package/templates/.claude/skills/frontend-vue/components/Control/Button.vue +93 -0
  200. package/templates/.claude/skills/frontend-vue/components/Control/ButtonBar.vue +29 -0
  201. package/templates/.claude/skills/frontend-vue/components/Control/ButtonFloat.vue +62 -0
  202. package/templates/.claude/skills/frontend-vue/components/Control/CheckButton.vue +75 -0
  203. package/templates/.claude/skills/frontend-vue/components/Control/Checkbox.vue +58 -0
  204. package/templates/.claude/skills/frontend-vue/components/Control/Datetime.vue +148 -0
  205. package/templates/.claude/skills/frontend-vue/components/Control/Dropdownlist.vue +156 -0
  206. package/templates/.claude/skills/frontend-vue/components/Control/Input.vue +106 -0
  207. package/templates/.claude/skills/frontend-vue/components/Control/Label.vue +38 -0
  208. package/templates/.claude/skills/frontend-vue/components/Control/Master/BoxColumn.vue +24 -0
  209. package/templates/.claude/skills/frontend-vue/components/Control/Popup/Confirm.vue +33 -0
  210. package/templates/.claude/skills/frontend-vue/components/Control/Popup/Info.vue +32 -0
  211. package/templates/.claude/skills/frontend-vue/components/Control/Popup/ModalInfo.vue +39 -0
  212. package/templates/.claude/skills/frontend-vue/components/Control/Popup/Reject.vue +64 -0
  213. package/templates/.claude/skills/frontend-vue/components/Control/Tag.vue +82 -0
  214. package/templates/.claude/skills/frontend-vue/components/Control/Upload.vue +61 -0
  215. package/templates/.claude/skills/frontend-vue/components/ControlMobile/Dropdownlist.vue +103 -0
  216. package/templates/.claude/skills/frontend-vue/components/ControlMobile/PagingBar.vue +108 -0
  217. package/templates/.claude/skills/frontend-vue/components/ControlMobile/UploadImage.vue +137 -0
  218. package/templates/.claude/skills/frontend-vue/components/Grid/AG.vue +806 -0
  219. package/templates/.claude/skills/frontend-vue/components/Grid/AntTable.vue +253 -0
  220. package/templates/.claude/skills/frontend-vue/components/Grid/CustomDropdownEditor.vue +43 -0
  221. package/templates/.claude/skills/frontend-vue/components/Grid/CustomDropdownEditorEnable.vue +55 -0
  222. package/templates/.claude/skills/frontend-vue/components/Grid/HtmlTable.vue +40 -0
  223. package/templates/.claude/skills/frontend-vue/components/PDFViewer.vue +25 -0
  224. package/templates/.claude/skills/frontend-vue/components/Panel/FormView.vue +309 -0
  225. package/templates/.claude/skills/frontend-vue/components/Partial/Footer.vue +23 -0
  226. package/templates/.claude/skills/frontend-vue/components/Partial/Header.vue +265 -0
  227. package/templates/.claude/skills/frontend-vue/components/Partial/Sidebar.vue +122 -0
  228. package/templates/.claude/skills/frontend-vue/components/Template.vue +16 -0
  229. package/templates/.claude/skills/frontend-vue/components/View/Form.vue +89 -0
  230. package/templates/.claude/skills/frontend-vue/composables/indexDBStore.js +140 -0
  231. package/templates/.claude/skills/frontend-vue/composables/masterApi.js +362 -0
  232. package/templates/.claude/skills/frontend-vue/composables/state.js +578 -0
  233. package/templates/.claude/skills/frontend-vue/composables/useRequest.js +221 -0
  234. package/templates/.claude/skills/frontend-vue/composables/useSession.js +179 -0
  235. package/templates/.claude/skills/frontend-vue/composables/useTranslation.js +54 -0
  236. package/templates/.claude/skills/frontend-vue/composables/useWebSocket.js +257 -0
  237. package/templates/.claude/skills/frontend-vue/composables/userObj.js +111 -0
  238. package/templates/.claude/skills/frontend-vue/composables/utils.js +322 -0
  239. package/templates/.claude/skills/frontend-vue/reference/composables-example.vue +320 -0
  240. package/templates/.claude/skills/frontend-vue/reference/form-example.vue +183 -0
  241. package/templates/.claude/skills/frontend-vue/reference/grid-example.vue +147 -0
  242. package/templates/.claude/skills/frontend-vue/reference/masterdata-example/[id].vue +106 -0
  243. package/templates/.claude/skills/frontend-vue/reference/masterdata-example/index.vue +58 -0
  244. package/templates/.claude/skills/frontend-vue/reference/popup-example.vue +159 -0
  245. package/templates/.claude/skills/pdf/LICENSE.txt +30 -0
  246. package/templates/.claude/skills/pdf/SKILL.md +294 -0
  247. package/templates/.claude/skills/pdf/forms.md +205 -0
  248. package/templates/.claude/skills/pdf/reference.md +612 -0
  249. package/templates/.claude/skills/pdf/scripts/check_bounding_boxes.py +70 -0
  250. package/templates/.claude/skills/pdf/scripts/check_bounding_boxes_test.py +226 -0
  251. package/templates/.claude/skills/pdf/scripts/check_fillable_fields.py +12 -0
  252. package/templates/.claude/skills/pdf/scripts/convert_pdf_to_images.py +35 -0
  253. package/templates/.claude/skills/pdf/scripts/create_validation_image.py +41 -0
  254. package/templates/.claude/skills/pdf/scripts/extract_form_field_info.py +152 -0
  255. package/templates/.claude/skills/pdf/scripts/fill_fillable_fields.py +114 -0
  256. package/templates/.claude/skills/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
  257. package/templates/.claude/skills/pdf-processing/SKILL.md +107 -0
  258. package/templates/.claude/skills/pdf-processing-pro/FORMS.md +610 -0
  259. package/templates/.claude/skills/pdf-processing-pro/OCR.md +137 -0
  260. package/templates/.claude/skills/pdf-processing-pro/SKILL.md +296 -0
  261. package/templates/.claude/skills/pdf-processing-pro/TABLES.md +626 -0
  262. package/templates/.claude/skills/pdf-processing-pro/scripts/analyze_form.py +307 -0
  263. package/templates/.claude/skills/postgres/SKILL.md +69 -0
  264. package/templates/.claude/skills/postgres/reference/fn_get_examples.sql +208 -0
  265. package/templates/.claude/skills/postgres/reference/fn_rpt_examples.sql +239 -0
  266. package/templates/.claude/skills/postgres/reference/utility_functions.sql +94 -0
  267. package/templates/.claude/skills/pptx/LICENSE.txt +30 -0
  268. package/templates/.claude/skills/pptx/SKILL.md +484 -0
  269. package/templates/.claude/skills/pptx/html2pptx.md +625 -0
  270. package/templates/.claude/skills/pptx/ooxml.md +427 -0
  271. package/templates/.claude/skills/pptx/scripts/html2pptx.js +979 -0
  272. package/templates/.claude/skills/pptx/scripts/inventory.py +1020 -0
  273. package/templates/.claude/skills/pptx/scripts/rearrange.py +231 -0
  274. package/templates/.claude/skills/pptx/scripts/replace.py +385 -0
  275. package/templates/.claude/skills/pptx/scripts/thumbnail.py +450 -0
  276. package/templates/.claude/skills/repo-maintenance/SKILL.md +97 -0
  277. package/templates/.claude/skills/research/EXAMPLES.md +434 -0
  278. package/templates/.claude/skills/research/REFERENCE.md +399 -0
  279. package/templates/.claude/skills/research/SKILL.md +136 -0
  280. package/templates/.claude/skills/root-cause-tracing/SKILL.md +174 -0
  281. package/templates/.claude/skills/root-cause-tracing/find-polluter.sh +63 -0
  282. package/templates/.claude/skills/sharing-skills/SKILL.md +194 -0
  283. package/templates/.claude/skills/sql-optimization-patterns/SKILL.md +493 -0
  284. package/templates/.claude/skills/subagent-driven-development/SKILL.md +189 -0
  285. package/templates/.claude/skills/systematic-debugging/CREATION-LOG.md +119 -0
  286. package/templates/.claude/skills/systematic-debugging/SKILL.md +295 -0
  287. package/templates/.claude/skills/systematic-debugging/test-academic.md +14 -0
  288. package/templates/.claude/skills/systematic-debugging/test-pressure-1.md +58 -0
  289. package/templates/.claude/skills/systematic-debugging/test-pressure-2.md +68 -0
  290. package/templates/.claude/skills/systematic-debugging/test-pressure-3.md +69 -0
  291. package/templates/.claude/skills/test-driven-development/SKILL.md +364 -0
  292. package/templates/.claude/skills/testing-anti-patterns/SKILL.md +302 -0
  293. package/templates/.claude/skills/testing-quality/SKILL.md +97 -0
  294. package/templates/.claude/skills/verification-before-completion/SKILL.md +139 -0
  295. package/templates/.claude/skills/webapp-testing/LICENSE.txt +202 -0
  296. package/templates/.claude/skills/webapp-testing/SKILL.md +96 -0
  297. package/templates/.claude/skills/webapp-testing/examples/console_logging.py +35 -0
  298. package/templates/.claude/skills/webapp-testing/examples/element_discovery.py +40 -0
  299. package/templates/.claude/skills/webapp-testing/examples/static_html_automation.py +33 -0
  300. package/templates/.claude/skills/webapp-testing/scripts/with_server.py +106 -0
  301. package/templates/.claude/ukit/index/build-index.mjs +28 -0
  302. package/templates/.claude/ukit/index/cache-utils.mjs +140 -0
  303. package/templates/.claude/ukit/index/lib/index-core.mjs +2800 -0
  304. package/templates/.claude/ukit/index/query-index.mjs +150 -0
  305. package/templates/.claude/ukit/index/refresh-index.mjs +57 -0
  306. package/templates/.claude/ukit/index/reset-auto-permissions.mjs +76 -0
  307. package/templates/.claude/ukit/index/resolve-context.mjs +279 -0
  308. package/templates/.claude/ukit/index/route-catalog.mjs +258 -0
  309. package/templates/.claude/ukit/index/route-task.mjs +1994 -0
  310. package/templates/.claude/ukit/index/triage.mjs +133 -0
  311. package/templates/.claude/ukit/index/verify-context.mjs +689 -0
  312. package/templates/.claude/ukit/runtime/compact-threshold.mjs +1013 -0
  313. package/templates/.claude/ukit/runtime/output-compression.mjs +1340 -0
  314. package/templates/.claude/ukit/runtime/reinject-context.mjs +874 -0
  315. package/templates/.claude/ukit/runtime/token-utils.mjs +500 -0
  316. package/templates/.codex/README.md +83 -0
  317. package/templates/.codex/settings.json +187 -0
  318. package/templates/.gitignore +75 -0
  319. package/templates/AGENTS.md +116 -0
  320. package/templates/CLAUDE.md +93 -0
  321. package/templates/adapter-presets/antigravity/README.md +22 -0
  322. package/templates/adapter-presets/antigravity/rules.md +49 -0
  323. package/templates/adapter-presets/claude/settings.local.json +42 -0
  324. package/templates/adapter-presets/codex/settings.local.json +6 -0
  325. package/templates/adapter-presets/opencode/opencode.template.json +1 -0
  326. package/templates/docs/BUGFIX.md +20 -0
  327. package/templates/docs/BUG_INDEX.md +12 -0
  328. package/templates/docs/BUG_METRICS.md +7 -0
  329. package/templates/docs/BUG_TEMPLATE.md +13 -0
  330. package/templates/docs/CODE_MAP.md +35 -0
  331. package/templates/docs/INSTALL.md +113 -0
  332. package/templates/docs/MEMORY.md +49 -0
  333. package/templates/docs/PROJECT.md +50 -0
  334. package/templates/docs/UKIT_USAGE_GUIDE.md +147 -0
  335. package/templates/docs/WORKLOG.md +10 -0
  336. package/templates/ukit/README.md +14 -0
  337. package/templates/ukit/storage/cache/compact-history.json +3 -0
  338. package/templates/ukit/storage/cache/compact-pressure.json +1 -0
  339. package/templates/ukit/storage/cache/output-history.json +3 -0
  340. package/templates/ukit/storage/cache/prompt-cache.json +3 -0
  341. package/templates/ukit/storage/config.json +37 -0
  342. package/templates/ukit/storage/memory/projects/.gitkeep +2 -0
  343. package/templates/ukit/storage/memory/sessions/.gitkeep +0 -0
  344. package/templates/ukit/storage/memory/user.json +5 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,179 @@
1
+ # Changelog
2
+
3
+ All notable changes to UKit are documented here.
4
+
5
+ ## Unreleased
6
+
7
+ ## 1.1.6 - 2026-04-23
8
+
9
+ ### Hidden Runtime Root
10
+
11
+ - Moved the shared runtime install target from visible `ukit/` to hidden `.ukit/` so end-user projects no longer see a confusing extra root folder beside `.claude/ukit/`.
12
+ - Kept `.claude/ukit/` for installed helper/index/hook machinery and installer metadata, instead of mixing mutable runtime storage into that helper tree.
13
+ - Added safe reinstall migration so rerunning `ukit install` moves legacy runtime assets from `ukit/README.md` and `ukit/storage/` into `.ukit/` when the new target paths are free, without force-overwriting newer state.
14
+ - Preserved conservative legacy cleanup: unknown user files under old `ukit/` still survive, and the old root is removed only when it becomes empty after migration/cleanup.
15
+ - Updated manifest targets, gitignore/uninstall ownership handling, current docs, and release/package smoke expectations to align on the new hidden runtime root.
16
+ - Promoted the current runtime/version surfaces to `@ngockhoale/ukit@1.1.6` while keeping the same `ukit` binary and the same install-first teammate workflow.
17
+
18
+ ## 1.1.5 - 2026-04-23
19
+
20
+ ### Owned-Scope npm Distribution Alignment
21
+
22
+ - Realigned the published npm package name from `@ukit/cli` to `@ngockhoale/ukit` so release distribution uses a maintainer-owned scope that can actually publish today.
23
+ - Kept the installed CLI binary name as `ukit`, so the human-facing workflow inside projects remains exactly the same: teammates still only need `ukit install`.
24
+ - Preserved the existing GitHub `v1.1.4` release history and cut the package-identity change as a clean follow-up patch release instead of rewriting an already-pushed tag.
25
+ - Updated current install/documentation surfaces to point maintainers at `npm install -g @ngockhoale/ukit` while keeping UKit’s install-first product contract unchanged.
26
+
27
+ ## 1.1.4 - 2026-04-23
28
+
29
+ ### Recovery-Safe Output Compaction
30
+
31
+ - Added recovery-safe output compaction on top of the existing command-aware compression lane instead of introducing a second output/history subsystem.
32
+ - Preserved raw tool output in `ukit/storage/cache/tee/` for high-value recovery cases such as failed commands, large raw outputs, or unusually high token savings.
33
+ - Extended output-history entries with recovery metadata (`rawSaved`, `rawPath`, `rawBytes`, `recoveryReason`) so routed/runtime consumers can reuse the same shared artifact instead of rerunning noisy commands blindly.
34
+ - Appended a compact `Full output:` recovery hint only when it still preserves net token savings; when it would erase the savings, UKit still keeps the raw artifact and metadata without bloating the inline summary.
35
+ - Kept source runtime behavior and shipped Claude hook behavior aligned for recovery-safe compaction, including prompt-cache reuse of recovery metadata and history dedupe that ignores the recovery-hint line.
36
+ - Extended `ukit status` output-compression reporting to show recovery counts so maintainers can see when the runtime preserved raw evidence in addition to saving tokens.
37
+ - Updated shared runtime docs/version surfaces to reflect the new v1.1.4 recovery-safe compaction lane while keeping the teammate workflow centered on `ukit install`.
38
+
39
+ ## 1.1.3 - 2026-04-22
40
+
41
+ ### Vietnamese-friendly retrieval + routing hardening
42
+
43
+ - Added shared Unicode-aware query normalization so Vietnamese prompts can match English-heavy code paths and symbols more reliably without forcing users to switch to English.
44
+ - Added compact Vietnamese alias expansion for routing/search intent (for example review/auth/permission/cache/route-style terms) in both source runtime and shipped installed helpers.
45
+ - Hardened shared route scoring so normalized prompt signals improve skill selection without leaking prompt aliases into unrelated file-signal matches.
46
+ - Kept installed Claude/Codex hook/helper behavior aligned with the source runtime, including safe fallback behavior for hook/template test environments and legacy route-task stubs.
47
+ - Added regression coverage for Vietnamese retrieval/routing across source query/index, source task routing, installed route-task/query helpers, and the Claude skill-router hook.
48
+ - Added a simple direct-target fast path in shared `resolveContext` so when direct test context already localizes a simple/trivial change, UKit keeps the context bundle compact and skips widening into shared abstractions/analogs unless broader evidence is still needed.
49
+ - Skipped previous-context memory injection for localized simple/trivial route lanes with an explicit file target in both the installed `route-task` helper and the Claude `skill-router` hook, reducing unnecessary memory scanning on already-localized tasks while keeping non-trivial routes unchanged.
50
+ - Skipped recent-output snapshot reads for localized simple/trivial direct-target testing lanes in the installed `route-task` helper, so test-focused routes stop reading `ukit/storage/cache/output-history.json` when that compressed terminal context would not change the chosen next step.
51
+ - Reused the installed `route-task` verification environment snapshot when `package.json` already declares `packageManager`, so UKit no longer re-reads `package.json` or stats every lockfile candidate just to derive the same verification commands.
52
+ - Aligned the source verification planner and shipped `verify-context` helper with that same declared-`packageManager` fast path, so direct verification lanes also skip redundant lockfile fingerprint probes while reusing the parsed `package.json` snapshot.
53
+ - Applied the same declared-`packageManager` fingerprint fast path to the Claude `skill-router` hook and reused the parsed package snapshot for verification recommendations, removing another avoidable lockfile-probe burst from pure Claude flows.
54
+
55
+ ## 1.1.2 - 2026-04-22
56
+
57
+ ### Live compact + compress runtime slice
58
+
59
+ - Added real `src/core/token/`, `src/core/compact/`, and `src/core/output/` runtime modules so compact/compress are no longer config-only switches.
60
+ - Added a threshold-based compact pressure planner with soft/hard phases, hysteresis, cooldown reuse, and layered compact plans so long sessions can auto-compact near the configured context limit without flapping.
61
+ - Threshold compact memory-bridge output now dedupes bulky `Previous context` snapshots into compact anchors such as active task, key decision, rule, and next step instead of replaying the same context blob twice.
62
+ - `ukit memory recall` now uses live input compaction, prompt-cache reuse, and compaction-history metrics.
63
+ - Memory recall now tightens its own budget under compact pressure, preserving project anchors and key decisions while dropping lower-value extras when the runtime is already under hard pressure.
64
+ - Added a real Claude `PreCompact` runtime lane that re-injects compact routed context, previous shared memory context, and recent compressed command output from shared runtime cache.
65
+ - Added a Claude `PostToolUse` Bash output-compression hook that compresses noisy terminal output into reusable summaries under `ukit/storage/cache/output-history.json`.
66
+ - Added an automatic previous-context bridge in the installed `route-task` helper so Codex-routed flows can carry compact shared memory context in `.claude/ukit/skill-router-state.json` without relying on manual recall commands.
67
+ - Added a compact recent-output bridge in the installed `route-task` helper so Codex-routed flows can carry the latest compressed terminal summary into `.claude/ukit/skill-router-state.json` and invalidate reuse when that output snapshot changes.
68
+ - Added safe-zone terminal compression profiles for repeated search/file-list/tree/git output so UKit keeps anchor paths and test signals while dropping noisy repeated lines.
69
+ - Claude reinject now reuses that compact shared `previousContext` snapshot before rescanning `ukit/storage/memory/`, cutting duplicate memory retrieval work across Codex/Claude continuation flows while keeping the same safety fallback.
70
+ - Claude `skill-router` now persists compact shared `previousContext` snapshots earlier in `.claude/ukit/skill-router-state.json` and invalidates same-prompt reuse when that memory snapshot changes, so pure Claude flows also benefit from lower repeated memory drag before `PreCompact`.
71
+ - Updated shared adapter guidance so OpenCode (`AGENTS.md`) and Antigravity (`.antigravity/rules/rules.md`) reuse compact `previous-context` / `recent-output` snapshots from the shared route state before widening reads or replaying noisy logs.
72
+ - OpenCode and Antigravity guidance now also points both adapters at the canonical `node .claude/ukit/index/route-task.mjs ...` helper for complex/ambiguous routing so they can refresh the same shared route memory path Codex/Claude already use.
73
+ - OpenCode now ships native `opencode.json` command entrypoints for shared UKit route/context/index/query/verify/triage flows, pins `--adapter opencode`, and keeps those helpers internal so end users still only need `ukit install`.
74
+ - Shared `route-task` state now records the originating adapter (`claude`, `codex`, `antigravity`, `opencode`) so OpenCode/Claude continuations do not accidentally reuse the same cached route snapshot just because the task text matches.
75
+ - Antigravity can now call its native symlinked helper path (`node .antigravity/ukit/index/route-task.mjs ...`) and route/resolve/triage using `.antigravity/ukit/index/...` lanes instead of falling back to Claude-shaped helper paths.
76
+ - `verify-context` and maintainer `ukit index verify` output now compact repeated targeted test commands and verbose docs-only notes into shorter canonical display lines without changing verification policy.
77
+ - Memory recall / previous-context snippets now use compact canonical `project=...` / `session=...` display lines so agents spend fewer tokens on repeated prose while keeping decisions, rules, actions, and next steps visible.
78
+ - `ukit status` now surfaces prompt-cache and output-compression metrics so maintainers can see live savings instead of only static config toggles.
79
+ - Maintainer `release:verify` now defaults to a local `npm pack --dry-run --json` packaging check instead of hitting npmjs during the normal release-ready workflow.
80
+
81
+ ## 1.1.0 - 2026-04-21
82
+
83
+ ### Production-ready v1.1.0 runtime foundation
84
+
85
+ - Promoted UKit to **v1.1.0** with a shared project-local runtime at `ukit/` for config, cache, and cross-agent memory.
86
+ - Added maintainer-facing runtime commands:
87
+ - `ukit status`
88
+ - `ukit memory list|search|recall|forget|export`
89
+ - Hardened lifecycle commands around the new runtime:
90
+ - `ukit doctor` now validates `ukit/storage/` health and runtime config integrity
91
+ - uninstall now removes tracked runtime config/cache files under `ukit/` safely
92
+ - Updated installed Claude/Codex/AGENTS guidance so adapters know to reuse `ukit/storage/config.json`, `ukit/storage/memory/`, and the shared runtime cache files.
93
+ - Added a safe recall lane for non-trivial work: `ukit memory recall "<task>"` now prints a compact `## Previous Context` block from shared local memory before widening docs/context.
94
+ - Hardened recall before release so it stays inside the current project boundary and fails closed when `ukit/storage/config.json` is corrupted.
95
+ - Fixed publish packaging so the OpenCode adapter preset is included in the npm artifact even though `opencode.json` is globally gitignored in the repo.
96
+
97
+ ## 1.0.1 - 2026-04-21
98
+
99
+ ### Patch release
100
+
101
+ - Added **OpenCode** as a first-class optional coding adapter in the default `ukit install` surface.
102
+ - Kept the human workflow unchanged: teammates still only need to remember **`ukit install`**.
103
+ - Reused the canonical `AGENTS.md` + `.claude/skills/` workspace shape for OpenCode instead of generating a duplicate mirror tree, keeping the adapter leaner for production.
104
+ - Added a production-tuned managed `opencode.json` with:
105
+ - safe default build agent behavior
106
+ - compaction enabled
107
+ - noisy watcher paths ignored
108
+ - index/test/lint/build commands auto-allowed where safe
109
+ - destructive git/rm flows denied or forced through confirmation
110
+ - Extended adapter selection, gitignore management, uninstall ownership handling, docs, and integration coverage for the new OpenCode adapter.
111
+ - Re-verified the release lane after the patch with artifact smoke, full core suite, and `npm publish --dry-run`.
112
+
113
+ ## 1.0.0 - 2026-04-16
114
+
115
+ ### Product promise
116
+
117
+ - Teammates should remember only **`ukit install`** for normal in-project workflow.
118
+ - The same command handles first-time workspace setup and refresh inside a project.
119
+ - The AI should absorb the complexity: routing, hidden skill activation, context pulling, verification scope, and selective delegation.
120
+
121
+ ### Core capabilities
122
+
123
+ - **Index-first code localization** so Claude Code, Codex, and Antigravity can find the right files/tests quickly without broad repo reads.
124
+ - **Automatic skill routing** from prompt + file/tool evidence, including hidden lanes such as Docker packaging and DuraOne.
125
+ - **Scoped verification** that prefers related tests and only widens when shared/risky scope justifies it.
126
+ - **Shared multi-adapter workspace** authored once and reused across Claude, Codex, and Antigravity.
127
+
128
+ ### Release hardening
129
+
130
+ - Made index freshness **source-aware**, not just age-based:
131
+ - stale detection now rebuilds when indexed source/style files changed immediately after the last build
132
+ - symlinked source directories are deduplicated to avoid duplicate/cyclic indexing
133
+ - shipped helpers/mirror follow the same freshness rule after **`ukit install`**
134
+ - Broadened hidden index test handling for co-located `.test.mjs`, `.spec.mjs`, `.test.cjs`, and `.spec.cjs`, and kept likely test files out of normal query top matches unless the prompt explicitly asks for tests/specs.
135
+ - Tightened the Claude auto-allow hook so interpreter entrypoints (`node`, `python`, `bash`, etc.) are not silently whitelisted as generic safe Bash rules.
136
+ - Removed empty `frontend-vue` placeholder components from the shipped hidden skill bundle by replacing them with real reference wrappers for mobile dropdown and form-view usage.
137
+ - Cut one extra stale-path freshness reread from shipped index helpers by returning `generatedAtMs` directly from index rebuild summaries and reusing it after rebuild.
138
+ - Added packed-artifact smoke coverage proving the published npm tarball can:
139
+ - run `ukit install`
140
+ - ship working index helpers
141
+ - build the shipped index
142
+ - route Docker packaging work
143
+ - support default adapters
144
+ - support nested DuraOne monorepo activation
145
+ - Fixed index graph resolution for extensionless React-style internal imports (`.jsx`, `.tsx`, and directory `index.jsx` / `index.tsx`) so rerunning **`ukit install`** rebuilds correct relations/analogs in JSX/TSX projects too.
146
+ - Fixed source discovery for supported **symlinked source files** in both the repo runtime and the shipped installed mirror, so alias file paths inside the project remain indexed/searchable even when the real file lives elsewhere.
147
+ - Stopped `ukit install` from claiming success before the required source-code index actually finishes; if index build fails, the command now tells maintainers to fix the repo state and rerun **`ukit install`**.
148
+ - Slimmed the bundled hidden `canvas-design` asset lane to a curated built-in font set, cutting the published tarball from roughly **3.3 MB** to **1.5 MB** while preserving immediate post-install usability and the one-command `ukit install` workflow.
149
+ - Deduped the heavy hidden **OOXML** support bundle used by PPTX/DOCX into a shared installed lane, preserving the same skill paths after `ukit install` via symlinks and safely migrating previously managed real directories on reinstall.
150
+ - Hardened uninstall against stale tracked metadata under managed symlink roots: if old install records still mention descendants like `.claude/skills/pptx/ooxml/...` after the root became a tracked link, uninstall now removes only the tracked link and refuses to follow that symlink into the shared target bundle.
151
+ - Hardened reinstall migration for shared OOXML symlink targets so UKit only auto-replaces an old real directory when every nested path is still clearly UKit-managed; untracked empty subdirectories now block replacement instead of being silently deleted.
152
+ - Hardened reinstall migration again so even an **empty real directory** at a managed symlink target is treated as ambiguous user content; UKit now warns and keeps the directory instead of silently replacing it during `ukit install`.
153
+ - Hardened legacy reinstall cleanup so `ukit install` no longer deletes the whole old `ukit/.ukit/` directory tree; it now removes only the legacy `install.json` file and keeps any user files that may still live under that folder.
154
+ - Hardened legacy flat-file cleanup so paths like `.claude/skills/delivery.md` are removed only when they are actual files/symlinks; if a user has a real directory with the same legacy name, UKit now preserves it instead of recursively deleting it.
155
+ - Hardened adapter deselection metadata cleanup so removing a managed link path also removes stale tracked descendants under that path, preventing old `.antigravity/skills/...` or `.codex/skills/...` entries from lingering in install metadata after `ukit install --tools=...` changes.
156
+ - Hardened maintainer preview flows so `ukit diff` / dry-run install planning no longer delete a previously managed real directory before showing the preview; only the real install path may perform safe managed-directory replacement.
157
+ - Fixed index import resolution for **single-segment `baseUrl` imports** (for example `import { loadUser } from 'userApi'` with `baseUrl: "./src/services"`), in both the source runtime and the shipped installed mirror, so source-code indexing keeps relations/query ranking correct for that TypeScript layout too.
158
+ - Hardened adapter deselection safety again so UKit only prunes deselected adapter files when install metadata proves UKit actually owns them; a first `ukit install` no longer deletes a teammate’s pre-existing `.codex/.antigravity` files just because the adapter is currently deselected.
159
+ - Tightened deselection ownership handling so when adapter cleanup is skipped (non-interactive mode, user says no, or the path is a real directory), UKit immediately drops those deselected paths from install metadata instead of carrying stale ownership forward to uninstall.
160
+ - Restored **index-first routing** for prompt-only hybrid lanes where a standalone specialist (for example Docker packaging) is selected together with a real code skill; source runtime, shipped `route-task`, and the Claude `skill-router` hook now keep `resolve-context` available instead of falling straight to `read-skill-instructions`.
161
+ - Hardened fresh `ukit install` ownership handling against stray/non-UKit `install.json` files: obsolete-path pruning and metadata carry-forward now trust previous tracked files only when metadata proves the prior install was actually written by UKit, so a first install no longer deletes or inherits ownership of user files from foreign/stale metadata.
162
+ - Stopped tracking **skip-strategy bootstrap files** (for example `docs/PROJECT.md`, `docs/MEMORY.md`, `docs/WORKLOG.md`, `CLAUDE.md`, `AGENTS.md`, `.claude/settings.local.json`, `.codex/settings.local.json`) as uninstall-owned outputs, so UKit preserves team memory/local settings even when those files were first created by `ukit install`.
163
+ - Kept **test-like direct targets** targeted even when filenames omit `.test` / `.spec` (for example `tests/pages/LoginFlow.js`): source verification planning and shipped `resolve-context` / `verify-context` helpers now treat `tests/` / `specs/` targets as related tests instead of downgrading to minimal verification.
164
+ - Hardened source `deriveVerificationPlan(...)` again so callers that pass a precomputed/raw `contextResult` still normalize direct `tests/` / `specs/` primary targets into targeted verification; direct test files no longer fall back to `mode=minimal` just because `relatedTests` was not pre-expanded upstream.
165
+ - Fixed source + shipped index discovery so root-level **`specs/` / `spec/` / `test/` / `__tests__/`** lanes are scanned and treated consistently as likely tests; spec-root tests now feed `tests-map` / relations correctly and stay deprioritized in normal file search unless the prompt explicitly asks for tests/specs.
166
+ - Completed the root test-lane hardening so **root `test/`, `spec/`, and `__tests__/`** paths are recognized consistently across index build, query ranking, and direct test-target routing/verification heuristics in both source and shipped helpers.
167
+ - Aligned shipped helper cache keys with route-task seeding for **target-only helper invocations** (`--target ...` with no prompt text), so direct `resolve-context` / `verify-context` calls can reuse the route-seeded cache instead of recomputing indexed context.
168
+ - Reused relations/analogs safely for alias-based projects when code + alias config stay unchanged, reducing wasted rebuild work on repeated refreshes.
169
+ - Fixed package file modes so published regular files are readable and shipped hook/bin entrypoints stay executable in the npm artifact.
170
+ - Installed full hidden-skill companion bundles (references/scripts/assets) for default skill packs that need them, while keeping the teammate workflow unchanged: remember only **`ukit install`**.
171
+ - Cleared stale routed state when a later prompt has no matching skill, preventing old verification policies from leaking into unrelated work.
172
+ - Expanded explicit “full suite” verification intent detection so Vietnamese prompts like `chạy full test suite` are honored too.
173
+ - Hardened packaging for release-critical templates and adapter presets so publish artifacts match repo behavior.
174
+ - Added maintainer-facing production release checklist and completed the missing npm/GitHub release metadata.
175
+
176
+ ### Migration notes
177
+
178
+ - The old legacy delegation stack is **not** part of the UKit 1.0.0 product surface.
179
+ - If you are upgrading an older workspace, rerun **`ukit install`** to refresh the installed files and hidden routing logic.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 lengockhoa
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,189 @@
1
+ # UKit
2
+
3
+ UKit installs a project-local AI workspace (`.claude/`, adapters, docs, and index helpers) so your team can work with Claude Code, Antigravity, OpenAI Codex, and OpenCode from the same repo setup.
4
+
5
+ ## Highest-Priority Team Rule
6
+
7
+ **For normal team usage, the only UKit command anyone should need to remember is `ukit install`.**
8
+
9
+ After `ukit install` finishes:
10
+ - open your AI tool
11
+ - describe the task in natural language
12
+ - let the workspace instructions route the flow
13
+
14
+ How the CLI binary itself gets installed or refreshed is a maintainer/platform concern.
15
+ Inside projects, the command teammates should remember remains **`ukit install`**.
16
+
17
+ Do **not** onboard the whole team around `ukit doctor`, `ukit diff`, `ukit uninstall`, or `ukit index ...`. Those commands can still exist for maintainers/debugging, but they are intentionally **not** the default human workflow.
18
+
19
+ ## Team Workflow
20
+
21
+ 1. Install the UKit CLI globally.
22
+ ```bash
23
+ npm install -g @ngockhoale/ukit
24
+ ```
25
+ 2. Open any project root in the terminal.
26
+ 3. Run:
27
+
28
+ ```bash
29
+ ukit install
30
+ ```
31
+
32
+ 4. Fill in the generated docs baseline:
33
+ - `docs/PROJECT.md`
34
+ - `docs/MEMORY.md`
35
+ - `docs/WORKLOG.md`
36
+ 5. Open your AI tool and work in natural language.
37
+
38
+ ## Update Policy
39
+
40
+ The same command handles both first-time setup and refreshes:
41
+
42
+ ```bash
43
+ ukit install
44
+ ```
45
+
46
+ If UKit changes, your templates change, or a teammate needs to re-apply the workspace, rerun `ukit install`.
47
+ If maintainers roll out a newer CLI build, the in-project workflow still stays the same: rerun `ukit install`.
48
+
49
+ ## What `ukit install` Creates
50
+
51
+ **Core workspace**
52
+ - `.claude/skills/` — canonical skills
53
+ - `.claude/agents/` — specialist agents
54
+ - `.claude/hooks/` — tool hooks
55
+ - `CLAUDE.md` — Claude Code instructions
56
+ - `AGENTS.md` — shared instructions for AGENTS-compatible tools
57
+
58
+ **Adapters**
59
+ - `.antigravity/skills/` → symlink to `.claude/skills/`
60
+ - `.antigravity/rules/` — Antigravity rules
61
+ - `.codex/settings.json` + `.codex/settings.local.json` — Codex config
62
+ - `opencode.json` — OpenCode project config with UKit-safe guardrails
63
+
64
+ **Project support files**
65
+ - `.claude/ukit/.ukit/` — installer manifests, metadata, backups
66
+ - `.ukit/` — hidden shared runtime storage for config, cache, and cross-agent memory
67
+ - `docs/` — PROJECT / MEMORY / WORKLOG baseline
68
+
69
+ ## UKit v1.1.6 Runtime
70
+
71
+ UKit now installs a hidden shared local runtime at `.ukit/` for production-oriented state that should survive across agent sessions:
72
+
73
+ - `.ukit/storage/config.json` — runtime defaults for compact/router/memory/validation
74
+ - `.ukit/storage/cache/` — reusable prompt-cache, compact history, compact-pressure state, and output summaries
75
+ - `.ukit/storage/memory/` — cross-agent local memory
76
+
77
+ If an older repo still has a visible legacy `ukit/` runtime folder, rerunning `ukit install` now migrates the shared runtime into hidden `.ukit/` when the target paths are free.
78
+
79
+ When long sessions approach the compact threshold, UKit now uses a conservative pressure lane:
80
+
81
+ - soft threshold = configured compact token threshold
82
+ - hard threshold = roughly 20% above soft
83
+ - compact only safe-zone history/noise
84
+ - preserve active task, rules, decisions, and current code focus
85
+
86
+ UKit v1.1.6 keeps the same shared runtime contract while the npm distribution now lives under the owned maintainer scope:
87
+
88
+ - install globally with `npm install -g @ngockhoale/ukit`
89
+ - keep using the exact same human workflow inside projects: `ukit install`
90
+ - preserve the same `ukit` binary, hooks, and install-first orchestration while standardizing the runtime root as hidden `.ukit/`
91
+
92
+ UKit v1.1.6 also keeps the fast path improvements from the recent runtime releases:
93
+
94
+ - Vietnamese prompts now normalize more effectively for English-heavy code symbols and paths
95
+ - localized simple direct-target lanes skip extra previous-context / recent-output work when it would not change the next action
96
+ - routed verification lanes reuse declared `packageManager` metadata so helpers/hooks stop probing every lockfile candidate unnecessarily
97
+
98
+ For maintainers, the runtime is inspectable with:
99
+
100
+ - `ukit status`
101
+ - `ukit memory list`
102
+ - `ukit memory recall "<current task>"`
103
+ - `ukit memory export`
104
+
105
+ Normal teammates should still only need **`ukit install`**.
106
+
107
+ ## Installer Behavior
108
+
109
+ - idempotent install (safe to rerun)
110
+ - timestamped backups before overwrite
111
+ - template rendering with project-aware variables
112
+ - dependency-ordered manifest execution
113
+ - path safety checks for template and target traversal
114
+ - shared-skill adapter linking across supported tools
115
+ - post-install docs baseline reminders
116
+ - automatic code-index build + refresh hook install
117
+
118
+ ## Working Style After Install
119
+
120
+ UKit is built so the team can stop memorizing UKit subcommands and focus on product work:
121
+ - ask for fixes, reviews, implementations, tests, or docs in natural language
122
+ - let the installed instructions choose the right workflow
123
+ - let the AI use the indexed source code first so it can find the right files/tests fast
124
+ - let Claude Code / Codex / OpenCode auto-detect and use the right project-local skill from the prompt and the files/tools involved
125
+ - let the AI prefer targeted verification first, then widen only when shared/risky scope justifies it
126
+ - let the AI selectively auto-delegate internal subagents only when that actually reduces context/noise or unlocks parallel progress; small localized work should stay direct
127
+ - rerun `ukit install` when you need to refresh the workspace
128
+
129
+ End users should **not** need to know or memorize skill names.
130
+
131
+ ## Upstream Skill Alignment
132
+
133
+ To keep UKit strong over time, maintainer work should track the current upstream skill ecosystem:
134
+ - official Anthropic skills: [anthropics/skills](https://github.com/anthropics/skills)
135
+ - official OpenAI skills: [openai/skills](https://github.com/openai/skills)
136
+ - Agent Skills open standard: [agentskills.io](https://agentskills.io/)
137
+ - curated discovery lists such as [awesome-claude-code](https://github.com/hesreallyhim/awesome-claude-code) and [awesome-agent-skills](https://github.com/VoltAgent/awesome-agent-skills)
138
+
139
+ But this is a **maintainer concern**, not a team-onboarding burden.
140
+
141
+ The rule remains:
142
+
143
+ > ship curated improvements through UKit, then ask teammates to rerun **`ukit install`**
144
+
145
+ Do **not** require normal contributors to learn marketplace/plugin commands just to use the workspace.
146
+
147
+ ## Maintainer / Debug Commands
148
+
149
+ These commands are still available, but they are **advanced workflows**, not default team onboarding:
150
+
151
+ - `ukit diff` — preview file changes before install
152
+ - `ukit doctor` — validate UKit state and docs baseline
153
+ - `ukit uninstall` — remove UKit-managed assets
154
+ - `ukit status` — inspect shared UKit runtime state
155
+ - `ukit memory ...` — inspect/export/forget shared memory items
156
+ - `ukit index ...` — run repo indexing/query/triage tools directly
157
+ - `ukit build index` — alias for `ukit index build`
158
+
159
+ Use them when maintaining UKit, debugging workspace setup, or developing the CLI itself — not as the day-to-day path every teammate must learn.
160
+
161
+ ## Repo Development
162
+
163
+ For maintainers evolving **UKit itself**, the key repo references live in:
164
+
165
+ - `docs/UKIT_CODEV_PRINCIPLES.md`
166
+ - `docs/RELEASE_1_1_3_SIGNOFF.md`
167
+
168
+ Run the test suite from the UKit repo root:
169
+
170
+ ```bash
171
+ yarn test
172
+ ```
173
+
174
+ For deeper index development, repo-level scripts are available:
175
+ - `yarn index:build`
176
+ - `yarn index:refresh`
177
+ - `yarn index:query -- "<error|symbol|path>"`
178
+ - `yarn bug:triage -- "<error signature>"`
179
+
180
+ ## Tool Support
181
+
182
+ | Tool | Instructions | Skills | Config |
183
+ |------|-------------|--------|--------|
184
+ | Claude Code | `CLAUDE.md` | `.claude/skills/` (canonical) | `.claude/settings.json` |
185
+ | Antigravity | `AGENTS.md` | `.antigravity/skills/` (symlink) | `.antigravity/rules/`, `.antigravity/README.md` |
186
+ | OpenAI Codex | `AGENTS.md` | `.claude/skills/` (referenced) | `.codex/settings.json`, `.codex/settings.local.json`, `.codex/README.md` |
187
+ | OpenCode | `AGENTS.md` | `.claude/skills/` (native Claude-compatible support) | `opencode.json` |
188
+
189
+ All supported tools share the same SKILL.md ecosystem so the workspace is authored once and reused everywhere.
package/bin/ukit ADDED
@@ -0,0 +1,30 @@
1
+ #!/usr/bin/env node
2
+
3
+ import fs from 'node:fs/promises';
4
+ import path from 'node:path';
5
+ import { fileURLToPath } from 'node:url';
6
+ import { runCli } from '../src/cli/index.js';
7
+
8
+ async function readPackageVersion(packageRoot) {
9
+ const raw = await fs.readFile(path.join(packageRoot, 'package.json'), 'utf8');
10
+ const packageJson = JSON.parse(raw);
11
+ return packageJson.version;
12
+ }
13
+
14
+ async function main() {
15
+ const currentFile = fileURLToPath(import.meta.url);
16
+ const packageRoot = path.resolve(path.dirname(currentFile), '..');
17
+ const packageVersion = await readPackageVersion(packageRoot);
18
+
19
+ await runCli({
20
+ argv: process.argv.slice(2),
21
+ packageRoot,
22
+ projectRoot: process.cwd(),
23
+ packageVersion,
24
+ });
25
+ }
26
+
27
+ main().catch((error) => {
28
+ console.error(`[UKit] ${error?.message ?? String(error)}`);
29
+ process.exitCode = 1;
30
+ });