minimal-agent 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (317) hide show
  1. package/LICENSE +148 -0
  2. package/README.md +287 -0
  3. package/dist/main.js +4140 -0
  4. package/package.json +66 -0
  5. package/skills/algorithmic-art/LICENSE.txt +202 -0
  6. package/skills/algorithmic-art/SKILL.md +405 -0
  7. package/skills/algorithmic-art/templates/generator_template.js +223 -0
  8. package/skills/algorithmic-art/templates/viewer.html +599 -0
  9. package/skills/batch/SKILL.md +39 -0
  10. package/skills/canvas-design/LICENSE.txt +202 -0
  11. package/skills/canvas-design/SKILL.md +130 -0
  12. package/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +93 -0
  13. package/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  14. package/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  15. package/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt +93 -0
  16. package/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  17. package/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt +93 -0
  18. package/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  19. package/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  20. package/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  21. package/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  22. package/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  23. package/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  24. package/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +93 -0
  25. package/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  26. package/skills/canvas-design/canvas-fonts/DMMono-OFL.txt +93 -0
  27. package/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  28. package/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt +94 -0
  29. package/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  30. package/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  31. package/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt +93 -0
  32. package/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  33. package/skills/canvas-design/canvas-fonts/Gloock-OFL.txt +93 -0
  34. package/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  35. package/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  36. package/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
  37. package/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  38. package/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  39. package/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  40. package/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  41. package/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  42. package/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  43. package/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  44. package/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  45. package/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  46. package/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  47. package/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  48. package/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  49. package/skills/canvas-design/canvas-fonts/Italiana-OFL.txt +93 -0
  50. package/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  51. package/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  52. package/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  53. package/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  54. package/skills/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  55. package/skills/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  56. package/skills/canvas-design/canvas-fonts/Jura-OFL.txt +93 -0
  57. package/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
  58. package/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  59. package/skills/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  60. package/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  61. package/skills/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  62. package/skills/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
  63. package/skills/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  64. package/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  65. package/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt +93 -0
  66. package/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  67. package/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  68. package/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  69. package/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  70. package/skills/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
  71. package/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  72. package/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  73. package/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt +93 -0
  74. package/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt +93 -0
  75. package/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  76. package/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  77. package/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt +93 -0
  78. package/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  79. package/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt +93 -0
  80. package/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  81. package/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  82. package/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt +93 -0
  83. package/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  84. package/skills/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
  85. package/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  86. package/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  87. package/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  88. package/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  89. package/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt +93 -0
  90. package/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  91. package/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
  92. package/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  93. package/skills/commit/SKILL.md +46 -0
  94. package/skills/compact/SKILL.md +27 -0
  95. package/skills/config/SKILL.md +94 -0
  96. package/skills/diff/SKILL.md +30 -0
  97. package/skills/docx/LICENSE.txt +30 -0
  98. package/skills/docx/SKILL.md +660 -0
  99. package/skills/docx/scripts/__init__.py +1 -0
  100. package/skills/docx/scripts/accept_changes.py +135 -0
  101. package/skills/docx/scripts/comment.py +318 -0
  102. package/skills/docx/scripts/convert_to_docx.py +140 -0
  103. package/skills/docx/scripts/office/__init__.py +1 -0
  104. package/skills/docx/scripts/office/helpers/__init__.py +0 -0
  105. package/skills/docx/scripts/office/helpers/__pycache__/__init__.cpython-314.pyc +0 -0
  106. package/skills/docx/scripts/office/helpers/__pycache__/merge_runs.cpython-314.pyc +0 -0
  107. package/skills/docx/scripts/office/helpers/__pycache__/simplify_redlines.cpython-314.pyc +0 -0
  108. package/skills/docx/scripts/office/helpers/merge_runs.py +199 -0
  109. package/skills/docx/scripts/office/helpers/simplify_redlines.py +197 -0
  110. package/skills/docx/scripts/office/pack.py +159 -0
  111. package/skills/docx/scripts/office/schemas/__init__.py +1 -0
  112. package/skills/docx/scripts/office/soffice.py +183 -0
  113. package/skills/docx/scripts/office/unpack.py +132 -0
  114. package/skills/docx/scripts/office/validate.py +111 -0
  115. package/skills/docx/scripts/office/validators/__init__.py +15 -0
  116. package/skills/docx/scripts/office/validators/__pycache__/__init__.cpython-314.pyc +0 -0
  117. package/skills/docx/scripts/office/validators/__pycache__/base.cpython-314.pyc +0 -0
  118. package/skills/docx/scripts/office/validators/__pycache__/docx.cpython-314.pyc +0 -0
  119. package/skills/docx/scripts/office/validators/__pycache__/pptx.cpython-314.pyc +0 -0
  120. package/skills/docx/scripts/office/validators/__pycache__/redlining.cpython-314.pyc +0 -0
  121. package/skills/docx/scripts/office/validators/base.py +847 -0
  122. package/skills/docx/scripts/office/validators/docx.py +446 -0
  123. package/skills/docx/scripts/office/validators/pptx.py +275 -0
  124. package/skills/docx/scripts/office/validators/redlining.py +247 -0
  125. package/skills/docx/scripts/templates/comments.xml +3 -0
  126. package/skills/docx/scripts/templates/commentsExtended.xml +3 -0
  127. package/skills/docx/scripts/templates/commentsExtensible.xml +3 -0
  128. package/skills/docx/scripts/templates/commentsIds.xml +3 -0
  129. package/skills/docx/scripts/templates/people.xml +3 -0
  130. package/skills/frontend-design/LICENSE.txt +177 -0
  131. package/skills/frontend-design/SKILL.md +42 -0
  132. package/skills/init/SKILL.md +238 -0
  133. package/skills/init/evals/evals.json +28 -0
  134. package/skills/mcp-builder/LICENSE.txt +202 -0
  135. package/skills/mcp-builder/SKILL.md +236 -0
  136. package/skills/mcp-builder/reference/evaluation.md +602 -0
  137. package/skills/mcp-builder/reference/mcp_best_practices.md +249 -0
  138. package/skills/mcp-builder/reference/node_mcp_server.md +970 -0
  139. package/skills/mcp-builder/reference/python_mcp_server.md +719 -0
  140. package/skills/mcp-builder/scripts/connections.py +151 -0
  141. package/skills/mcp-builder/scripts/evaluation.py +373 -0
  142. package/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
  143. package/skills/mcp-builder/scripts/requirements.txt +2 -0
  144. package/skills/pdf/LICENSE.txt +30 -0
  145. package/skills/pdf/SKILL.md +314 -0
  146. package/skills/pdf/forms.md +294 -0
  147. package/skills/pdf/reference.md +612 -0
  148. package/skills/pdf/scripts/check_bounding_boxes.py +65 -0
  149. package/skills/pdf/scripts/check_fillable_fields.py +11 -0
  150. package/skills/pdf/scripts/convert_pdf_to_images.py +33 -0
  151. package/skills/pdf/scripts/create_validation_image.py +37 -0
  152. package/skills/pdf/scripts/extract_form_field_info.py +122 -0
  153. package/skills/pdf/scripts/extract_form_structure.py +115 -0
  154. package/skills/pdf/scripts/fill_fillable_fields.py +98 -0
  155. package/skills/pdf/scripts/fill_pdf_form_with_annotations.py +107 -0
  156. package/skills/pptx/LICENSE.txt +30 -0
  157. package/skills/pptx/SKILL.md +232 -0
  158. package/skills/pptx/editing.md +205 -0
  159. package/skills/pptx/pptxgenjs.md +420 -0
  160. package/skills/pptx/scripts/__init__.py +0 -0
  161. package/skills/pptx/scripts/add_slide.py +195 -0
  162. package/skills/pptx/scripts/clean.py +286 -0
  163. package/skills/pptx/scripts/office/helpers/__init__.py +0 -0
  164. package/skills/pptx/scripts/office/helpers/merge_runs.py +199 -0
  165. package/skills/pptx/scripts/office/helpers/simplify_redlines.py +197 -0
  166. package/skills/pptx/scripts/office/pack.py +159 -0
  167. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  168. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  169. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  170. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  171. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  172. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  173. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  174. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  175. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  176. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  177. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  178. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  179. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  180. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  181. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  182. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  183. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  184. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  185. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  186. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  187. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  188. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  189. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  190. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  191. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  192. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  193. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  194. package/skills/pptx/scripts/office/schemas/ecma/fouth-edition/ECMA-376_3rd_edition.zip +1 -0
  195. package/skills/pptx/scripts/office/schemas/ecma/fouth-edition/README.md +1 -0
  196. package/skills/pptx/scripts/office/schemas/mce/mce-core.xsd +1 -0
  197. package/skills/pptx/scripts/office/schemas/mce/mce-override.xsd +1 -0
  198. package/skills/pptx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  199. package/skills/pptx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  200. package/skills/pptx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  201. package/skills/pptx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  202. package/skills/pptx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  203. package/skills/pptx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  204. package/skills/pptx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  205. package/skills/pptx/scripts/office/soffice.py +183 -0
  206. package/skills/pptx/scripts/office/unpack.py +132 -0
  207. package/skills/pptx/scripts/office/validate.py +111 -0
  208. package/skills/pptx/scripts/office/validators/__init__.py +15 -0
  209. package/skills/pptx/scripts/office/validators/base.py +847 -0
  210. package/skills/pptx/scripts/office/validators/docx.py +446 -0
  211. package/skills/pptx/scripts/office/validators/pptx.py +275 -0
  212. package/skills/pptx/scripts/office/validators/redlining.py +247 -0
  213. package/skills/pptx/scripts/thumbnail.py +289 -0
  214. package/skills/simplify/SKILL.md +52 -0
  215. package/skills/skill-creator/LICENSE.txt +202 -0
  216. package/skills/skill-creator/SKILL.md +485 -0
  217. package/skills/skill-creator/agents/analyzer.md +274 -0
  218. package/skills/skill-creator/agents/comparator.md +202 -0
  219. package/skills/skill-creator/agents/grader.md +223 -0
  220. package/skills/skill-creator/assets/eval_review.html +146 -0
  221. package/skills/skill-creator/eval-viewer/generate_review.py +471 -0
  222. package/skills/skill-creator/eval-viewer/viewer.html +1325 -0
  223. package/skills/skill-creator/references/schemas.md +430 -0
  224. package/skills/skill-creator/scripts/__init__.py +0 -0
  225. package/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
  226. package/skills/skill-creator/scripts/generate_report.py +326 -0
  227. package/skills/skill-creator/scripts/improve_description.py +247 -0
  228. package/skills/skill-creator/scripts/package_skill.py +136 -0
  229. package/skills/skill-creator/scripts/quick_validate.py +103 -0
  230. package/skills/skill-creator/scripts/run_eval.py +310 -0
  231. package/skills/skill-creator/scripts/run_loop.py +328 -0
  232. package/skills/skill-creator/scripts/utils.py +47 -0
  233. package/skills/theme-factory/LICENSE.txt +202 -0
  234. package/skills/theme-factory/SKILL.md +59 -0
  235. package/skills/theme-factory/theme-showcase.pdf +0 -0
  236. package/skills/theme-factory/themes/arctic-frost.md +19 -0
  237. package/skills/theme-factory/themes/botanical-garden.md +19 -0
  238. package/skills/theme-factory/themes/desert-rose.md +19 -0
  239. package/skills/theme-factory/themes/forest-canopy.md +19 -0
  240. package/skills/theme-factory/themes/golden-hour.md +19 -0
  241. package/skills/theme-factory/themes/midnight-galaxy.md +19 -0
  242. package/skills/theme-factory/themes/modern-minimalist.md +19 -0
  243. package/skills/theme-factory/themes/ocean-depths.md +19 -0
  244. package/skills/theme-factory/themes/sunset-boulevard.md +19 -0
  245. package/skills/theme-factory/themes/tech-innovation.md +19 -0
  246. package/skills/web-artifacts-builder/LICENSE.txt +202 -0
  247. package/skills/web-artifacts-builder/SKILL.md +79 -0
  248. package/skills/web-artifacts-builder/scripts/bundle-artifact.sh +53 -0
  249. package/skills/web-artifacts-builder/scripts/init-artifact.sh +322 -0
  250. package/skills/web-artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  251. package/skills/webapp-testing/LICENSE.txt +202 -0
  252. package/skills/webapp-testing/SKILL.md +96 -0
  253. package/skills/webapp-testing/examples/console_logging.py +35 -0
  254. package/skills/webapp-testing/examples/element_discovery.py +40 -0
  255. package/skills/webapp-testing/examples/static_html_automation.py +33 -0
  256. package/skills/webapp-testing/scripts/with_server.py +106 -0
  257. package/skills/xlsx/LICENSE.txt +30 -0
  258. package/skills/xlsx/SKILL.md +292 -0
  259. package/skills/xlsx/scripts/office/helpers/__init__.py +0 -0
  260. package/skills/xlsx/scripts/office/helpers/merge_runs.py +199 -0
  261. package/skills/xlsx/scripts/office/helpers/simplify_redlines.py +197 -0
  262. package/skills/xlsx/scripts/office/pack.py +159 -0
  263. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  264. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  265. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  266. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  267. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  268. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  269. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  270. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  271. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  272. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  273. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  274. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  275. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  276. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  277. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  278. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  279. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  280. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  281. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  282. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  283. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  284. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  285. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  286. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  287. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  288. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  289. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  290. package/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/ECMA-376_3rd_edition.zip +1 -0
  291. package/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/README.md +1 -0
  292. package/skills/xlsx/scripts/office/schemas/mce/mce-core.xsd +1 -0
  293. package/skills/xlsx/scripts/office/schemas/mce/mce-override.xsd +1 -0
  294. package/skills/xlsx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  295. package/skills/xlsx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  296. package/skills/xlsx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  297. package/skills/xlsx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  298. package/skills/xlsx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  299. package/skills/xlsx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  300. package/skills/xlsx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  301. package/skills/xlsx/scripts/office/soffice.py +183 -0
  302. package/skills/xlsx/scripts/office/unpack.py +132 -0
  303. package/skills/xlsx/scripts/office/validate.py +111 -0
  304. package/skills/xlsx/scripts/office/validators/__init__.py +15 -0
  305. package/skills/xlsx/scripts/office/validators/base.py +847 -0
  306. package/skills/xlsx/scripts/office/validators/docx.py +446 -0
  307. package/skills/xlsx/scripts/office/validators/pptx.py +275 -0
  308. package/skills/xlsx/scripts/office/validators/redlining.py +247 -0
  309. package/skills/xlsx/scripts/recalc.py +184 -0
  310. package/vendor/ripgrep/COPYING +3 -0
  311. package/vendor/ripgrep/README.md +34 -0
  312. package/vendor/ripgrep/arm64-darwin/rg +0 -0
  313. package/vendor/ripgrep/arm64-linux/rg +0 -0
  314. package/vendor/ripgrep/arm64-win32/rg.exe +0 -0
  315. package/vendor/ripgrep/x64-darwin/rg +0 -0
  316. package/vendor/ripgrep/x64-linux/rg +0 -0
  317. package/vendor/ripgrep/x64-win32/rg.exe +0 -0
package/LICENSE ADDED
@@ -0,0 +1,148 @@
1
+ Copyright (c) 2026 billsoft
2
+
3
+ Licensed under the PolyForm Noncommercial License 1.0.0.
4
+
5
+ PolyForm Noncommercial License 1.0.0
6
+ ====================================
7
+
8
+ <https://polyformproject.org/licenses/noncommercial/1.0.0>
9
+
10
+ Acceptance
11
+ ----------
12
+
13
+ In order to get any license under these terms, you must agree to them as
14
+ both strict obligations and conditions to all your licenses.
15
+
16
+ Copyright License
17
+ -----------------
18
+
19
+ The licensor grants you a copyright license for the software to do
20
+ everything you might do with the software that would otherwise infringe
21
+ the licensor's copyright in it for any permitted purpose. However, you
22
+ may only distribute the software according to Distribution License and
23
+ make changes or new works based on the software according to Changes
24
+ and New Works License.
25
+
26
+ Distribution License
27
+ --------------------
28
+
29
+ The licensor grants you an additional copyright license to distribute
30
+ copies of the software. Your license to distribute covers distributing
31
+ the software with changes and new works permitted by Changes and New
32
+ Works License.
33
+
34
+ Notices
35
+ -------
36
+
37
+ You must ensure that anyone who gets a copy of any part of the software
38
+ from you also gets a copy of these terms or the URL for them above, as
39
+ well as copies of any plain-text lines beginning with `Required Notice:`
40
+ that the licensor provided with the software. For example:
41
+
42
+ > Required Notice: Copyright (c) 2026 billsoft
43
+
44
+ Changes and New Works License
45
+ -----------------------------
46
+
47
+ The licensor grants you an additional copyright license to make changes
48
+ and new works based on the software for any permitted purpose.
49
+
50
+ Patent License
51
+ --------------
52
+
53
+ The licensor grants you a patent license for the software that covers
54
+ patent claims the licensor can license, or becomes able to license, that
55
+ you would infringe by using the software.
56
+
57
+ Noncommercial Purposes
58
+ ----------------------
59
+
60
+ Any noncommercial purpose is a permitted purpose.
61
+
62
+ Personal Uses
63
+ -------------
64
+
65
+ Personal use for research, experiment, and testing for the benefit of
66
+ public knowledge, personal study, private entertainment, hobby projects,
67
+ amateur pursuits, or religious observance, without any anticipated
68
+ commercial application, is use for a permitted purpose.
69
+
70
+ Noncommercial Organizations
71
+ ---------------------------
72
+
73
+ Use by any charitable organization, educational institution, public
74
+ research organization, public safety or health organization,
75
+ environmental protection organization, or government institution is use
76
+ for a permitted purpose regardless of the source of funding or
77
+ obligations resulting from the funding.
78
+
79
+ Fair Use
80
+ --------
81
+
82
+ You may have "fair use" rights for the software under the law. These
83
+ terms do not limit them.
84
+
85
+ No Other Rights
86
+ ---------------
87
+
88
+ These terms do not allow you to sublicense or transfer any of your
89
+ licenses to anyone else, or prevent the licensor from granting licenses
90
+ to anyone else. These terms do not imply any other licenses.
91
+
92
+ Patent Defense
93
+ --------------
94
+
95
+ If you make any written claim that the software infringes or contributes
96
+ to infringement of any patent, your patent license for the software
97
+ granted under these terms ends immediately. If your company makes such
98
+ a claim, your patent license ends immediately for work on behalf of
99
+ your company.
100
+
101
+ Violations
102
+ ----------
103
+
104
+ The first time you are notified in writing that you have violated any
105
+ of these terms, or done anything with the software not covered by your
106
+ licenses, your licenses can nonetheless continue if you come into full
107
+ compliance with these terms, and take practical steps to correct past
108
+ violations, within 32 days of receiving notice. Otherwise, all your
109
+ licenses end immediately.
110
+
111
+ No Liability
112
+ ------------
113
+
114
+ ***As far as the law allows, the software comes as is, without any
115
+ warranty or condition, and the licensor will not be liable to you for
116
+ any damages arising out of these terms or the use or nature of the
117
+ software, under any kind of legal claim.***
118
+
119
+ Definitions
120
+ -----------
121
+
122
+ The **licensor** is the individual or entity offering these terms, and
123
+ the **software** is the software the licensor makes available under
124
+ these terms.
125
+
126
+ **You** refers to the individual or entity agreeing to these terms.
127
+
128
+ **Your company** is any legal entity, sole proprietorship, or other
129
+ kind of organization that you work for, plus all organizations that
130
+ have control over, are under the control of, or are under common
131
+ control with that organization. **Control** means ownership of
132
+ substantially all the assets of an entity, or the power to direct its
133
+ management and policies by vote, contract, or otherwise. Control can be
134
+ direct or indirect.
135
+
136
+ **Your licenses** are all the licenses granted to you for the software
137
+ under these terms.
138
+
139
+ **Use** means anything you do with the software requiring one of your
140
+ licenses.
141
+
142
+ ---
143
+
144
+ Required Notice: Copyright (c) 2026 billsoft
145
+
146
+ `vendor/ripgrep/` 内的二进制为上游 ripgrep 项目的原始 MIT / Unlicense
147
+ 双重许可,不受本项目 PolyForm Noncommercial License 约束。详见
148
+ `vendor/ripgrep/COPYING`。
package/README.md ADDED
@@ -0,0 +1,287 @@
1
+ # minimal-agent
2
+
3
+ > 最小化的 AI 编程助手 —— 单对话 · 9 个内置工具 · 自动压缩 · OpenAI 兼容协议 · Ink TUI
4
+
5
+ 一个用于**学习和教学**的 Agent 项目,从 [kakadeai](../) 主仓库的 Claude Code 源码中抽取并简化而来,把"一个能调工具、能自动压缩上下文、能流式输出的 agent"在 ~3000 行 TypeScript 内讲清楚。
6
+
7
+ ---
8
+
9
+ ## 特性
10
+
11
+ | 模块 | 说明 |
12
+ |---|---|
13
+ | 🧠 主循环 | `runQuery` 用 AsyncGenerator 把"调 LLM → 跑工具 → 喂回去"串成一条流 |
14
+ | 🔧 内置工具 | Read / Write / Edit / Glob / Grep / Bash / WebSearch / WebFetch / WebBrowser |
15
+ | 📦 自动压缩 | 接近 context window 时自动摘要历史(auto / micro / reactive 三层) |
16
+ | 💾 单上下文 | `~/.minimal-agent/last-context.json` 自动保存/恢复,无 session 概念 |
17
+ | 🎨 双模式 | Ink TUI 交互模式 + `-p` 非交互 CLI 模式(管道友好) |
18
+ | 🌐 多 provider | 走 OpenAI Chat Completions 协议,配 .env 即可切换 MiniMax / DeepSeek / Kimi / OpenAI |
19
+ | 🧰 Skills 系统 | 扫描 `skills/<name>/SKILL.md` frontmatter,按需懒加载完整 prompt |
20
+
21
+ ---
22
+
23
+ ## 系统要求
24
+
25
+ - **Bun ≥ 1.1**(推荐,主运行时);Node.js ≥ 20 需要走 build 流程,见末尾的[发布到 npm](#发布到-npm未来) 章节
26
+ - 一个 OpenAI 兼容的 LLM API(MiniMax / OpenAI / DeepSeek / Kimi / 自建 vLLM 均可)
27
+ - *可选*:[Tavily](https://tavily.com) API key(开启 WebSearch)
28
+ - *可选*:`playwright-core` + chromium(开启 WebBrowser;不装会自动降级到 WebFetch)
29
+ - *无需安装 ripgrep* —— 项目自带 `vendor/ripgrep/` 6 个平台二进制(arm64/x64 × win32/darwin/linux)
30
+
31
+ ---
32
+
33
+ ## 快速开始
34
+
35
+ 支持两种配置方式,**任选其一**即可:
36
+
37
+ ### 方式 A:手写 .env(适合开发者 / `-p` 非交互模式)
38
+
39
+ ```bash
40
+ # 1. 安装依赖
41
+ bun install
42
+
43
+ # 2. 配置 .env(参考 .env.example)
44
+ cp .env.example .env
45
+ # 编辑 .env 填入 BASE_URL / API_KEY / MODEL
46
+
47
+ # 3. 启动 TUI
48
+ bun run start
49
+ ```
50
+
51
+ ### 方式 B:首次启动配置向导(适合零配置上手)
52
+
53
+ ```bash
54
+ bun install
55
+ bun run start # 没检测到任何配置 → 自动弹 Ink 向导
56
+ ```
57
+
58
+ 向导步骤:选 provider 预设(MiniMax / DeepSeek / OpenAI / Kimi / 自定义)→ 填 baseURL → 填 API key(掩码显示)→ 选 model → 自动做一次连通性测试 → 通过后写入 `~/.minimal-agent/config.json` 并直接进入对话界面。
59
+
60
+ > 测试不通过或中途 ESC 退出 → **不写文件** → 下次启动继续走向导,直到成功为止。
61
+
62
+ ### 运行示例
63
+
64
+ ```bash
65
+ bun run src/main.tsx -p "帮我写个 hello world" # 一次性问答
66
+ echo "解释这段代码" | bun run src/main.tsx -p # 管道输入
67
+ ```
68
+
69
+ ### 配置优先级
70
+
71
+ ```
72
+ process.env > ~/.minimal-agent/config.json > 弹向导
73
+ ```
74
+
75
+ env 永远盖过 JSON,**逐字段**生效(可以只用 env 临时覆盖单个字段做调试)。`-p` 模式不会弹向导(没 TTY),缺配置直接 stderr 报错退出。
76
+
77
+ ### .env 字段
78
+
79
+ ```env
80
+ # 必需
81
+ MINIMAL_AGENT_BASE_URL=https://api.minimax.chat/v1
82
+ MINIMAL_AGENT_API_KEY=your-api-key
83
+ MINIMAL_AGENT_MODEL=MiniMax-M2.7
84
+
85
+ # 可选
86
+ MINIMAL_AGENT_PROVIDER=minimax # 仅作显示用,默认 "env"
87
+ MINIMAL_AGENT_CONTEXT_WINDOW=204800 # 模型上下文窗口,默认 128000
88
+ TAVILY_API_KEY= # 启用 WebSearch
89
+ ```
90
+
91
+ ### 重新配置
92
+
93
+ 在 TUI 内直接输入 `/config`(不带任何其他内容),LLM 会按 `skills/config/SKILL.md` 流程逐项询问后用 Write 工具更新 `~/.minimal-agent/config.json`,提示重启生效。
94
+
95
+ > `/config` 是 **LLM 驱动的 skill**(同 `/init`),不是硬编码命令(不同于 `/new` / `/compact`)—— 必须**单独输入 `/config`**,带其他内容(如 `/config 帮我看看`)不会触发。
96
+
97
+ ---
98
+
99
+ ## 命令行参数
100
+
101
+ ```
102
+ minimal-agent [选项] [提示...]
103
+ echo "提示" | minimal-agent [选项]
104
+
105
+ 选项:
106
+ -p, --print 非交互模式,问答一次后退出
107
+ -v, --verbose 显示工具调用 / 压缩详情
108
+ -h, --help 帮助
109
+ -V, --version 版本号
110
+ ```
111
+
112
+ TUI 内部支持:
113
+
114
+ | 输入 | 效果 |
115
+ |---|---|
116
+ | `/new` | 清空历史,重建 system prompt(带最新 skills + 项目指令) |
117
+ | `/compact` | 手动压缩当前对话 |
118
+ | `/config` | 重新配置 LLM provider(LLM 驱动 skill,单独输入才触发) |
119
+ | `Alt+Enter` | 输入框换行(教学/多行 prompt 友好) |
120
+ | `ESC` / `Ctrl+C` | 中断当前任务 |
121
+
122
+ ---
123
+
124
+ ## 内置工具
125
+
126
+ | 名称 | 用途 | 实现 |
127
+ |---|---|---|
128
+ | `Read` | 读文件(支持 offset / limit / 二进制嗅探) | `node:fs/promises` |
129
+ | `Write` | 整体写文件(覆盖前要先 Read) | `node:fs/promises` |
130
+ | `Edit` | 字符串精确替换(old_string 必须唯一) | `node:fs/promises` |
131
+ | `Glob` | 文件名模式匹配 | `fast-glob` |
132
+ | `Grep` | 文件内容搜索 | spawn vendor 内置 ripgrep |
133
+ | `Bash` | 终端命令执行(黑名单 + 超时双保险) | `node:child_process` |
134
+ | `WebSearch` | Web 搜索(自动注入当前日期) | Tavily API |
135
+ | `WebFetch` | 抓网页 → HTML→Markdown(LRU 缓存) | `fetch` + `turndown` |
136
+ | `WebBrowser` | 浏览器交互(点击/填表单/截图/JS 渲染) | playwright-core(**可选依赖**) |
137
+
138
+ 工具入口:`src/tools/index.ts` 的 `ALL_TOOLS` 数组和 `executeTool()` 函数。
139
+
140
+ ---
141
+
142
+ ## 项目结构
143
+
144
+ ```
145
+ minimal-agent/
146
+ ├── src/
147
+ │ ├── main.tsx # 入口:CLI 参数解析 + 模式分发
148
+ │ ├── loop.ts # Agent 主循环(runQuery)
149
+ │ ├── config.ts # .env 加载
150
+ │ ├── types.ts # 核心类型(Message / Tool / LoopEvent)
151
+ │ ├── cli/print.ts # -p 非交互模式
152
+ │ ├── llm/client.ts # OpenAI 兼容流式客户端
153
+ │ ├── context/ # 压缩 / 持久化 / token 计数
154
+ │ │ ├── compact.ts # auto + force 压缩
155
+ │ │ ├── reactiveCompact.ts # 上下文撑爆时的自救
156
+ │ │ ├── microCompactLite.ts # 工具回填 inline 压缩
157
+ │ │ └── persistContext.ts # ~/.minimal-agent/last-context.json
158
+ │ ├── prompts/ # system prompt 拼装
159
+ │ │ ├── system.ts # 主 prompt + 项目指令注入
160
+ │ │ ├── projectInstructions.ts # 项目根 minimal-agent.md 加载
161
+ │ │ └── skillList.ts # 扫描 skills/ 生成 skill 列表
162
+ │ ├── tools/ # 9 个内置工具(见上表)
163
+ │ └── ui/ # Ink TUI 组件
164
+ ├── skills/ # Skill 库(每个子目录一个 SKILL.md)
165
+ ├── vendor/ripgrep/ # 自带的 ripgrep 二进制(6 个平台)
166
+ ├── test/ # bun test 用例
167
+ ├── examples/ # Ink 教学示例
168
+ └── minimal-agent.md # 项目指令(类似 CLAUDE.md,会被自动注入 system prompt)
169
+ ```
170
+
171
+ ---
172
+
173
+ ## 工作原理(一句话版)
174
+
175
+ ```
176
+ 用户输入
177
+
178
+
179
+ runQuery (loop.ts)
180
+
181
+ ├── autoCompactIfNeeded # 接近上限就压缩
182
+ ├── chat(LLM) # 流式 token + tool_calls
183
+ ├── yield {text, ...} # → UI 显示
184
+
185
+ ├── if 没工具 → return # 任务完成
186
+
187
+ ├── for each tool_call:
188
+ │ executeTool # zod 校验 → tool.call(args)
189
+ │ append tool result # 写回 history
190
+
191
+ └── continue # 下一轮
192
+ ```
193
+
194
+ 详见 `src/loop.ts` 的注释。
195
+
196
+ ---
197
+
198
+ ## 开发命令
199
+
200
+ ```bash
201
+ bun run start # 跑 TUI
202
+ bun run dev # 热重载
203
+ bun test # 跑全部测试(test/*)
204
+ bun test test/llm.live.test.ts # 跑单个测试文件
205
+ tsc --noEmit # 类型检查
206
+ ```
207
+
208
+ ---
209
+
210
+ ## 与 [kakadeai](../) 主项目的关系
211
+
212
+ minimal-agent 是 Claude Code 源码的**教学版**:
213
+
214
+ | 维度 | kakadeai/Claude Code | minimal-agent |
215
+ |---|---|---|
216
+ | 代码量 | 数十万行 | ~3000 行 |
217
+ | 主循环 | QueryEngine + 状态机 | 单层 while + AsyncGenerator |
218
+ | Tool 数 | 60+(含 MCP / Agent / Notebook 等) | 9 个内置 |
219
+ | Skill 加载 | `registerBundledSkill()` 注册 | 扫描目录 + frontmatter 解析 |
220
+ | Provider | Anthropic SDK | OpenAI Chat Completions(多家兼容) |
221
+ | UI | 完整 Ink 框架 + 主题系统 | 基础 Ink 组件 |
222
+
223
+ 设计目标是**砍掉一切非必要的抽象**,把"AI agent 是什么"暴露在你眼前。
224
+
225
+ ---
226
+
227
+ ## 故障排查
228
+
229
+ | 现象 | 原因 / 处理 |
230
+ |---|---|
231
+ | `-p` 模式报 `缺少必需的环境变量` | `-p` 不弹向导。先用 `bun run start` 走向导,或手动写 `.env` |
232
+ | TUI 启动就弹向导,但我已经写了 .env | 检查 .env 是否在项目根(`bun run` 当前目录),三项变量名拼写无误 |
233
+ | 向导测试卡 `HTTP 401` / `HTTP 404` | 401 = API key 错;404 = baseURL 没拼 `/v1` 或 model id 不对 |
234
+ | 改完 `~/.minimal-agent/config.json` 没生效 | 当前进程仍持有旧配置;Ctrl+C 退出后重新 `bun run start` |
235
+ | `rg: command not found` | 不该出现——项目自带 ripgrep;若出现说明 vendor 目录未随项目复制 |
236
+ | `WebBrowser 报"无法启动浏览器"` | 需要 `npm install playwright-core && npx playwright install chromium`;或改用 WebFetch |
237
+ | 历史"被吃掉"了 | 上次进程崩溃前未保存;`~/.minimal-agent/last-context.json` 是最后写入的一次 |
238
+ | 模型回复说"我没法访问外部 API" | 检查 `MINIMAL_AGENT_BASE_URL` 是否拼了 `/v1`,model id 是否对 |
239
+
240
+ ---
241
+
242
+ ## 发布到 npm(未来)
243
+
244
+ **当前状态:不能直接 `npm install -g minimal-agent`** —— `package.json` 里 `"private": true`,也没有 `bin` 字段和构建产物。
245
+
246
+ 如果要发布到 npm 让 Node.js 用户也能用,至少要做:
247
+
248
+ 1. **改 `package.json`**
249
+ - 去掉 `"private": true`
250
+ - 加 `"bin": { "minimal-agent": "dist/main.js" }`
251
+ - 加 `"files": ["dist", "vendor", "skills"]`(控制 npm tarball 内容)
252
+ - 加 `"engines": { "node": ">=20" }`
253
+ 2. **加构建步骤**:用 tsup / esbuild 把 `src/main.tsx` bundle 成单文件 CJS+ESM,输出到 `dist/main.js`
254
+ 3. **shebang**:构建产物首行加 `#!/usr/bin/env node`,发布前 `chmod +x`
255
+ 4. **`.env` 不打包**:在 `.npmignore` 里排除 `.env*`、`vendor/ripgrep/test/`,依赖**配置向导**让用户首次跑 `npx minimal-agent` 时填配置(这正是本项目 Mode B 的设计目的)
256
+ 5. **vendor ripgrep**:6 个平台二进制(~30MB)会进 tarball;如想瘦身可拆成 `optionalDependencies` 按平台下载
257
+ 6. **首发流程**:`npm whoami` → `npm publish --dry-run` 验证 tarball → `npm publish`
258
+
259
+ 发布后用户体验:
260
+
261
+ ```bash
262
+ npm install -g minimal-agent
263
+ minimal-agent # 没配置 → 弹向导 → 测试通过 → 直接进 TUI
264
+ minimal-agent -p "..." # 配置完成后可直接 -p
265
+ ```
266
+
267
+ **本项目尚未做这步**,本仓库定位为学习/教学版,主要面向 `bun run start` / `bun run dev` 本地运行的用户。
268
+
269
+ ---
270
+
271
+ ## License
272
+
273
+ 本项目使用 **PolyForm Noncommercial License 1.0.0**(详见根目录 `LICENSE` 文件)。
274
+
275
+ **允许**:
276
+ - 个人学习、教学、研究、非商业实验用途
277
+ - 修改源代码、本地构建、自托管运行
278
+ - 在非商业项目中引用 / fork
279
+ - 慈善机构、教育机构、公共研究组织等非营利组织使用
280
+
281
+ **禁止**:
282
+ - 任何形式的商业使用(包括但不限于:销售本软件、用于公司内部生产环境、作为商业产品的组件、提供付费服务)
283
+ - 未经授权的再分发(必须保留 LICENSE 与版权声明)
284
+
285
+ 如需商业授权,请联系作者另行洽谈。
286
+
287
+ `vendor/ripgrep/` 内的二进制为上游 ripgrep 项目的 MIT / Unlicense 双重许可,**不受**本项目 PolyForm Noncommercial License 约束。