@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
@@ -0,0 +1,187 @@
1
+ {
2
+ "profile": "ukit-codex-safe-auto",
3
+ "version": 2,
4
+ "packageManager": "{{runtime.packageManager}}",
5
+ "indexCache": {
6
+ "strategy": "index-first",
7
+ "directory": ".cache/index",
8
+ "artifacts": [
9
+ "files.json",
10
+ "symbols.json",
11
+ "imports.json",
12
+ "tests-map.json",
13
+ "hotspots.json",
14
+ "archetypes.json",
15
+ "relations.json",
16
+ "analogs.json"
17
+ ],
18
+ "freshnessMaxAgeHours": 24,
19
+ "whenMissingOrStale": [
20
+ "node .codex/ukit/index/refresh-index.mjs",
21
+ "fallback: node .codex/ukit/index/build-index.mjs"
22
+ ],
23
+ "triageFlow": [
24
+ "node .codex/ukit/index/query-index.mjs \"<error|symbol|path>\"",
25
+ "node .codex/ukit/index/triage.mjs \"<error signature>\"",
26
+ "open top 1-3 ranked files first",
27
+ "if analogs found, open 1 analog for pattern reference"
28
+ ]
29
+ },
30
+ "analogRetrieval": {
31
+ "enabled": true,
32
+ "contextResolverCommand": "node .codex/ukit/index/resolve-context.mjs \"<intent>\" [--target <file>]",
33
+ "maxAnalogFiles": 3,
34
+ "maxSharedAbstractions": 2,
35
+ "contextBudgetByTier": {
36
+ "trivial": { "minFiles": 1, "maxFiles": 2 },
37
+ "simple": { "minFiles": 2, "maxFiles": 5 },
38
+ "non-trivial": { "minFiles": 4, "maxFiles": 8 }
39
+ }
40
+ },
41
+ "skillRouter": {
42
+ "autoActivateOnPromptOrToolSignals": true,
43
+ "helperCommand": "node .codex/ukit/index/route-task.mjs \"<prompt>\" [--tool-command <cmd>] [--target <file>] [--type trivial|simple|non-trivial]",
44
+ "preferHelperForComplexRouting": true,
45
+ "sharedStateFile": ".claude/ukit/skill-router-state.json",
46
+ "rescanAfterFirstRelevantToolCalls": true,
47
+ "preferToolEvidenceAfterPrompt": true,
48
+ "maxActiveSkills": 2,
49
+ "suppressDuplicateRoutingWithinMinutes": 10,
50
+ "promptSignals": {
51
+ "review": [
52
+ "code-review"
53
+ ],
54
+ "debug": [
55
+ "debugging-toolkit"
56
+ ],
57
+ "testing": [
58
+ "testing-quality"
59
+ ],
60
+ "documentation": [
61
+ "docs-quality"
62
+ ],
63
+ "security": [
64
+ "discover-security"
65
+ ],
66
+ "maintenance": [
67
+ "repo-maintenance"
68
+ ]
69
+ },
70
+ "toolSignals": {
71
+ "bashTriage": [
72
+ "debugging-toolkit"
73
+ ],
74
+ "bashTest": [
75
+ "testing-quality"
76
+ ],
77
+ "writeOrEditDocs": [
78
+ "docs-quality"
79
+ ],
80
+ "editDocs": [
81
+ "docs-quality"
82
+ ],
83
+ "editRiskyBoundary": [
84
+ "discover-security"
85
+ ],
86
+ "installOrRefresh": [
87
+ "repo-maintenance"
88
+ ]
89
+ },
90
+ "routingRule": {
91
+ "endUserShouldNotNeedSkillNames": true,
92
+ "selectSmallestUsefulSkillSet": true
93
+ },
94
+ "delegationBridge": {
95
+ "enabled": true,
96
+ "sharedStateField": "routeSummary.delegateHint",
97
+ "displaySummaryField": "routeSummary.line",
98
+ "structuredLaneFields": [
99
+ "routeSummary.nextActionType",
100
+ "routeSummary.nextActionCommand",
101
+ "routeSummary.helperHint",
102
+ "routeSummary.policyMode"
103
+ ],
104
+ "preferIndexFirstBeforeDelegating": true,
105
+ "treatHintAsInternalOnly": true
106
+ },
107
+ "contextBridge": {
108
+ "enabled": true,
109
+ "preferRecentContextRecommendation": true,
110
+ "resolverCommand": "node .codex/ukit/index/resolve-context.mjs \"<intent>\" [--target <file>] [--type trivial|simple|non-trivial]",
111
+ "includeStyleFiles": true
112
+ },
113
+ "verificationBridge": {
114
+ "enabled": true,
115
+ "preferTargetedVerificationFromContext": true,
116
+ "helperCommand": "node .codex/ukit/index/verify-context.mjs \"<intent>\" [--target <file>] [--type trivial|simple|non-trivial]",
117
+ "expandForRiskySkills": [
118
+ "discover-security",
119
+ "repo-maintenance"
120
+ ],
121
+ "docsOnlyCanSkipBroadTests": true,
122
+ "executionPolicy": {
123
+ "autoRunTargetedVerificationWhenSafe": true,
124
+ "enforceTargetedBeforeBroadWhenLocalized": true,
125
+ "preserveLastExplicitPromptAcrossToolSignals": true,
126
+ "autoRunFallbacksWhen": [
127
+ "sharedScope",
128
+ "riskySkillOrTask"
129
+ ],
130
+ "askBeforeBroadVerificationWithoutRelatedTests": true,
131
+ "preferCommandOrderFromVerificationPlan": true
132
+ }
133
+ }
134
+ },
135
+ "execution": {
136
+ "mode": "auto-with-guardrails",
137
+ "riskTiers": {
138
+ "low": {
139
+ "autoAllow": [
140
+ "read",
141
+ "search",
142
+ "lint",
143
+ "test",
144
+ "typecheck",
145
+ "git status",
146
+ "git diff",
147
+ "git log"
148
+ ]
149
+ },
150
+ "medium": {
151
+ "autoAllowInWorkspaceOnly": [
152
+ "build",
153
+ "format",
154
+ "safe file writes"
155
+ ]
156
+ },
157
+ "high": {
158
+ "alwaysAsk": [
159
+ "git push",
160
+ "force push",
161
+ "reset --hard",
162
+ "delete recursive",
163
+ "database migration",
164
+ "system-wide changes"
165
+ ]
166
+ }
167
+ }
168
+ },
169
+ "decisionPolicy": {
170
+ "preferIndexEvidenceOverGuessing": true,
171
+ "preferAnalogOverGenericGeneration": true,
172
+ "openLimitedFilesFirst": 3,
173
+ "escalateToDeepReadAfterFailedLoops": 2
174
+ },
175
+ "scopeVerification": {
176
+ "trivial": "syntax/format check if needed",
177
+ "simple": "targeted lint/typecheck or test",
178
+ "non-trivial": "full test + lint + typecheck"
179
+ },
180
+ "verification": {
181
+ "requiredBeforeCompletion": [
182
+ "{{runtime.packageManager}} test",
183
+ "{{runtime.packageManager}} lint",
184
+ "{{runtime.packageManager}} typecheck"
185
+ ]
186
+ }
187
+ }
@@ -0,0 +1,75 @@
1
+ # Dependencies
2
+ node_modules/
3
+ .pnp
4
+ .pnp.js
5
+
6
+ # Testing
7
+ coverage/
8
+ .nyc_output/
9
+
10
+ # Production build
11
+ dist/
12
+ build/
13
+ out/
14
+
15
+ # Environment variables
16
+ .env
17
+ .env.local
18
+ .env.development.local
19
+ .env.test.local
20
+ .env.production.local
21
+ .claude/ukit/.env
22
+
23
+ # Logs
24
+ logs/
25
+ *.log
26
+ npm-debug.log*
27
+ yarn-debug.log*
28
+ yarn-error.log*
29
+ lerna-debug.log*
30
+
31
+ # OS files
32
+ .DS_Store
33
+ Thumbs.db
34
+
35
+ # Editor directories
36
+ .vscode/
37
+ .idea/
38
+ *.swp
39
+ *.swo
40
+ *~
41
+
42
+ # Claude Code per-machine config
43
+ /.claude/settings.local.json
44
+
45
+ # UKit generated files
46
+ .claude/ukit/.ukit/
47
+ .claude/ukit/permission-usage.json
48
+ .claude/ukit/permission-audit.log
49
+ .cache/
50
+ .antigravity/
51
+ .claude/
52
+ .codex/
53
+ .ukit/
54
+ opencode.json
55
+ AGENTS.md
56
+ CLAUDE.md
57
+ .codex/settings.local.json
58
+
59
+ # Keep tracked template hook sources under templates/.claude/hooks/
60
+ !.claude/
61
+ !.claude/hooks/
62
+ !.claude/hooks/skill-router.sh
63
+ !.claude/hooks/verification-guard.sh
64
+ !.claude/ukit/
65
+ !.claude/ukit/index/
66
+ !.claude/ukit/index/resolve-context.mjs
67
+ !.claude/ukit/index/verify-context.mjs
68
+ !.claude/ukit/index/route-task.mjs
69
+ !.codex/
70
+ !.codex/README.md
71
+ !.codex/settings.json
72
+
73
+ # Database
74
+ *.sqlite
75
+ *.db
@@ -0,0 +1,116 @@
1
+ # AGENTS.md — {{project.name}}
2
+
3
+ ## Core UKit Rule
4
+
5
+ - Human-facing workflow should optimize for one remembered command: `ukit install`.
6
+ - After install, normal work should feel natural inside **Claude/Codex/OpenCode** (and Antigravity when installed).
7
+ - Quality first, then speed, then token discipline: do not waste reads, logs, or repeated helper output.
8
+
9
+ ## Fast Task Classification
10
+
11
+ - **Trivial** — typo, label, rename nhỏ, spacing, toggle flag, obvious config change.
12
+ - Act directly. No doc reads. No planning.
13
+ - **Simple** — 1-2 files, clear scope, existing pattern.
14
+ - Handle directly. Pull only the smallest useful context.
15
+ - **Non-trivial / Risky** — auth, security, migration, uninstall, shared runtime, race/flaky, data-loss.
16
+ - Read deeper, verify harder, and avoid shortcuts.
17
+
18
+ ## Automatic Skill Activation (mandatory)
19
+
20
+ - End users should not need to know skill names.
21
+ - For every non-trivial task — and again after the first relevant tool calls — inspect installed project-local skills and **auto-activate the matching skill immediately**.
22
+ - Match from both prompt wording and tool/file evidence.
23
+ - Use the smallest effective set, usually 1-2 skills.
24
+ - If the prompt/tool signals point to docs work, use `.claude/skills/docs-quality/SKILL.md` when present.
25
+ - If evidence becomes more specific than the original prompt, upgrade the active skill choice immediately.
26
+ - Prefer routed, compact context before widening manual reads.
27
+
28
+ ### Common skill triggers
29
+
30
+ - review / audit / diff / PR feedback → `.claude/skills/code-review/SKILL.md`
31
+ - bug / error / crash / triage / failing path → `.claude/skills/debugging-toolkit/SKILL.md`
32
+ - test / spec / coverage / fixture → `.claude/skills/testing-quality/SKILL.md`
33
+ - docs / README / changelog / handoff / editing `docs/` → `.claude/skills/docs-quality/SKILL.md`
34
+ - auth / security / token / permission / validation / risky shell-path-delete-db work → `.claude/skills/discover-security/SKILL.md`
35
+ - stale workspace / reinstall / cleanup / maintenance → `.claude/skills/repo-maintenance/SKILL.md`
36
+
37
+ ## Internal Helper Routing
38
+
39
+ - If routing is complex or ambiguous, prefer the canonical helper first: `node .claude/ukit/index/route-task.mjs "<prompt>" [--tool-command <cmd>] [--target <file>]`.
40
+ - If context is needed, prefer `node .claude/ukit/index/resolve-context.mjs ...`.
41
+ - If a concrete verification lane is needed, prefer `node .claude/ukit/index/verify-context.mjs ...`.
42
+ - These helper/index commands are internal orchestration. Run them yourself when needed; never turn them into required end-user workflow.
43
+
44
+ ## UKit v1.1.6 Shared Runtime
45
+
46
+ - Shared runtime state lives in `.ukit/storage/`.
47
+ - Treat `.ukit/storage/config.json` as the source of runtime toggles for compact, token pipeline, router, memory, and validation behavior.
48
+ - Reuse `.ukit/storage/memory/` before asking users to restate prior decisions.
49
+ - For non-trivial work, prefer `ukit memory recall "<current task>"` before widening doc reads.
50
+ - Reusable runtime cache lives in `.ukit/storage/cache/prompt-cache.json`, `.ukit/storage/cache/compact-history.json`, and `.ukit/storage/cache/output-history.json`.
51
+ - Shared route memory lives in `.claude/ukit/skill-router-state.json`.
52
+ - If shared route state already includes compact `previous-context` or `recent-output` lines, reuse those first before rescanning memory or replaying noisy logs.
53
+ - If an older repo still has a visible `ukit/` runtime root, rerun `ukit install`; UKit should migrate the shared runtime into hidden `.ukit/` when safe.
54
+ - Maintainers can inspect runtime state with `ukit status` and `ukit memory export`, but normal teammates should still only need `ukit install`.
55
+ - If runtime files are missing/corrupt, tell maintainers to rerun `ukit install`.
56
+
57
+ ## Context + Verification Budget
58
+
59
+ - **Trivial**: no docs, no index query unless the file target is unclear.
60
+ - **Simple**: default to `docs/MEMORY.md` only; pull related files/tests with the resolver.
61
+ - **Non-trivial**: read `docs/MEMORY.md` + `docs/PROJECT.md` + `docs/CODE_MAP.md`.
62
+ - `docs/WORKLOG.md`: only recent, relevant entries for continuation/debugging.
63
+ - Follow routed verification policy: targeted first when localized, widen in order for shared/risky scope, ask before blanket broad runs when no related-test evidence exists.
64
+
65
+ ## Subagent Policy (internal only)
66
+
67
+ - Default to direct execution for trivial/simple work.
68
+ - Delegate only when it clearly reduces context bloat or enables useful parallel progress.
69
+ - Good delegation triggers:
70
+ - noisy side lanes (broad logs/search/test output)
71
+ - 3+ independent failures/files/checks
72
+ - explicit batch/plan execution
73
+ - broad implementation/debug lanes that can return a concise summary
74
+ - If route memory already includes `delegate=<lane>`, treat it as an internal hint after any required indexed-context step.
75
+ - Do not ask end users to name agents or remember agent commands.
76
+
77
+ ## Team Workflow Safety
78
+
79
+ - Do not teach normal contributors `ukit doctor`, `ukit diff`, `ukit uninstall`, or `ukit index ...` unless they are explicitly debugging UKit itself.
80
+ - If the workspace needs a refresh, prefer telling them to rerun `ukit install`.
81
+ - Keep scope tight, prefer the smallest correct change set, reuse existing code, and update docs when source changes.
82
+
83
+ ## Environment Snapshot
84
+
85
+ - Project name: {{project.name}}
86
+ - Detected packs: {{project.stack}}
87
+ - Frontend detected: {{stack.frontend}}
88
+ - Backend API detected: {{stack.backendApi}}
89
+ - PostgreSQL detected: {{stack.postgres}}
90
+ - Package manager: {{runtime.packageManager}}
91
+
92
+ ## Skills
93
+
94
+ - Canonical skills live in `.claude/skills/`.
95
+ - Adapter mirrors may also exist, for example `.antigravity/skills/`.
96
+ - OpenCode reads `AGENTS.md` plus the canonical `.claude/skills/` tree, so UKit keeps the OpenCode adapter lean and avoids a duplicate `.opencode/skills/` mirror.
97
+ - If `opencode.json` ships `ukit-*` commands, treat them as internal helper entrypoints only and **never ask end users to run them**; humans should still only need `ukit install`.
98
+
99
+ ## DuraOne Skill — Conditional Activation
100
+
101
+ DuraOne skill chỉ active khi pack `duraone` được cài hoặc `.claude/skills/duraone/SKILL.md` tồn tại.
102
+
103
+ - Khi active: đọc `.claude/skills/duraone/SKILL.md` trước khi code.
104
+ - References:
105
+ - `.claude/skills/duraone/references/frontend.md`
106
+ - `.claude/skills/duraone/references/backend.md`
107
+ - `.claude/skills/duraone/references/sql.md`
108
+ - `.claude/skills/duraone/references/workflow.md`
109
+ - Khi không active: dùng generic coding standards + project patterns từ index.
110
+
111
+ ## Completion Checklist
112
+
113
+ - Requirements implemented
114
+ - No unrelated changes
115
+ - Verification executed and reported
116
+ - Docs updated when source truth changed
@@ -0,0 +1,93 @@
1
+ # CLAUDE.md — {{project.name}}
2
+
3
+ ## Core Rule
4
+
5
+ - Human-facing UKit workflow should collapse to one remembered command: `ukit install`.
6
+ - After install, default to natural-language work inside Claude/Codex.
7
+ - Optimize for output quality first, then speed, then token discipline.
8
+
9
+ ## Fast Classification
10
+
11
+ - **Trivial**: act directly, no doc reads, no agents.
12
+ - **Simple**: keep scope tight; use the smallest useful context.
13
+ - **Non-trivial / Risky**: read deeper, verify harder, and avoid shortcuts.
14
+
15
+ ## Automatic Skill Activation (mandatory)
16
+
17
+ - End users should not need to know skill names.
18
+ - On every non-trivial task — and again after the first relevant tool calls — inspect installed project-local skills and **auto-activate the matching skill immediately**.
19
+ - Match from prompt signals plus tool/file evidence.
20
+ - Use the smallest useful set.
21
+ - If docs work is detected, read `.claude/skills/docs-quality/SKILL.md` when present.
22
+ - Prefer routed context and routed verification over ad-hoc broad reading.
23
+ - Reuse `.claude/ukit/skill-router-state.json` when it already carries compact route memory.
24
+ - If shared route state already includes `previous-context` or `recent-output`, reuse those first.
25
+
26
+ ### Common skill triggers
27
+
28
+ - review / audit / diff → `.claude/skills/code-review/SKILL.md`
29
+ - bug / error / crash / triage → `.claude/skills/debugging-toolkit/SKILL.md`
30
+ - test / spec / coverage → `.claude/skills/testing-quality/SKILL.md`
31
+ - docs / README / changelog / handoff / editing `docs/` → `.claude/skills/docs-quality/SKILL.md`
32
+ - auth / security / token / permission / validation → `.claude/skills/discover-security/SKILL.md`
33
+ - stale workspace / reinstall / cleanup → `.claude/skills/repo-maintenance/SKILL.md`
34
+
35
+ ## Internal Helper Policy
36
+
37
+ - Prefer `node .claude/ukit/index/route-task.mjs ...` when routing is complex.
38
+ - Prefer `node .claude/ukit/index/resolve-context.mjs ...` for indexed related-file context.
39
+ - Prefer `node .claude/ukit/index/verify-context.mjs ...` for concrete verification lanes.
40
+ - **Do not ask normal contributors to run internal helper commands**; run them yourself or tell them to rerun `ukit install`.
41
+ - Do not ask normal contributors to memorize `ukit doctor`, `ukit diff`, `ukit uninstall`, or `ukit index ...` unless they explicitly need maintainer/debug help.
42
+
43
+ ## UKit v1.1.6 Shared Runtime
44
+
45
+ - Shared runtime state lives in `.ukit/storage/`.
46
+ - Treat `.ukit/storage/config.json` as the source of runtime toggles for compact, token pipeline, router, memory, and validation behavior.
47
+ - Reuse `.ukit/storage/memory/` before asking users to restate decisions.
48
+ - For non-trivial work, prefer `ukit memory recall "<current task>"` before widening doc reads.
49
+ - Reusable cache/compact/output state lives in `.ukit/storage/cache/prompt-cache.json`, `.ukit/storage/cache/compact-history.json`, and `.ukit/storage/cache/output-history.json`.
50
+ - If an older repo still has a visible `ukit/` runtime root, rerun `ukit install`; UKit should migrate the shared runtime into hidden `.ukit/` when safe.
51
+ - Maintainers can inspect runtime state with `ukit status` and `ukit memory export`.
52
+ - If runtime files are missing or corrupt, tell maintainers to rerun `ukit install`.
53
+
54
+ ## Context + Verification Budget
55
+
56
+ - **Trivial**: no docs.
57
+ - **Simple**: `docs/MEMORY.md` only, plus resolver-selected files/tests.
58
+ - **Non-trivial**: `docs/MEMORY.md` + `docs/PROJECT.md` + `docs/CODE_MAP.md`.
59
+ - `docs/WORKLOG.md`: only recent relevant entries.
60
+ - Follow routed verification policy: targeted first, widen only when risk/shared scope justifies it, ask before blanket broad runs.
61
+
62
+ ## Selective Subagent Policy (internal only)
63
+
64
+ - Keep direct execution as the default for trivial/simple work.
65
+ - Delegate only when it meaningfully shrinks context or enables useful parallel progress.
66
+ - Good delegation triggers: noisy research/log lanes, 3+ independent failures, explicit batch execution, or a broad debug/implementation lane with a clean handoff.
67
+ - If route memory includes `delegate=<lane>`, treat it as an internal hint after any required indexed-context step.
68
+
69
+ ## Project Snapshot
70
+
71
+ - Project: {{project.name}} | Root: {{project.root}}
72
+ - Packs: {{project.stack}} | Frontend: {{stack.frontend}} | Backend API: {{stack.backendApi}} | PostgreSQL: {{stack.postgres}}
73
+ - Package manager: {{runtime.packageManager}} | OS: {{runtime.os}} | Node: {{runtime.nodeVersion}} | Provider: {{providers.unic}}
74
+
75
+ ## Working Rules
76
+
77
+ - Keep scope tight.
78
+ - Reuse existing code.
79
+ - Update `docs/WORKLOG.md` after significant work.
80
+ - If source contradicts docs, update docs immediately.
81
+ - Use `{{runtime.packageManager}}`.
82
+
83
+ ## DuraOne Skill — Conditional Activation
84
+
85
+ DuraOne skill chỉ active khi pack `duraone` được cài hoặc `.claude/skills/duraone/SKILL.md` tồn tại.
86
+
87
+ - Khi active: luôn đọc `.claude/skills/duraone/SKILL.md` trước khi code.
88
+ - References:
89
+ - `.claude/skills/duraone/references/frontend.md`
90
+ - `.claude/skills/duraone/references/backend.md`
91
+ - `.claude/skills/duraone/references/sql.md`
92
+ - `.claude/skills/duraone/references/workflow.md`
93
+ - Khi không active: dùng generic coding standards + project-specific patterns từ index.
@@ -0,0 +1,22 @@
1
+ # {{project.name}}
2
+
3
+ Auto-generated by UKit for Google Antigravity.
4
+
5
+ - Packs: {{project.stack}}
6
+ - Package manager: {{runtime.packageManager}}
7
+
8
+ ## Start
9
+ Use graduated doc budget:
10
+ - Trivial: no docs
11
+ - Simple: `docs/MEMORY.md`
12
+ - Non-trivial: `docs/MEMORY.md` + `docs/PROJECT.md` + `docs/CODE_MAP.md`
13
+ - `docs/WORKLOG.md`: recent relevant entries only
14
+
15
+ If routing is complex/ambiguous, use:
16
+ - `node .antigravity/ukit/index/route-task.mjs "<prompt>" [--tool-command <cmd>] [--target <file>]`
17
+
18
+ Routing uses natural-language intent (fix/review/brainstorm/build/test/docs).
19
+ If confidence is low, ask one short clarifying question.
20
+
21
+ ## Skills
22
+ Skills are shared from `.claude/skills/` via symlink. Each skill folder contains `SKILL.md`.
@@ -0,0 +1,49 @@
1
+ # Project Rules — {{project.name}}
2
+
3
+ Auto-generated by UKit. Edit `.claude/` sources to update.
4
+
5
+ ## Core policy
6
+
7
+ - Natural language only; do not require slash commands or skill names.
8
+ - If helper/index commands are needed, run them internally and never ask users to run them.
9
+ - Quality first, keep latency low, avoid repeated token waste.
10
+ - Reuse shared route state from `.claude/ukit/skill-router-state.json`. If it already carries compact `previous-context` or `recent-output` lines, use those before widening docs, memory, or raw logs.
11
+ - Shared runtime lives in `.ukit/storage/`. Reuse `.ukit/storage/memory/`, `.ukit/storage/cache/compact-pressure.json`, `.ukit/storage/cache/output-history.json`, and `.ukit/storage/cache/tee/` before asking users to restate context.
12
+
13
+ ## Route fast
14
+
15
+ - `fix/bug/error/debug/lỗi/sửa` → fix lane
16
+ - `review/audit/check/soát code` → review lane
17
+ - `brainstorm/idea/design/plan` → design lane
18
+ - `build/implement/add/create` → build lane
19
+ - `clone/copy/similar/giống/tương tự` → follow-pattern lane
20
+ - `test/spec/coverage` → test lane
21
+ - `docs/readme/changelog/tài liệu` → docs lane
22
+ - If intent is ambiguous, ask one short clarifying question.
23
+ - If routing is complex or shared route memory needs refresh, run `node .antigravity/ukit/index/route-task.mjs "<prompt>" [--tool-command <cmd>] [--target <file>]`.
24
+
25
+ ## Skill + context loop
26
+
27
+ - Auto-activate the smallest useful installed skill set from prompt + tool/file evidence.
28
+ - Prefer `node .antigravity/ukit/index/resolve-context.mjs "<intent>" [--target <file>]` after choosing a skill.
29
+ - Prefer `node .antigravity/ukit/index/verify-context.mjs "<intent>" [--target <file>]` for verification planning.
30
+
31
+ ## Indexed reading + verification
32
+
33
+ - Trivial: no docs, 1-2 files, minimal verify.
34
+ - Simple: `docs/MEMORY.md` only, 2-5 files, targeted verify.
35
+ - Non-trivial/risky: `docs/MEMORY.md` + `docs/PROJECT.md` + `docs/CODE_MAP.md`, broader verify.
36
+ - `docs/WORKLOG.md`: recent relevant entries only.
37
+ - Clone/follow-pattern: open at least 1 analog file.
38
+ - Shared logic: open the shared abstraction.
39
+ - Bug with tests: open related test first.
40
+ - If broad verification is blocked because targeted verification was skipped, go back to the routed targeted lane first.
41
+ - For bugfix tasks, run index-first triage: `node .antigravity/ukit/index/build-index.mjs` then `node .antigravity/ukit/index/triage.mjs "<error signature>"`, inspect top suspects, then widen only if needed.
42
+
43
+ ## Safety
44
+
45
+ - Package manager: `{{runtime.packageManager}}`.
46
+ - Keep scope tight and prefer existing code paths.
47
+ - Update `docs/WORKLOG.md`, `docs/MEMORY.md`, `docs/CODE_MAP.md`, or `docs/PROJECT.md` after significant work when relevant.
48
+ - Never edit `.env*`, lock files, `.git/`, or `node_modules/`.
49
+ - Never run destructive commands without explicit confirmation.
@@ -0,0 +1,42 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash(docker:*)",
5
+ "Bash(curl:*)",
6
+ "Bash(python3:*)",
7
+ "Bash(cat:*)",
8
+ "Bash(go:*)",
9
+ "Bash(yarn:*)",
10
+ "Bash(pnpm:*)",
11
+ "Bash(npm:*)",
12
+ "Bash(wc:*)",
13
+ "Bash(jq:*)",
14
+ "Bash(head:*)",
15
+ "Bash(cut:*)",
16
+ "Bash(time curl:*)",
17
+ "Bash(sleep:*)",
18
+ "Bash(git:*)",
19
+ "Bash(echo:*)",
20
+ "Bash(find:*)",
21
+ "Bash(grep:*)",
22
+ "Bash(rg:*)",
23
+ "Bash(test:*)",
24
+ "Bash(lsof:*)",
25
+ "Bash(tail:*)",
26
+ "Bash(bash:*)",
27
+ "Bash(chmod:*)",
28
+ "WebFetch(domain:docs.anthropic.com)",
29
+ "WebFetch(domain:dev.to)",
30
+ "WebFetch(domain:www.reddit.com)",
31
+ "WebFetch(domain:www.steveruiz.me)",
32
+ "WebFetch(domain:desktopcommander.com)",
33
+ "WebFetch(domain:gist.github.com)",
34
+ "WebFetch(domain:opencodedocs.com)",
35
+ "WebFetch(domain:zenn.dev)",
36
+ "WebFetch(domain:github.com)",
37
+ "WebFetch(domain:gist.githubusercontent.com)",
38
+ "Bash(./run.sh:*)",
39
+ "Bash(ls:*)"
40
+ ]
41
+ }
42
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "execution": {
3
+ "allowExtra": []
4
+ },
5
+ "notes": "Machine-local Codex overrides. This file is preserved on reinstall (mergeStrategy: skip)."
6
+ }
@@ -0,0 +1 @@
1
+ {"$schema":"https://opencode.ai/config.json","default_agent":"build","share":"disabled","compaction":{"auto":true,"prune":true,"reserved":10000},"watcher":{"ignore":[".git/**","node_modules/**",".cache/**",".claude/ukit/.ukit/**",".claude/ukit/permission-usage.json",".claude/ukit/permission-audit.log"]},"permission":{"doom_loop":"deny"},"command":{"ukit-route":{"description":"Internal shared UKit route.","agent":"build","template":"Run `node .claude/ukit/index/route-task.mjs \"<task>\" --adapter opencode`; reuse `.claude/ukit/skill-router-state.json`."},"ukit-context":{"description":"Internal UKit context.","agent":"build","template":"Run `node .claude/ukit/index/resolve-context.mjs \"<intent>\" [--target <file>]`."},"ukit-verify":{"description":"Internal UKit verify lane.","agent":"build","template":"Run `node .claude/ukit/index/verify-context.mjs \"<intent>\" [--target <file>]`."},"ukit-triage":{"description":"Internal UKit triage.","agent":"build","template":"Run `node .claude/ukit/index/triage.mjs \"<error>\"`."},"ukit-query":{"description":"Internal UKit query.","agent":"build","template":"Run `node .claude/ukit/index/query-index.mjs \"<error|symbol|path>\"`."},"ukit-index":{"description":"Internal UKit index.","agent":"build","template":"Run `node .claude/ukit/index/refresh-index.mjs` (fallback: `node .claude/ukit/index/build-index.mjs`)."}},"agent":{"build":{"description":"UKit coding agent; keep internal helpers hidden, users only need ukit install.","permission":{"edit":"allow","task":"allow","skill":"allow","bash":{"*":"ask","pwd":"allow","ls":"allow","ls *":"allow","find *":"allow","rg *":"allow","grep *":"allow","cat *":"allow","sed *":"allow","head *":"allow","tail *":"allow","wc *":"allow","git status":"allow","git status *":"allow","git diff":"allow","git diff *":"allow","git log":"allow","git log *":"allow","git show *":"allow","git grep *":"allow","git rev-parse *":"allow","node .claude/ukit/index/*":"allow","{{runtime.packageManager}} test":"allow","{{runtime.packageManager}} test *":"allow","{{runtime.packageManager}} lint":"allow","{{runtime.packageManager}} lint *":"allow","{{runtime.packageManager}} typecheck":"allow","{{runtime.packageManager}} typecheck *":"allow","{{runtime.packageManager}} build":"allow","{{runtime.packageManager}} build *":"allow","npm run test":"allow","npm run test *":"allow","npm run lint":"allow","npm run lint *":"allow","npm run typecheck":"allow","npm run typecheck *":"allow","npm run build":"allow","npm run build *":"allow","git commit":"ask","git commit *":"ask","git push":"ask","git push *":"ask","git clean":"deny","git clean *":"deny","git reset":"deny","git reset *":"deny","rm *":"deny"}}},"plan":{"permission":{"edit":"ask","bash":"ask"}}}}
@@ -0,0 +1,20 @@
1
+ # Bugfix SOP (Index-First)
2
+
3
+ ## Objective
4
+ Giảm thời gian fix bug bằng cách ưu tiên bằng chứng + index codebase trước khi đọc sâu docs/source.
5
+
6
+ ## Required Commands
7
+ - `node .claude/ukit/index/build-index.mjs`
8
+ - `node .claude/ukit/index/query-index.mjs "<error|symbol|path>"`
9
+ - `node .claude/ukit/index/triage.mjs "<error signature>"`
10
+
11
+ ## Decision Tree
12
+ 1. Có repro command rõ ràng -> chạy triage index.
13
+ 2. Lane fast: mở tối đa 1-3 suspect files, patch nhỏ, verify test mục tiêu.
14
+ 3. Fail 2 vòng 15 phút liên tiếp -> chuyển lane deep.
15
+ 4. Lane deep: instrumentation + root-cause tracing trước khi sửa.
16
+
17
+ ## Hard Rules
18
+ - Không sửa khi chưa có evidence (failing test / stack trace / logs).
19
+ - Không refactor lớn trong bug ticket.
20
+ - Verify tối thiểu: test fail ban đầu + test liên quan.
@@ -0,0 +1,12 @@
1
+ # BUG INDEX
2
+
3
+ Append-only recurring bug signatures.
4
+
5
+ ## Entry format
6
+ - Date:
7
+ - Signature:
8
+ - Repro command:
9
+ - Root cause:
10
+ - Files changed:
11
+ - Tests used:
12
+ - Commit/PR:
@@ -0,0 +1,7 @@
1
+ # Bug Metrics
2
+
3
+ Track weekly:
4
+ - MTTR P2/P3
5
+ - First-pass fix rate
6
+ - Avg files opened per simple bug
7
+ - Fast-lane usage rate
@@ -0,0 +1,13 @@
1
+ # Bug Intake Template
2
+
3
+ - Title:
4
+ - Priority: P0/P1/P2/P3
5
+ - Repro command:
6
+ - Expected vs Actual:
7
+ - Error signature:
8
+ - Stack trace excerpt:
9
+ - Index triage output (`node .claude/ukit/index/triage.mjs "..."`):
10
+ - Suspect files (top 3):
11
+ - Lane (fast/deep):
12
+ - Hypothesis:
13
+ - Verify commands: