@kindgi/cli 0.0.0-bootstrap.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (516) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +738 -1
  3. package/dist/build/apt.d.ts +16 -0
  4. package/dist/build/apt.d.ts.map +1 -0
  5. package/dist/build/apt.js +50 -0
  6. package/dist/build/apt.js.map +1 -0
  7. package/dist/build/bundle.d.ts +48 -0
  8. package/dist/build/bundle.d.ts.map +1 -0
  9. package/dist/build/bundle.js +125 -0
  10. package/dist/build/bundle.js.map +1 -0
  11. package/dist/build/containerfile.d.ts +27 -0
  12. package/dist/build/containerfile.d.ts.map +1 -0
  13. package/dist/build/containerfile.js +197 -0
  14. package/dist/build/containerfile.js.map +1 -0
  15. package/dist/build/context-files.d.ts +24 -0
  16. package/dist/build/context-files.d.ts.map +1 -0
  17. package/dist/build/context-files.js +99 -0
  18. package/dist/build/context-files.js.map +1 -0
  19. package/dist/build/defaults.d.ts +66 -0
  20. package/dist/build/defaults.d.ts.map +1 -0
  21. package/dist/build/defaults.js +597 -0
  22. package/dist/build/defaults.js.map +1 -0
  23. package/dist/build/envelope.d.ts +72 -0
  24. package/dist/build/envelope.d.ts.map +1 -0
  25. package/dist/build/envelope.js +76 -0
  26. package/dist/build/envelope.js.map +1 -0
  27. package/dist/build/host-install.d.ts +100 -0
  28. package/dist/build/host-install.d.ts.map +1 -0
  29. package/dist/build/host-install.js +443 -0
  30. package/dist/build/host-install.js.map +1 -0
  31. package/dist/build/image-config.d.ts +32 -0
  32. package/dist/build/image-config.d.ts.map +1 -0
  33. package/dist/build/image-config.js +129 -0
  34. package/dist/build/image-config.js.map +1 -0
  35. package/dist/build/integrity.d.ts +51 -0
  36. package/dist/build/integrity.d.ts.map +1 -0
  37. package/dist/build/integrity.js +75 -0
  38. package/dist/build/integrity.js.map +1 -0
  39. package/dist/build/node-image.d.ts +18 -0
  40. package/dist/build/node-image.d.ts.map +1 -0
  41. package/dist/build/node-image.js +46 -0
  42. package/dist/build/node-image.js.map +1 -0
  43. package/dist/build/pack-root.d.ts +69 -0
  44. package/dist/build/pack-root.d.ts.map +1 -0
  45. package/dist/build/pack-root.js +102 -0
  46. package/dist/build/pack-root.js.map +1 -0
  47. package/dist/build/poetry-requirements.d.ts +5 -0
  48. package/dist/build/poetry-requirements.d.ts.map +1 -0
  49. package/dist/build/poetry-requirements.js +8 -0
  50. package/dist/build/poetry-requirements.js.map +1 -0
  51. package/dist/build/python-image.d.ts +40 -0
  52. package/dist/build/python-image.d.ts.map +1 -0
  53. package/dist/build/python-image.js +197 -0
  54. package/dist/build/python-image.js.map +1 -0
  55. package/dist/build/runners.d.ts +259 -0
  56. package/dist/build/runners.d.ts.map +1 -0
  57. package/dist/build/runners.js +4 -0
  58. package/dist/build/runners.js.map +1 -0
  59. package/dist/build/version-specifier.d.ts +2 -0
  60. package/dist/build/version-specifier.d.ts.map +1 -0
  61. package/dist/build/version-specifier.js +70 -0
  62. package/dist/build/version-specifier.js.map +1 -0
  63. package/dist/cli-package.d.ts +15 -0
  64. package/dist/cli-package.d.ts.map +1 -0
  65. package/dist/cli-package.js +37 -0
  66. package/dist/cli-package.js.map +1 -0
  67. package/dist/cli.d.ts +3 -0
  68. package/dist/cli.d.ts.map +1 -0
  69. package/dist/cli.js +26 -0
  70. package/dist/cli.js.map +1 -0
  71. package/dist/commands/adapters.d.ts +3 -0
  72. package/dist/commands/adapters.d.ts.map +1 -0
  73. package/dist/commands/adapters.js +148 -0
  74. package/dist/commands/adapters.js.map +1 -0
  75. package/dist/commands/agents.d.ts +3 -0
  76. package/dist/commands/agents.d.ts.map +1 -0
  77. package/dist/commands/agents.js +82 -0
  78. package/dist/commands/agents.js.map +1 -0
  79. package/dist/commands/approvals.d.ts +3 -0
  80. package/dist/commands/approvals.d.ts.map +1 -0
  81. package/dist/commands/approvals.js +92 -0
  82. package/dist/commands/approvals.js.map +1 -0
  83. package/dist/commands/artifacts.d.ts +3 -0
  84. package/dist/commands/artifacts.d.ts.map +1 -0
  85. package/dist/commands/artifacts.js +87 -0
  86. package/dist/commands/artifacts.js.map +1 -0
  87. package/dist/commands/auth.d.ts +25 -0
  88. package/dist/commands/auth.d.ts.map +1 -0
  89. package/dist/commands/auth.js +283 -0
  90. package/dist/commands/auth.js.map +1 -0
  91. package/dist/commands/build.d.ts +46 -0
  92. package/dist/commands/build.d.ts.map +1 -0
  93. package/dist/commands/build.js +902 -0
  94. package/dist/commands/build.js.map +1 -0
  95. package/dist/commands/capabilities.d.ts +3 -0
  96. package/dist/commands/capabilities.d.ts.map +1 -0
  97. package/dist/commands/capabilities.js +38 -0
  98. package/dist/commands/capabilities.js.map +1 -0
  99. package/dist/commands/conversations.d.ts +3 -0
  100. package/dist/commands/conversations.d.ts.map +1 -0
  101. package/dist/commands/conversations.js +75 -0
  102. package/dist/commands/conversations.js.map +1 -0
  103. package/dist/commands/deploy.d.ts +7 -0
  104. package/dist/commands/deploy.d.ts.map +1 -0
  105. package/dist/commands/deploy.js +697 -0
  106. package/dist/commands/deploy.js.map +1 -0
  107. package/dist/commands/dev.d.ts +43 -0
  108. package/dist/commands/dev.d.ts.map +1 -0
  109. package/dist/commands/dev.js +1110 -0
  110. package/dist/commands/dev.js.map +1 -0
  111. package/dist/commands/env.d.ts +27 -0
  112. package/dist/commands/env.d.ts.map +1 -0
  113. package/dist/commands/env.js +816 -0
  114. package/dist/commands/env.js.map +1 -0
  115. package/dist/commands/feedback.d.ts +33 -0
  116. package/dist/commands/feedback.d.ts.map +1 -0
  117. package/dist/commands/feedback.js +374 -0
  118. package/dist/commands/feedback.js.map +1 -0
  119. package/dist/commands/flows.d.ts +3 -0
  120. package/dist/commands/flows.d.ts.map +1 -0
  121. package/dist/commands/flows.js +60 -0
  122. package/dist/commands/flows.js.map +1 -0
  123. package/dist/commands/guardrails.d.ts +3 -0
  124. package/dist/commands/guardrails.d.ts.map +1 -0
  125. package/dist/commands/guardrails.js +89 -0
  126. package/dist/commands/guardrails.js.map +1 -0
  127. package/dist/commands/health.d.ts +8 -0
  128. package/dist/commands/health.d.ts.map +1 -0
  129. package/dist/commands/health.js +40 -0
  130. package/dist/commands/health.js.map +1 -0
  131. package/dist/commands/helpers.d.ts +48 -0
  132. package/dist/commands/helpers.d.ts.map +1 -0
  133. package/dist/commands/helpers.js +110 -0
  134. package/dist/commands/helpers.js.map +1 -0
  135. package/dist/commands/index.d.ts +7 -0
  136. package/dist/commands/index.d.ts.map +1 -0
  137. package/dist/commands/index.js +90 -0
  138. package/dist/commands/index.js.map +1 -0
  139. package/dist/commands/init.d.ts +46 -0
  140. package/dist/commands/init.d.ts.map +1 -0
  141. package/dist/commands/init.js +454 -0
  142. package/dist/commands/init.js.map +1 -0
  143. package/dist/commands/key.d.ts +3 -0
  144. package/dist/commands/key.d.ts.map +1 -0
  145. package/dist/commands/key.js +322 -0
  146. package/dist/commands/key.js.map +1 -0
  147. package/dist/commands/mcp.d.ts +43 -0
  148. package/dist/commands/mcp.d.ts.map +1 -0
  149. package/dist/commands/mcp.js +433 -0
  150. package/dist/commands/mcp.js.map +1 -0
  151. package/dist/commands/memory.d.ts +3 -0
  152. package/dist/commands/memory.d.ts.map +1 -0
  153. package/dist/commands/memory.js +82 -0
  154. package/dist/commands/memory.js.map +1 -0
  155. package/dist/commands/observations.d.ts +3 -0
  156. package/dist/commands/observations.d.ts.map +1 -0
  157. package/dist/commands/observations.js +27 -0
  158. package/dist/commands/observations.js.map +1 -0
  159. package/dist/commands/proposals.d.ts +3 -0
  160. package/dist/commands/proposals.d.ts.map +1 -0
  161. package/dist/commands/proposals.js +116 -0
  162. package/dist/commands/proposals.js.map +1 -0
  163. package/dist/commands/provenance.d.ts +3 -0
  164. package/dist/commands/provenance.d.ts.map +1 -0
  165. package/dist/commands/provenance.js +53 -0
  166. package/dist/commands/provenance.js.map +1 -0
  167. package/dist/commands/providers.d.ts +3 -0
  168. package/dist/commands/providers.d.ts.map +1 -0
  169. package/dist/commands/providers.js +212 -0
  170. package/dist/commands/providers.js.map +1 -0
  171. package/dist/commands/reviewers.d.ts +3 -0
  172. package/dist/commands/reviewers.d.ts.map +1 -0
  173. package/dist/commands/reviewers.js +78 -0
  174. package/dist/commands/reviewers.js.map +1 -0
  175. package/dist/commands/runs.d.ts +3 -0
  176. package/dist/commands/runs.d.ts.map +1 -0
  177. package/dist/commands/runs.js +223 -0
  178. package/dist/commands/runs.js.map +1 -0
  179. package/dist/commands/secrets.d.ts +18 -0
  180. package/dist/commands/secrets.d.ts.map +1 -0
  181. package/dist/commands/secrets.js +702 -0
  182. package/dist/commands/secrets.js.map +1 -0
  183. package/dist/commands/skills.d.ts +64 -0
  184. package/dist/commands/skills.d.ts.map +1 -0
  185. package/dist/commands/skills.js +430 -0
  186. package/dist/commands/skills.js.map +1 -0
  187. package/dist/commands/test.d.ts +5 -0
  188. package/dist/commands/test.d.ts.map +1 -0
  189. package/dist/commands/test.js +181 -0
  190. package/dist/commands/test.js.map +1 -0
  191. package/dist/commands/tokens.d.ts +3 -0
  192. package/dist/commands/tokens.d.ts.map +1 -0
  193. package/dist/commands/tokens.js +33 -0
  194. package/dist/commands/tokens.js.map +1 -0
  195. package/dist/commands/tools.d.ts +3 -0
  196. package/dist/commands/tools.d.ts.map +1 -0
  197. package/dist/commands/tools.js +162 -0
  198. package/dist/commands/tools.js.map +1 -0
  199. package/dist/commands/types.d.ts +54 -0
  200. package/dist/commands/types.d.ts.map +1 -0
  201. package/dist/commands/types.js +4 -0
  202. package/dist/commands/types.js.map +1 -0
  203. package/dist/commands/unwired.d.ts +22 -0
  204. package/dist/commands/unwired.d.ts.map +1 -0
  205. package/dist/commands/unwired.js +52 -0
  206. package/dist/commands/unwired.js.map +1 -0
  207. package/dist/commands/version.d.ts +8 -0
  208. package/dist/commands/version.d.ts.map +1 -0
  209. package/dist/commands/version.js +41 -0
  210. package/dist/commands/version.js.map +1 -0
  211. package/dist/config.d.ts +42 -0
  212. package/dist/config.d.ts.map +1 -0
  213. package/dist/config.js +83 -0
  214. package/dist/config.js.map +1 -0
  215. package/dist/context.d.ts +162 -0
  216. package/dist/context.d.ts.map +1 -0
  217. package/dist/context.js +45 -0
  218. package/dist/context.js.map +1 -0
  219. package/dist/deploy/defaults.d.ts +14 -0
  220. package/dist/deploy/defaults.d.ts.map +1 -0
  221. package/dist/deploy/defaults.js +37 -0
  222. package/dist/deploy/defaults.js.map +1 -0
  223. package/dist/deploy/envelope-loader.d.ts +24 -0
  224. package/dist/deploy/envelope-loader.d.ts.map +1 -0
  225. package/dist/deploy/envelope-loader.js +141 -0
  226. package/dist/deploy/envelope-loader.js.map +1 -0
  227. package/dist/deploy/post.d.ts +48 -0
  228. package/dist/deploy/post.d.ts.map +1 -0
  229. package/dist/deploy/post.js +210 -0
  230. package/dist/deploy/post.js.map +1 -0
  231. package/dist/deploy/response.d.ts +42 -0
  232. package/dist/deploy/response.d.ts.map +1 -0
  233. package/dist/deploy/response.js +128 -0
  234. package/dist/deploy/response.js.map +1 -0
  235. package/dist/deploy/runners.d.ts +218 -0
  236. package/dist/deploy/runners.d.ts.map +1 -0
  237. package/dist/deploy/runners.js +4 -0
  238. package/dist/deploy/runners.js.map +1 -0
  239. package/dist/dev/bundler.d.ts +10 -0
  240. package/dist/dev/bundler.d.ts.map +1 -0
  241. package/dist/dev/bundler.js +235 -0
  242. package/dist/dev/bundler.js.map +1 -0
  243. package/dist/dev/defaults.d.ts +140 -0
  244. package/dist/dev/defaults.d.ts.map +1 -0
  245. package/dist/dev/defaults.js +709 -0
  246. package/dist/dev/defaults.js.map +1 -0
  247. package/dist/dev/dev-only-imports.d.ts +15 -0
  248. package/dist/dev/dev-only-imports.d.ts.map +1 -0
  249. package/dist/dev/dev-only-imports.js +57 -0
  250. package/dist/dev/dev-only-imports.js.map +1 -0
  251. package/dist/dev/docker-compose.dev.yml +68 -0
  252. package/dist/dev/index-child.d.ts +2 -0
  253. package/dist/dev/index-child.d.ts.map +1 -0
  254. package/dist/dev/index-child.js +53 -0
  255. package/dist/dev/index-child.js.map +1 -0
  256. package/dist/dev/pack-code.d.ts +36 -0
  257. package/dist/dev/pack-code.d.ts.map +1 -0
  258. package/dist/dev/pack-code.js +129 -0
  259. package/dist/dev/pack-code.js.map +1 -0
  260. package/dist/dev/pack-env.d.ts +13 -0
  261. package/dist/dev/pack-env.d.ts.map +1 -0
  262. package/dist/dev/pack-env.js +36 -0
  263. package/dist/dev/pack-env.js.map +1 -0
  264. package/dist/dev/pack-service.d.ts +40 -0
  265. package/dist/dev/pack-service.d.ts.map +1 -0
  266. package/dist/dev/pack-service.js +189 -0
  267. package/dist/dev/pack-service.js.map +1 -0
  268. package/dist/dev/paths.d.ts +22 -0
  269. package/dist/dev/paths.d.ts.map +1 -0
  270. package/dist/dev/paths.js +35 -0
  271. package/dist/dev/paths.js.map +1 -0
  272. package/dist/dev/postgres-container.d.ts +77 -0
  273. package/dist/dev/postgres-container.d.ts.map +1 -0
  274. package/dist/dev/postgres-container.js +346 -0
  275. package/dist/dev/postgres-container.js.map +1 -0
  276. package/dist/dev/python-builder.d.ts +16 -0
  277. package/dist/dev/python-builder.d.ts.map +1 -0
  278. package/dist/dev/python-builder.js +122 -0
  279. package/dist/dev/python-builder.js.map +1 -0
  280. package/dist/dev/register.d.ts +71 -0
  281. package/dist/dev/register.d.ts.map +1 -0
  282. package/dist/dev/register.js +54 -0
  283. package/dist/dev/register.js.map +1 -0
  284. package/dist/dev/runners.d.ts +312 -0
  285. package/dist/dev/runners.d.ts.map +1 -0
  286. package/dist/dev/runners.js +4 -0
  287. package/dist/dev/runners.js.map +1 -0
  288. package/dist/dev/runtime-container.d.ts +71 -0
  289. package/dist/dev/runtime-container.d.ts.map +1 -0
  290. package/dist/dev/runtime-container.js +173 -0
  291. package/dist/dev/runtime-container.js.map +1 -0
  292. package/dist/dev/runtime-env.d.ts +62 -0
  293. package/dist/dev/runtime-env.d.ts.map +1 -0
  294. package/dist/dev/runtime-env.js +100 -0
  295. package/dist/dev/runtime-env.js.map +1 -0
  296. package/dist/dev/runtime-image.d.ts +26 -0
  297. package/dist/dev/runtime-image.d.ts.map +1 -0
  298. package/dist/dev/runtime-image.js +44 -0
  299. package/dist/dev/runtime-image.js.map +1 -0
  300. package/dist/dev/runtime-registry.d.ts +73 -0
  301. package/dist/dev/runtime-registry.d.ts.map +1 -0
  302. package/dist/dev/runtime-registry.js +111 -0
  303. package/dist/dev/runtime-registry.js.map +1 -0
  304. package/dist/env/defaults.d.ts +3 -0
  305. package/dist/env/defaults.d.ts.map +1 -0
  306. package/dist/env/defaults.js +22 -0
  307. package/dist/env/defaults.js.map +1 -0
  308. package/dist/env/pack-env-plan.d.ts +70 -0
  309. package/dist/env/pack-env-plan.d.ts.map +1 -0
  310. package/dist/env/pack-env-plan.js +236 -0
  311. package/dist/env/pack-env-plan.js.map +1 -0
  312. package/dist/env/parser.d.ts +9 -0
  313. package/dist/env/parser.d.ts.map +1 -0
  314. package/dist/env/parser.js +11 -0
  315. package/dist/env/parser.js.map +1 -0
  316. package/dist/env/project-env.d.ts +34 -0
  317. package/dist/env/project-env.d.ts.map +1 -0
  318. package/dist/env/project-env.js +45 -0
  319. package/dist/env/project-env.js.map +1 -0
  320. package/dist/env/runners.d.ts +22 -0
  321. package/dist/env/runners.d.ts.map +1 -0
  322. package/dist/env/runners.js +4 -0
  323. package/dist/env/runners.js.map +1 -0
  324. package/dist/env/writer.d.ts +7 -0
  325. package/dist/env/writer.d.ts.map +1 -0
  326. package/dist/env/writer.js +9 -0
  327. package/dist/env/writer.js.map +1 -0
  328. package/dist/errors.d.ts +31 -0
  329. package/dist/errors.d.ts.map +1 -0
  330. package/dist/errors.js +111 -0
  331. package/dist/errors.js.map +1 -0
  332. package/dist/help.d.ts +5 -0
  333. package/dist/help.d.ts.map +1 -0
  334. package/dist/help.js +61 -0
  335. package/dist/help.js.map +1 -0
  336. package/dist/index.d.ts +13 -0
  337. package/dist/index.d.ts.map +1 -0
  338. package/dist/index.js +13 -0
  339. package/dist/index.js.map +1 -0
  340. package/dist/init/augment-scaffolder.d.ts +86 -0
  341. package/dist/init/augment-scaffolder.d.ts.map +1 -0
  342. package/dist/init/augment-scaffolder.js +538 -0
  343. package/dist/init/augment-scaffolder.js.map +1 -0
  344. package/dist/init/dependency-specs.d.ts +58 -0
  345. package/dist/init/dependency-specs.d.ts.map +1 -0
  346. package/dist/init/dependency-specs.js +153 -0
  347. package/dist/init/dependency-specs.js.map +1 -0
  348. package/dist/init/gitignore-patcher.d.ts +23 -0
  349. package/dist/init/gitignore-patcher.d.ts.map +1 -0
  350. package/dist/init/gitignore-patcher.js +103 -0
  351. package/dist/init/gitignore-patcher.js.map +1 -0
  352. package/dist/init/mode-detect.d.ts +34 -0
  353. package/dist/init/mode-detect.d.ts.map +1 -0
  354. package/dist/init/mode-detect.js +115 -0
  355. package/dist/init/mode-detect.js.map +1 -0
  356. package/dist/init/package-json-patcher.d.ts +36 -0
  357. package/dist/init/package-json-patcher.d.ts.map +1 -0
  358. package/dist/init/package-json-patcher.js +128 -0
  359. package/dist/init/package-json-patcher.js.map +1 -0
  360. package/dist/init/pnpm-workspace-patcher.d.ts +55 -0
  361. package/dist/init/pnpm-workspace-patcher.d.ts.map +1 -0
  362. package/dist/init/pnpm-workspace-patcher.js +248 -0
  363. package/dist/init/pnpm-workspace-patcher.js.map +1 -0
  364. package/dist/init/pyproject-patcher.d.ts +56 -0
  365. package/dist/init/pyproject-patcher.d.ts.map +1 -0
  366. package/dist/init/pyproject-patcher.js +324 -0
  367. package/dist/init/pyproject-patcher.js.map +1 -0
  368. package/dist/init/python-augment.d.ts +22 -0
  369. package/dist/init/python-augment.d.ts.map +1 -0
  370. package/dist/init/python-augment.js +300 -0
  371. package/dist/init/python-augment.js.map +1 -0
  372. package/dist/init/template-files.d.ts +18 -0
  373. package/dist/init/template-files.d.ts.map +1 -0
  374. package/dist/init/template-files.js +53 -0
  375. package/dist/init/template-files.js.map +1 -0
  376. package/dist/key/defaults.d.ts +3 -0
  377. package/dist/key/defaults.d.ts.map +1 -0
  378. package/dist/key/defaults.js +60 -0
  379. package/dist/key/defaults.js.map +1 -0
  380. package/dist/key/fingerprint.d.ts +6 -0
  381. package/dist/key/fingerprint.d.ts.map +1 -0
  382. package/dist/key/fingerprint.js +25 -0
  383. package/dist/key/fingerprint.js.map +1 -0
  384. package/dist/key/paths.d.ts +30 -0
  385. package/dist/key/paths.d.ts.map +1 -0
  386. package/dist/key/paths.js +51 -0
  387. package/dist/key/paths.js.map +1 -0
  388. package/dist/key/runners.d.ts +60 -0
  389. package/dist/key/runners.d.ts.map +1 -0
  390. package/dist/key/runners.js +4 -0
  391. package/dist/key/runners.js.map +1 -0
  392. package/dist/main.d.ts +113 -0
  393. package/dist/main.d.ts.map +1 -0
  394. package/dist/main.js +199 -0
  395. package/dist/main.js.map +1 -0
  396. package/dist/mcp/launcher.d.ts +143 -0
  397. package/dist/mcp/launcher.d.ts.map +1 -0
  398. package/dist/mcp/launcher.js +393 -0
  399. package/dist/mcp/launcher.js.map +1 -0
  400. package/dist/mcp/preset-loader.d.ts +29 -0
  401. package/dist/mcp/preset-loader.d.ts.map +1 -0
  402. package/dist/mcp/preset-loader.js +217 -0
  403. package/dist/mcp/preset-loader.js.map +1 -0
  404. package/dist/mcp/preset-types.d.ts +71 -0
  405. package/dist/mcp/preset-types.d.ts.map +1 -0
  406. package/dist/mcp/preset-types.js +4 -0
  407. package/dist/mcp/preset-types.js.map +1 -0
  408. package/dist/mcp/presets/README.md +68 -0
  409. package/dist/mcp/presets/postgres.json +15 -0
  410. package/dist/output.d.ts +26 -0
  411. package/dist/output.d.ts.map +1 -0
  412. package/dist/output.js +46 -0
  413. package/dist/output.js.map +1 -0
  414. package/dist/pack-config.d.ts +37 -0
  415. package/dist/pack-config.d.ts.map +1 -0
  416. package/dist/pack-config.js +65 -0
  417. package/dist/pack-config.js.map +1 -0
  418. package/dist/package-manager.d.ts +33 -0
  419. package/dist/package-manager.d.ts.map +1 -0
  420. package/dist/package-manager.js +129 -0
  421. package/dist/package-manager.js.map +1 -0
  422. package/dist/parse.d.ts +88 -0
  423. package/dist/parse.d.ts.map +1 -0
  424. package/dist/parse.js +100 -0
  425. package/dist/parse.js.map +1 -0
  426. package/dist/providers/preset-loader.d.ts +47 -0
  427. package/dist/providers/preset-loader.d.ts.map +1 -0
  428. package/dist/providers/preset-loader.js +107 -0
  429. package/dist/providers/preset-loader.js.map +1 -0
  430. package/dist/providers/presets/anthropic.json +47 -0
  431. package/dist/providers/presets/gemini.json +40 -0
  432. package/dist/reference.d.ts +28 -0
  433. package/dist/reference.d.ts.map +1 -0
  434. package/dist/reference.js +52 -0
  435. package/dist/reference.js.map +1 -0
  436. package/dist/sdk-package.d.ts +9 -0
  437. package/dist/sdk-package.d.ts.map +1 -0
  438. package/dist/sdk-package.js +20 -0
  439. package/dist/sdk-package.js.map +1 -0
  440. package/dist/sdk-skills/kindgi-authoring-agents/SKILL.md +252 -0
  441. package/dist/sdk-skills/kindgi-authoring-flows/SKILL.md +302 -0
  442. package/dist/sdk-skills/kindgi-authoring-guardrails/SKILL.md +297 -0
  443. package/dist/sdk-skills/kindgi-authoring-mcp-servers/SKILL.md +289 -0
  444. package/dist/sdk-skills/kindgi-authoring-providers/SKILL.md +705 -0
  445. package/dist/sdk-skills/kindgi-authoring-tools/SKILL.md +298 -0
  446. package/dist/sdk-skills/kindgi-framework-feedback/SKILL.md +211 -0
  447. package/dist/sdk-skills/kindgi-getting-started/SKILL.md +189 -0
  448. package/dist/sdk-skills/kindgi-python-authoring-agents/SKILL.md +205 -0
  449. package/dist/sdk-skills/kindgi-python-authoring-flows/SKILL.md +325 -0
  450. package/dist/sdk-skills/kindgi-python-authoring-guardrails/SKILL.md +176 -0
  451. package/dist/sdk-skills/kindgi-python-authoring-tools/SKILL.md +305 -0
  452. package/dist/sdk-skills/kindgi-python-getting-started/SKILL.md +242 -0
  453. package/dist/stop-signal.d.ts +15 -0
  454. package/dist/stop-signal.d.ts.map +1 -0
  455. package/dist/stop-signal.js +16 -0
  456. package/dist/stop-signal.js.map +1 -0
  457. package/dist/templates/minimal/.nvmrc +1 -0
  458. package/dist/templates/minimal/AGENTS.md +23 -0
  459. package/dist/templates/minimal/README.md.tmpl +69 -0
  460. package/dist/templates/minimal/agents/.gitkeep +0 -0
  461. package/dist/templates/minimal/flows/.gitkeep +0 -0
  462. package/dist/templates/minimal/gitignore +8 -0
  463. package/dist/templates/minimal/guardrails/.gitkeep +0 -0
  464. package/dist/templates/minimal/kindgi.config.ts.tmpl +44 -0
  465. package/dist/templates/minimal/package.json.tmpl +25 -0
  466. package/dist/templates/minimal/pnpm-workspace.yaml +8 -0
  467. package/dist/templates/minimal/tools/.gitkeep +0 -0
  468. package/dist/templates/minimal/tsconfig.json.tmpl +27 -0
  469. package/dist/templates/minimal/vitest.config.ts.tmpl +14 -0
  470. package/dist/templates/python/AGENTS.md +30 -0
  471. package/dist/templates/python/README.md.tmpl +56 -0
  472. package/dist/templates/python/agents/echo_agent.py.tmpl +23 -0
  473. package/dist/templates/python/flows/echo_flow.py.tmpl +17 -0
  474. package/dist/templates/python/gitignore +9 -0
  475. package/dist/templates/python/guardrails/response_not_empty.py.tmpl +27 -0
  476. package/dist/templates/python/pyproject.toml.tmpl +42 -0
  477. package/dist/templates/python/tests/test_tools.py.tmpl +22 -0
  478. package/dist/templates/python/tools/echo.py.tmpl +27 -0
  479. package/dist/templates/python/tools/greet.py.tmpl +20 -0
  480. package/dist/templates/sample/.nvmrc +1 -0
  481. package/dist/templates/sample/AGENTS.md +23 -0
  482. package/dist/templates/sample/README.md.tmpl +85 -0
  483. package/dist/templates/sample/agents/echo-agent/index.ts.tmpl +34 -0
  484. package/dist/templates/sample/flows/echo-flow/index.ts.tmpl +59 -0
  485. package/dist/templates/sample/gitignore +8 -0
  486. package/dist/templates/sample/guardrails/response-not-empty/index.ts.tmpl +58 -0
  487. package/dist/templates/sample/kindgi.config.ts.tmpl +41 -0
  488. package/dist/templates/sample/package.json.tmpl +25 -0
  489. package/dist/templates/sample/pnpm-workspace.yaml +8 -0
  490. package/dist/templates/sample/tools/echo/index.test.ts.tmpl +31 -0
  491. package/dist/templates/sample/tools/echo/index.ts.tmpl +37 -0
  492. package/dist/templates/sample/tools/fetch-httpbin/index.ts.tmpl +60 -0
  493. package/dist/templates/sample/tools/greet/index.ts.tmpl +35 -0
  494. package/dist/templates/sample/tsconfig.json.tmpl +27 -0
  495. package/dist/templates/sample/vitest.config.ts.tmpl +14 -0
  496. package/dist/terminal-input.d.ts +17 -0
  497. package/dist/terminal-input.d.ts.map +1 -0
  498. package/dist/terminal-input.js +88 -0
  499. package/dist/terminal-input.js.map +1 -0
  500. package/dist/test/defaults.d.ts +3 -0
  501. package/dist/test/defaults.d.ts.map +1 -0
  502. package/dist/test/defaults.js +104 -0
  503. package/dist/test/defaults.js.map +1 -0
  504. package/dist/test/runners.d.ts +60 -0
  505. package/dist/test/runners.d.ts.map +1 -0
  506. package/dist/test/runners.js +4 -0
  507. package/dist/test/runners.js.map +1 -0
  508. package/dist/version-info.d.ts +9 -0
  509. package/dist/version-info.d.ts.map +1 -0
  510. package/dist/version-info.js +27 -0
  511. package/dist/version-info.js.map +1 -0
  512. package/dist/write-fully.d.ts +13 -0
  513. package/dist/write-fully.d.ts.map +1 -0
  514. package/dist/write-fully.js +17 -0
  515. package/dist/write-fully.js.map +1 -0
  516. package/package.json +63 -4
@@ -0,0 +1,538 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ // Copyright (C) 2026 Kindgi Inc.
3
+ /**
4
+ * Augment-mode scaffolder — writes Kindgi files ALONGSIDE an existing
5
+ * Node.js project. Called from `runInit` when `detectInitMode` returns
6
+ * `mode: 'augment'`.
7
+ *
8
+ * What augment mode writes:
9
+ * - `kindgi.config.ts` at project root — `kindgi.config.mts` when the
10
+ * app is CommonJS (no `"type": "module"`), plus a one-line
11
+ * `kindgi/package.json` marking `kindgi/` as ES modules, so Node
12
+ * never reparses Kindgi's files with a warning (pack id derived from
13
+ * `package.json` `name`, discovery paths point at `kindgi/**`)
14
+ * - `kindgi/agents/.gitkeep`
15
+ * - `kindgi/tools/.gitkeep`
16
+ * - `kindgi/guardrails/.gitkeep`
17
+ * - `kindgi/flows/.gitkeep`
18
+ * - `.claude/skills/kindgi-<name>/SKILL.md` for each shipped skill —
19
+ * merge-not-overwrite: skips files that already exist so user
20
+ * customizations survive
21
+ * - `package.json`: `@kindgi/sdk` (dependency) + `@kindgi/cli`
22
+ * (devDependency), specs from `resolveKindgiDependencySpecs` — the
23
+ * project runs its own pinned `kindgi` — and `zod` (dependency, the
24
+ * fresh templates' range), which every primitive's schemas use. An
25
+ * app's own `zod` is kept; one before zod 4 is reported.
26
+ * - `.gitignore`: Kindgi's local-state patterns
27
+ * - in a pnpm app, `pnpm-workspace.yaml` (the workspace root's, or a new
28
+ * one): a decision for esbuild's install script, `allowBuilds.esbuild:
29
+ * false` (esbuild works without it), without which pnpm 11+ refuses to
30
+ * install `@kindgi/cli` (`pnpm-workspace-patcher.ts`)
31
+ *
32
+ * What augment mode does NOT write:
33
+ * - env files — `kindgi dev` reads the project's own `.env` /
34
+ * `.env.local`; nothing needs creating
35
+ * - `tsconfig.json`, `vitest.config.ts`, `.nvmrc`, `AGENTS.md`,
36
+ * `README.md` — the surrounding repo owns these; we don't touch them
37
+ *
38
+ * @related packages/cli/src/init/mode-detect.ts (the branch)
39
+ * @related packages/cli/src/commands/init.ts (the caller)
40
+ */
41
+ import { mkdir, readFile, stat, writeFile } from 'node:fs/promises';
42
+ import { dirname, join } from 'node:path';
43
+ import { KINDGI_CONFIG_FILENAMES } from '@kindgi/handler-runtime';
44
+ import semver from 'semver';
45
+ import { PACK_ID_REGEX } from '../commands/init.js';
46
+ import { syncSkills } from '../commands/skills.js';
47
+ import { renderJson } from '../output.js';
48
+ import { binDisplay, detectPackageManager, installCommand, } from '../package-manager.js';
49
+ import { resolveKindgiDependencySpecs } from './dependency-specs.js';
50
+ import { patchGitignore, patchPrettierignore } from './gitignore-patcher.js';
51
+ import { patchPackageJson } from './package-json-patcher.js';
52
+ import { ESBUILD, ESBUILD_DECISION, patchPnpmWorkspace, pnpmWorkspaceFileFor, } from './pnpm-workspace-patcher.js';
53
+ import { collectTemplateFiles, substitute, templateTarget, } from './template-files.js';
54
+ const DEFAULT_PACK_ID_FALLBACK = 'kindgi-pack';
55
+ const DEFAULT_PACK_VERSION_FALLBACK = '0.1.0';
56
+ const AUGMENT_SUBDIRS = ['agents', 'tools', 'guardrails', 'flows'];
57
+ /**
58
+ * Derive a `PACK_ID_REGEX`-valid id from a `package.json` name. Rules:
59
+ * - `my-app` -> `my-app`
60
+ * - `@acme/legal` -> `acme.legal`
61
+ * - `@ACME/Legal` -> `acme.legal` (lowercased)
62
+ * - `my_app` -> error (underscores not allowed; explicit override required)
63
+ * - `x` (single char, valid) -> `x`
64
+ */
65
+ export function derivePackId(name) {
66
+ if (name === '') {
67
+ return {
68
+ kind: 'err',
69
+ message: 'package.json name is empty. Pass `--pack-id=<id>` explicitly.',
70
+ };
71
+ }
72
+ const lower = name.toLowerCase();
73
+ // Scoped: `@scope/pkg` → `scope.pkg`
74
+ const scopedMatch = lower.match(/^@([^/]+)\/(.+)$/);
75
+ const candidate = scopedMatch !== null ? `${scopedMatch[1]}.${scopedMatch[2]}` : lower;
76
+ if (!PACK_ID_REGEX.test(candidate)) {
77
+ return {
78
+ kind: 'err',
79
+ message: `Cannot derive a valid pack id from package.json name "${name}" (candidate: "${candidate}").\nPack ids must match ${PACK_ID_REGEX.source} — lowercase kebab, optionally dot-namespaced.\nPass \`--pack-id=<id>\` to override, e.g. \`--pack-id=my-pack\`.\n`,
80
+ };
81
+ }
82
+ return { kind: 'ok', id: candidate };
83
+ }
84
+ /**
85
+ * Render the augment-mode `kindgi.config.ts` file. Compact — no
86
+ * `environments` block (user fills that in when ready to deploy;
87
+ * `kindgi dev` doesn't need it).
88
+ */
89
+ export function renderAugmentConfig(inputs) {
90
+ return `// Kindgi pack config — added by \`kindgi init\` (augment mode).
91
+ // The pack lives alongside your existing code; discovery paths below
92
+ // scope Kindgi to \`kindgi/**\` so authoring stays isolated from the
93
+ // surrounding app's code.
94
+
95
+ const config = {
96
+ pack: {
97
+ id: '${inputs.packId}',
98
+ version: '${inputs.packVersion}',
99
+ description: 'Kindgi pack embedded in ${inputs.packName}.',
100
+ },
101
+ discovery: {
102
+ tools: 'kindgi/tools/**/*.ts',
103
+ guardrails: 'kindgi/guardrails/**/*.ts',
104
+ agents: 'kindgi/agents/**/*.ts',
105
+ flows: 'kindgi/flows/**/*.ts',
106
+ },
107
+ // ---------------------------------------------------------------
108
+ // Environments — fill in when you're ready to push a build off the
109
+ // laptop. See the minimal template's kindgi.config.ts for the full
110
+ // shape (endpoint / build / registry / signingKey / tenantId per
111
+ // environment). Local \`kindgi dev\` doesn't read this block.
112
+ // ---------------------------------------------------------------
113
+ environments: {},
114
+ } as const;
115
+
116
+ export default config;
117
+ `;
118
+ }
119
+ const defaultIO = {
120
+ readFile: (path) => readFile(path, 'utf8'),
121
+ writeFile: async (path, contents) => {
122
+ await mkdir(dirname(path), { recursive: true });
123
+ await writeFile(path, contents, 'utf8');
124
+ },
125
+ mkdir: (path) => mkdir(path, { recursive: true }).then(() => undefined),
126
+ fileExists: async (path) => {
127
+ try {
128
+ const s = await stat(path);
129
+ return s.isFile();
130
+ }
131
+ catch {
132
+ return false;
133
+ }
134
+ },
135
+ listDir: async (path) => {
136
+ const { readdir } = await import('node:fs/promises');
137
+ try {
138
+ return await readdir(path);
139
+ }
140
+ catch {
141
+ return [];
142
+ }
143
+ },
144
+ };
145
+ export async function runInitAugment(inputs) {
146
+ const io = { ...defaultIO, ...inputs.ioOverrides };
147
+ const pkgJsonPath = join(inputs.targetDir, 'package.json');
148
+ const readResult = await readSourcePackageJson(io, pkgJsonPath);
149
+ if (readResult.kind === 'err') {
150
+ return { kind: 'error', stderr: readResult.stderr, exitCode: 1 };
151
+ }
152
+ const pkgJson = readResult.pkg;
153
+ const rawName = typeof pkgJson.name === 'string' ? pkgJson.name : '';
154
+ const packName = rawName === '' ? DEFAULT_PACK_ID_FALLBACK : rawName;
155
+ const packVersion = typeof pkgJson.version === 'string' && pkgJson.version !== ''
156
+ ? pkgJson.version
157
+ : DEFAULT_PACK_VERSION_FALLBACK;
158
+ const packIdResult = resolvePackId(rawName, inputs.packIdOverride);
159
+ if (packIdResult.kind === 'err') {
160
+ return { kind: 'error', stderr: packIdResult.stderr, exitCode: 1 };
161
+ }
162
+ const packId = packIdResult.id;
163
+ const existing = await findExistingConfig(io, inputs.targetDir);
164
+ if (existing !== undefined && !inputs.force) {
165
+ return {
166
+ kind: 'error',
167
+ stderr: `${existing} already exists.\nRe-run with --force to overwrite the pack config (skills are always merged, not overwritten, unless --force is also set).\n`,
168
+ exitCode: 1,
169
+ };
170
+ }
171
+ // A CommonJS app (no `"type": "module"`) would make Node reparse a
172
+ // `.ts` config / primitive as ESM with a warning on every run.
173
+ const esmApp = pkgJson.type === 'module';
174
+ const configPath = existing ?? join(inputs.targetDir, esmApp ? 'kindgi.config.ts' : 'kindgi.config.mts');
175
+ // Resolve how the project will depend on Kindgi BEFORE writing
176
+ // anything, so a failure leaves the repo untouched.
177
+ const deps = await resolveProjectDeps(inputs);
178
+ if (deps.kind === 'err')
179
+ return { kind: 'error', stderr: deps.stderr, exitCode: 1 };
180
+ const filesWritten = await writeAugmentFiles({
181
+ io,
182
+ targetDir: inputs.targetDir,
183
+ configPath,
184
+ packId,
185
+ packVersion,
186
+ packName,
187
+ skillsRoot: inputs.skillsRoot,
188
+ force: inputs.force,
189
+ esmApp,
190
+ });
191
+ const created = [...filesWritten.created];
192
+ const skipped = [...filesWritten.skipped];
193
+ const sample = inputs.template === 'sample' && inputs.templatesRoot !== undefined;
194
+ if (sample) {
195
+ const primitives = await writeSamplePrimitives({
196
+ io,
197
+ sampleDir: join(inputs.templatesRoot, 'sample'),
198
+ targetDir: inputs.targetDir,
199
+ substitutions: { PACK_NAME: packName, PACK_ID: packId, PACK_VERSION: packVersion },
200
+ force: inputs.force,
201
+ });
202
+ created.push(...primitives.created);
203
+ skipped.push(...primitives.skipped);
204
+ }
205
+ const patchResult = await applyAugmentPatches({
206
+ targetDir: inputs.targetDir,
207
+ pkgJsonPath,
208
+ specs: deps.specs,
209
+ packageManager: deps.packageManager,
210
+ // Every primitive's schemas are Zod. An app with Zod keeps its own.
211
+ extraDependencies: [ZOD_DEPENDENCY],
212
+ });
213
+ if (patchResult.kind === 'err') {
214
+ return { kind: 'error', stderr: patchResult.stderr, exitCode: 1 };
215
+ }
216
+ created.push(...patchResult.created);
217
+ skipped.push(...patchResult.skipped);
218
+ const warnings = [...zodWarnings(pkgJson), ...patchResult.warnings];
219
+ const nextSteps = augmentNextSteps(deps.packageManager, sample ? packId : undefined);
220
+ const summary = {
221
+ kind: 'augment',
222
+ targetDir: inputs.targetDir,
223
+ packId,
224
+ packVersion,
225
+ packageManager: deps.packageManager,
226
+ dependencies: deps.specs,
227
+ created,
228
+ skipped,
229
+ warnings,
230
+ nextSteps,
231
+ };
232
+ const rendered = renderJson(summary, 'json');
233
+ return {
234
+ kind: 'ok',
235
+ rendered: {
236
+ stdout: rendered.stdout,
237
+ stderr: [
238
+ '',
239
+ ` Kindgi added to ${inputs.targetDir} (augment mode).`,
240
+ ` Pack id: ${packId} Version: ${packVersion}`,
241
+ ` Wrote ${created.length} file${created.length === 1 ? '' : 's'}; skipped ${skipped.length}.`,
242
+ ...warnings.map((warning) => ` ⚠ ${warning}`),
243
+ '',
244
+ ' Next steps:',
245
+ ...nextSteps.map((step) => ` ${step}`),
246
+ '',
247
+ '',
248
+ ].join('\n'),
249
+ },
250
+ };
251
+ }
252
+ // ---------------------------------------------------------------------
253
+ // Extracted helpers — keep runInitAugment under the complexity ceiling.
254
+ // ---------------------------------------------------------------------
255
+ /** The first `kindgi.config.*` already at the root, if any. */
256
+ async function findExistingConfig(io, targetDir) {
257
+ for (const name of KINDGI_CONFIG_FILENAMES) {
258
+ const path = join(targetDir, name);
259
+ if (await io.fileExists(path))
260
+ return path;
261
+ }
262
+ return undefined;
263
+ }
264
+ async function resolveProjectDeps(inputs) {
265
+ const packageManager = inputs.packageManager ?? (await detectPackageManager(inputs.targetDir));
266
+ if (inputs.dependencySpecs !== undefined) {
267
+ return { kind: 'ok', packageManager, specs: inputs.dependencySpecs };
268
+ }
269
+ const resolved = await resolveKindgiDependencySpecs({
270
+ targetDir: inputs.targetDir,
271
+ packageManager,
272
+ ...(inputs.linkLocal === true && { forceLocal: true }),
273
+ });
274
+ if (resolved.kind === 'error')
275
+ return { kind: 'err', stderr: `${resolved.message}\n` };
276
+ return { kind: 'ok', packageManager, specs: resolved.specs };
277
+ }
278
+ /**
279
+ * What to run next — in the project's own package manager, with its own
280
+ * `kindgi`. With the sample's `packId`, how to try its agent too.
281
+ */
282
+ export function augmentNextSteps(pm, samplePackId) {
283
+ const setSecret = binDisplay(pm, 'kindgi', [
284
+ 'secrets',
285
+ 'set',
286
+ '<NAME>',
287
+ '--env=local',
288
+ '--scope=tenant',
289
+ ]);
290
+ return [
291
+ `Install: ${installCommand(pm)}`,
292
+ `Boot the dev server: ${binDisplay(pm, 'kindgi', ['dev'])}`,
293
+ `Secrets: kindgi dev reads your .env and .env.local — keys there are available, or run ${setSecret}`,
294
+ `Model provider: agents answer with the dev-echo fallback until you register one — e.g. ${binDisplay(pm, 'kindgi', ['providers', 'register', '--preset=anthropic'])} (ANTHROPIC_API_KEY in .env); more in .claude/skills/kindgi-authoring-providers/SKILL.md`,
295
+ ...(samplePackId === undefined
296
+ ? []
297
+ : [
298
+ `Try the sample agent: ${binDisplay(pm, 'kindgi', ['runs', 'start', `--agent=${samplePackId}.echo-agent`, `--input='{"userMessage":"hi"}'`])}`,
299
+ ]),
300
+ ];
301
+ }
302
+ /** The sample's primitive folders, as augment mode lays them out under `kindgi/`. */
303
+ const SAMPLE_PRIMITIVE_DIRS = ['agents', 'flows', 'guardrails', 'tools'];
304
+ /** Zod, at the fresh templates' range (their `package.json.tmpl`). */
305
+ export const ZOD_DEPENDENCY = { name: 'zod', spec: '^4.0.0', section: 'dependencies' };
306
+ const DEPENDENCY_SECTIONS = [
307
+ 'dependencies',
308
+ 'devDependencies',
309
+ 'peerDependencies',
310
+ 'optionalDependencies',
311
+ ];
312
+ /**
313
+ * The app's own Zod is kept; one whose range excludes zod 4 is reported,
314
+ * since Kindgi's schemas, examples and skills are zod 4. A spec that isn't
315
+ * a semver range (`catalog:`, `workspace:*`, a tag) is taken on trust.
316
+ */
317
+ export function zodWarnings(pkg) {
318
+ for (const section of DEPENDENCY_SECTIONS) {
319
+ const deps = pkg[section];
320
+ if (deps === null || typeof deps !== 'object')
321
+ continue;
322
+ const spec = deps[ZOD_DEPENDENCY.name];
323
+ if (typeof spec !== 'string')
324
+ continue;
325
+ if (semver.validRange(spec) === null || semver.intersects(spec, ZOD_DEPENDENCY.spec)) {
326
+ return [];
327
+ }
328
+ return [
329
+ `zod: the app has zod ${spec} (${section}), left as is. Kindgi's tools, examples and skills use zod 4 — upgrade to zod ${ZOD_DEPENDENCY.spec} before writing Kindgi primitives.`,
330
+ ];
331
+ }
332
+ return [];
333
+ }
334
+ /**
335
+ * Copy the sample pack's primitives into `kindgi/<kind>/`, rendered as a
336
+ * fresh sample pack renders them. The sample's tests stay out: the app
337
+ * has its own test setup. A file already there is kept unless `force`.
338
+ */
339
+ async function writeSamplePrimitives(args) {
340
+ const created = [];
341
+ const skipped = [];
342
+ for (const kind of SAMPLE_PRIMITIVE_DIRS) {
343
+ const files = await collectTemplateFiles(join(args.sampleDir, kind));
344
+ for (const rel of files.sort()) {
345
+ if (/\.test\.ts(\.tmpl)?$/.test(rel))
346
+ continue;
347
+ const dest = join(args.targetDir, 'kindgi', kind, templateTarget(rel));
348
+ if (!args.force && (await args.io.fileExists(dest))) {
349
+ skipped.push(dest);
350
+ continue;
351
+ }
352
+ const raw = await args.io.readFile(join(args.sampleDir, kind, rel));
353
+ await args.io.writeFile(dest, rel.endsWith('.tmpl') ? substitute(raw, args.substitutions) : raw);
354
+ created.push(dest);
355
+ }
356
+ }
357
+ return { created, skipped };
358
+ }
359
+ async function readSourcePackageJson(io, pkgJsonPath) {
360
+ let raw;
361
+ try {
362
+ raw = await io.readFile(pkgJsonPath);
363
+ }
364
+ catch (err) {
365
+ return { kind: 'err', stderr: `Failed to read ${pkgJsonPath}: ${err.message}\n` };
366
+ }
367
+ let parsed;
368
+ try {
369
+ parsed = JSON.parse(raw);
370
+ }
371
+ catch (err) {
372
+ return {
373
+ kind: 'err',
374
+ stderr: `Failed to parse ${pkgJsonPath}: ${err.message}\n`,
375
+ };
376
+ }
377
+ if (parsed === null || typeof parsed !== 'object' || Array.isArray(parsed)) {
378
+ return { kind: 'err', stderr: `${pkgJsonPath} is not a JSON object.\n` };
379
+ }
380
+ return { kind: 'ok', pkg: parsed };
381
+ }
382
+ function resolvePackId(rawName, override) {
383
+ if (override !== undefined && override !== '') {
384
+ if (!PACK_ID_REGEX.test(override)) {
385
+ return {
386
+ kind: 'err',
387
+ stderr: `Invalid --pack-id: ${override}. Must match ${PACK_ID_REGEX.source}.\n`,
388
+ };
389
+ }
390
+ return { kind: 'ok', id: override };
391
+ }
392
+ const derived = derivePackId(rawName);
393
+ if (derived.kind === 'err')
394
+ return { kind: 'err', stderr: derived.message };
395
+ return { kind: 'ok', id: derived.id };
396
+ }
397
+ /**
398
+ * Write the deterministic parts of the augment scaffold: config,
399
+ * subdirs, skills (merge/force respected). Returns the (created,
400
+ * skipped) split so the caller can still append patcher results.
401
+ */
402
+ async function writeAugmentFiles(args) {
403
+ const created = [];
404
+ const skipped = [];
405
+ // Config.
406
+ await args.io.writeFile(args.configPath, renderAugmentConfig({
407
+ packId: args.packId,
408
+ packVersion: args.packVersion,
409
+ packName: args.packName,
410
+ }));
411
+ created.push(args.configPath);
412
+ // Subdirs.
413
+ for (const sub of AUGMENT_SUBDIRS) {
414
+ const gitkeep = join(args.targetDir, 'kindgi', sub, '.gitkeep');
415
+ await args.io.writeFile(gitkeep, '');
416
+ created.push(gitkeep);
417
+ }
418
+ // In a CommonJS app, mark `kindgi/` as ES modules so primitives stay
419
+ // plain `.ts`. Never overwrite one the author already has.
420
+ if (!args.esmApp) {
421
+ const marker = join(args.targetDir, 'kindgi', 'package.json');
422
+ if (await args.io.fileExists(marker)) {
423
+ skipped.push(marker);
424
+ }
425
+ else {
426
+ await args.io.writeFile(marker, `${JSON.stringify({ type: 'module' }, null, 2)}\n`);
427
+ created.push(marker);
428
+ }
429
+ }
430
+ // Skills — through `kindgi skills sync`'s own path, so the manifest
431
+ // it keeps is written too (without it, `kindgi dev` reports every
432
+ // freshly installed skill as out of date). Local edits are kept
433
+ // unless --force.
434
+ if (args.skillsRoot !== undefined) {
435
+ const report = await syncSkills({
436
+ skillsRoot: args.skillsRoot,
437
+ targetDir: args.targetDir,
438
+ language: 'node',
439
+ force: args.force,
440
+ dryRun: false,
441
+ });
442
+ for (const o of report.outcomes) {
443
+ const target = join(args.targetDir, '.claude', 'skills', o.name, 'SKILL.md');
444
+ if (o.status === 'added' || o.status === 'updated')
445
+ created.push(target);
446
+ else if (o.status !== 'local-only')
447
+ skipped.push(target);
448
+ }
449
+ }
450
+ return { created, skipped };
451
+ }
452
+ /**
453
+ * Apply the file patchers (package.json, .gitignore, .prettierignore and,
454
+ * for pnpm, pnpm-workspace.yaml) and turn their outcomes into (created,
455
+ * skipped) rows and warnings for the summary. Extracted so
456
+ * `runInitAugment` stays under the complexity ceiling.
457
+ */
458
+ async function applyAugmentPatches(args) {
459
+ const created = [];
460
+ const skipped = [];
461
+ const warnings = [];
462
+ const patchPkg = await patchPackageJson(args.pkgJsonPath, args.specs, args.extraDependencies);
463
+ if (patchPkg.kind === 'error') {
464
+ return { kind: 'err', stderr: `Failed to patch ${args.pkgJsonPath}: ${patchPkg.message}\n` };
465
+ }
466
+ if (patchPkg.kind === 'patched') {
467
+ created.push(`${args.pkgJsonPath} (patched: +${patchPkg.added.join(', +')})`);
468
+ }
469
+ else {
470
+ skipped.push(`${args.pkgJsonPath} (dependencies already declared)`);
471
+ }
472
+ const gitignorePath = join(args.targetDir, '.gitignore');
473
+ const patchGit = await patchGitignore(gitignorePath);
474
+ if (patchGit.kind === 'error') {
475
+ return {
476
+ kind: 'err',
477
+ stderr: `Failed to patch ${gitignorePath}: ${patchGit.message ?? 'unknown error'}\n`,
478
+ };
479
+ }
480
+ if (patchGit.kind === 'patched') {
481
+ created.push(`${gitignorePath} (patched: +${patchGit.appended.join(', +')})`);
482
+ }
483
+ else {
484
+ skipped.push(`${gitignorePath} (Kindgi patterns already present)`);
485
+ }
486
+ // The app's formatter must not rewrite the Kindgi-managed skills.
487
+ const prettierignorePath = join(args.targetDir, '.prettierignore');
488
+ const patchPrettier = await patchPrettierignore(prettierignorePath);
489
+ if (patchPrettier.kind === 'error') {
490
+ return {
491
+ kind: 'err',
492
+ stderr: `Failed to patch ${prettierignorePath}: ${patchPrettier.message}\n`,
493
+ };
494
+ }
495
+ if (patchPrettier.kind === 'patched') {
496
+ created.push(`${prettierignorePath} (patched: +${patchPrettier.appended.join(', +')})`);
497
+ }
498
+ if (args.packageManager === 'pnpm') {
499
+ const workspace = await decideEsbuildInPnpm(args.targetDir);
500
+ if (workspace.kind === 'err')
501
+ return workspace;
502
+ created.push(...workspace.created);
503
+ skipped.push(...workspace.skipped);
504
+ warnings.push(...workspace.warnings);
505
+ }
506
+ return { kind: 'ok', created, skipped, warnings };
507
+ }
508
+ /**
509
+ * A decision for esbuild's install script (`allowBuilds.esbuild: false`) in
510
+ * the `pnpm-workspace.yaml` pnpm reads for the app, unless it has one.
511
+ */
512
+ async function decideEsbuildInPnpm(targetDir) {
513
+ const path = await pnpmWorkspaceFileFor(targetDir);
514
+ const setting = `allowBuilds.${ESBUILD}`;
515
+ const result = await patchPnpmWorkspace(path);
516
+ const rows = { created: [], skipped: [], warnings: [] };
517
+ switch (result.kind) {
518
+ case 'error':
519
+ return { kind: 'err', stderr: `Failed to patch ${path}: ${result.message}\n` };
520
+ case 'created':
521
+ rows.created.push(`${path} (created: ${setting}: ${ESBUILD_DECISION})`);
522
+ break;
523
+ case 'patched':
524
+ rows.created.push(result.change === 'placeholder'
525
+ ? `${path} (patched: ${setting} set to ${ESBUILD_DECISION}, replacing pnpm's placeholder)`
526
+ : `${path} (patched: +${setting}: ${ESBUILD_DECISION})`);
527
+ break;
528
+ case 'already-decided':
529
+ rows.skipped.push(`${path} (${setting} already ${result.value})`);
530
+ break;
531
+ case 'refused':
532
+ rows.skipped.push(`${path} (not edited: ${result.reason})`);
533
+ rows.warnings.push(`pnpm: couldn't add ${setting}: ${ESBUILD_DECISION} to ${path} (${result.reason}). Add it by hand: without a decision for esbuild's install script, pnpm 11+ stops \`pnpm install\` with ERR_PNPM_IGNORED_BUILDS.`);
534
+ break;
535
+ }
536
+ return { kind: 'ok', ...rows };
537
+ }
538
+ //# sourceMappingURL=augment-scaffolder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"augment-scaffolder.js","sourceRoot":"","sources":["../../src/init/augment-scaffolder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ import { type CliPackageInfo } from '../cli-package.js';
2
+ import { type PackageManager } from '../package-manager.js';
3
+ export type DependencySource = 'published' | 'workspace' | 'local-checkout';
4
+ export interface KindgiDependencySpecs {
5
+ readonly source: DependencySource;
6
+ readonly sdk: string;
7
+ readonly cli: string;
8
+ }
9
+ export interface ResolveDependencySpecsInput {
10
+ /** The project that will depend on Kindgi (must exist). */
11
+ readonly targetDir: string;
12
+ readonly packageManager: PackageManager;
13
+ /** `--link-local`: link the checkout even when the target is inside its workspace. */
14
+ readonly forceLocal?: boolean;
15
+ /** Test seams. */
16
+ readonly cli?: CliPackageInfo;
17
+ readonly sdkRoot?: string;
18
+ readonly realpath?: (path: string) => Promise<string>;
19
+ readonly exists?: (path: string) => Promise<boolean>;
20
+ }
21
+ export type ResolveDependencySpecsResult = {
22
+ readonly kind: 'ok';
23
+ readonly specs: KindgiDependencySpecs;
24
+ } | {
25
+ readonly kind: 'error';
26
+ readonly message: string;
27
+ };
28
+ export declare function resolveKindgiDependencySpecs(input: ResolveDependencySpecsInput): Promise<ResolveDependencySpecsResult>;
29
+ /**
30
+ * Where a Python pack's `kindgi` comes from: PyPI for a published CLI,
31
+ * within the CLI's own minor; for a CLI run from a Kindgi checkout, that
32
+ * checkout's Python SDK (`<kindgi-sdk>/sdks/python`, beside the
33
+ * `@kindgi/sdk` this CLI resolves), installed editable.
34
+ */
35
+ export type KindgiPythonSource = {
36
+ readonly kind: 'published';
37
+ /** The PEP 508 requirement to write, e.g. `kindgi>=0.1,<0.2`. */
38
+ readonly requirement: string;
39
+ } | {
40
+ readonly kind: 'local-checkout';
41
+ readonly path: string;
42
+ } | {
43
+ readonly kind: 'error';
44
+ readonly message: string;
45
+ };
46
+ /**
47
+ * The `kindgi` requirement a published CLI writes: the Python SDK within the
48
+ * CLI's minor (`0.x`) or major (from `1.0`). The Python SDK's minors follow
49
+ * the npm packages'; its patches needn't, so a CLI patch release with no
50
+ * Python release still resolves.
51
+ */
52
+ export declare function kindgiRequirement(cliVersion: string): string | undefined;
53
+ /** The requirement to write for `source`: the published range, or the bare name a uv source pins. */
54
+ export declare function kindgiRequirementFor(source: Exclude<KindgiPythonSource, {
55
+ kind: 'error';
56
+ }>): string;
57
+ export declare function resolveKindgiPythonSource(input?: Pick<ResolveDependencySpecsInput, 'cli' | 'sdkRoot' | 'realpath' | 'exists'>): Promise<KindgiPythonSource>;
58
+ //# sourceMappingURL=dependency-specs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency-specs.d.ts","sourceRoot":"","sources":["../../src/init/dependency-specs.ts"],"names":[],"mappings":"AA4BA,OAAO,EAAE,KAAK,cAAc,EAAqB,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,KAAK,cAAc,EAAqB,MAAM,uBAAuB,CAAC;AAG/E,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,WAAW,GAAG,gBAAgB,CAAC;AAE5E,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,2BAA2B;IAC1C,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,sFAAsF;IACtF,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,kBAAkB;IAClB,QAAQ,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACtD,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACtD;AAED,MAAM,MAAM,4BAA4B,GACpC;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAA;CAAE,GAC9D;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD,wBAAsB,4BAA4B,CAChD,KAAK,EAAE,2BAA2B,GACjC,OAAO,CAAC,4BAA4B,CAAC,CAoCvC;AAwCD;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAC1B;IACE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,iEAAiE;IACjE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQxE;AAED,qGAAqG;AACrG,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,OAAO,CAAC,kBAAkB,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,GACrD,MAAM,CAER;AAED,wBAAsB,yBAAyB,CAC7C,KAAK,GAAE,IAAI,CAAC,2BAA2B,EAAE,KAAK,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAM,GACvF,OAAO,CAAC,kBAAkB,CAAC,CAmC7B"}