onetool-mcp 1.0.0b1__tar.gz

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 (376) hide show
  1. onetool_mcp-1.0.0b1/.chunkhound.json +37 -0
  2. onetool_mcp-1.0.0b1/.claude/commands/openspec/apply.md +23 -0
  3. onetool_mcp-1.0.0b1/.claude/commands/openspec/archive.md +27 -0
  4. onetool_mcp-1.0.0b1/.claude/commands/openspec/proposal.md +28 -0
  5. onetool_mcp-1.0.0b1/.claude/commands/proj/consult.md +63 -0
  6. onetool_mcp-1.0.0b1/.claude/commands/proj/doc-sync.md +165 -0
  7. onetool_mcp-1.0.0b1/.claude/commands/proj/prime.md +8 -0
  8. onetool_mcp-1.0.0b1/.claude/commands/proj/quick-apply.md +183 -0
  9. onetool_mcp-1.0.0b1/.claude/commands/proj/review-py.md +252 -0
  10. onetool_mcp-1.0.0b1/.claude/commands/proj/sanity.md +65 -0
  11. onetool_mcp-1.0.0b1/.claude/skills/humanizer/SKILL.md +437 -0
  12. onetool_mcp-1.0.0b1/.gitattributes +1 -0
  13. onetool_mcp-1.0.0b1/.github/workflows/docs.yml +71 -0
  14. onetool_mcp-1.0.0b1/.github/workflows/publish.yml +63 -0
  15. onetool_mcp-1.0.0b1/.gitignore +109 -0
  16. onetool_mcp-1.0.0b1/.gitleaks.toml +19 -0
  17. onetool_mcp-1.0.0b1/.markdownlint.json +7 -0
  18. onetool_mcp-1.0.0b1/AGENTS.md +1 -0
  19. onetool_mcp-1.0.0b1/AGENTS_PRIME.md +16 -0
  20. onetool_mcp-1.0.0b1/AGENTS_RULES.md +60 -0
  21. onetool_mcp-1.0.0b1/CHANGELOG.md +40 -0
  22. onetool_mcp-1.0.0b1/CLAUDE.md +54 -0
  23. onetool_mcp-1.0.0b1/LICENSE.txt +687 -0
  24. onetool_mcp-1.0.0b1/NOTICE.txt +64 -0
  25. onetool_mcp-1.0.0b1/PKG-INFO +163 -0
  26. onetool_mcp-1.0.0b1/README.md +113 -0
  27. onetool_mcp-1.0.0b1/demo/.onetool/config/bench.yaml +21 -0
  28. onetool_mcp-1.0.0b1/demo/.onetool/config/onetool.yaml +78 -0
  29. onetool_mcp-1.0.0b1/demo/.onetool/stats/stats.jsonl +30 -0
  30. onetool_mcp-1.0.0b1/demo/.onetool/tools/demo/demo_tools.py +94 -0
  31. onetool_mcp-1.0.0b1/demo/README.md +67 -0
  32. onetool_mcp-1.0.0b1/demo/bench/compare.yaml +231 -0
  33. onetool_mcp-1.0.0b1/demo/bench/features.yaml +273 -0
  34. onetool_mcp-1.0.0b1/demo/bench/tool_brave_search.yaml +80 -0
  35. onetool_mcp-1.0.0b1/demo/bench/tool_code_search.yaml +85 -0
  36. onetool_mcp-1.0.0b1/demo/bench/tool_context7.yaml +53 -0
  37. onetool_mcp-1.0.0b1/demo/bench/tool_convert.yaml +140 -0
  38. onetool_mcp-1.0.0b1/demo/bench/tool_db.yaml +72 -0
  39. onetool_mcp-1.0.0b1/demo/bench/tool_diagram.yaml +280 -0
  40. onetool_mcp-1.0.0b1/demo/bench/tool_excel.yaml +99 -0
  41. onetool_mcp-1.0.0b1/demo/bench/tool_file.yaml +131 -0
  42. onetool_mcp-1.0.0b1/demo/bench/tool_github.yaml +73 -0
  43. onetool_mcp-1.0.0b1/demo/bench/tool_grounding_search.yaml +127 -0
  44. onetool_mcp-1.0.0b1/demo/bench/tool_package.yaml +56 -0
  45. onetool_mcp-1.0.0b1/demo/bench/tool_ripgrep.yaml +126 -0
  46. onetool_mcp-1.0.0b1/demo/bench/tool_web_fetch.yaml +87 -0
  47. onetool_mcp-1.0.0b1/demo/data/file_example_1MB.docx +0 -0
  48. onetool_mcp-1.0.0b1/demo/data/file_example_PPT_1MB.pptx +0 -0
  49. onetool_mcp-1.0.0b1/demo/data/file_example_XLS_1000.xlsx +0 -0
  50. onetool_mcp-1.0.0b1/demo/data/sample_sales.xlsx +0 -0
  51. onetool_mcp-1.0.0b1/demo/justfile +63 -0
  52. onetool_mcp-1.0.0b1/demo/prompts/onetool-in-action.md +202 -0
  53. onetool_mcp-1.0.0b1/docs/CNAME +1 -0
  54. onetool_mcp-1.0.0b1/docs/_internal/bento-demo.html +424 -0
  55. onetool_mcp-1.0.0b1/docs/_internal/brand/brand.md +194 -0
  56. onetool_mcp-1.0.0b1/docs/_internal/brand/claims.md +55 -0
  57. onetool_mcp-1.0.0b1/docs/_internal/brand/references.md +27 -0
  58. onetool_mcp-1.0.0b1/docs/_internal/brand/release-v1.0.0b1.md +49 -0
  59. onetool_mcp-1.0.0b1/docs/_internal/brand/tool-packs.md +22 -0
  60. onetool_mcp-1.0.0b1/docs/_internal/features-layout.md +412 -0
  61. onetool_mcp-1.0.0b1/docs/_internal/ideas/linkedin-article.md +57 -0
  62. onetool_mcp-1.0.0b1/docs/_internal/ideas/why-onetool-source.md +356 -0
  63. onetool_mcp-1.0.0b1/docs/_internal/ideas/write-ideas.md +109 -0
  64. onetool_mcp-1.0.0b1/docs/_internal/why-onetool.md +80 -0
  65. onetool_mcp-1.0.0b1/docs/about.md +18 -0
  66. onetool_mcp-1.0.0b1/docs/assets/logo-blue.png +0 -0
  67. onetool_mcp-1.0.0b1/docs/assets/logo-white.png +0 -0
  68. onetool_mcp-1.0.0b1/docs/assets/ml.svg +31 -0
  69. onetool_mcp-1.0.0b1/docs/assets/onetool-favicon-64.png +0 -0
  70. onetool_mcp-1.0.0b1/docs/assets/onetool-logo.png +0 -0
  71. onetool_mcp-1.0.0b1/docs/extending/creating-clis.md +368 -0
  72. onetool_mcp-1.0.0b1/docs/extending/creating-tools.md +481 -0
  73. onetool_mcp-1.0.0b1/docs/extending/extensions.md +374 -0
  74. onetool_mcp-1.0.0b1/docs/extending/index.md +5 -0
  75. onetool_mcp-1.0.0b1/docs/extending/logging.md +253 -0
  76. onetool_mcp-1.0.0b1/docs/extending/testing.md +246 -0
  77. onetool_mcp-1.0.0b1/docs/features.md +231 -0
  78. onetool_mcp-1.0.0b1/docs/index.md +54 -0
  79. onetool_mcp-1.0.0b1/docs/learn/comparison.md +33 -0
  80. onetool_mcp-1.0.0b1/docs/learn/configuration.md +627 -0
  81. onetool_mcp-1.0.0b1/docs/learn/database-queries.md +94 -0
  82. onetool_mcp-1.0.0b1/docs/learn/examples.md +90 -0
  83. onetool_mcp-1.0.0b1/docs/learn/explicit-calls.md +196 -0
  84. onetool_mcp-1.0.0b1/docs/learn/index.md +5 -0
  85. onetool_mcp-1.0.0b1/docs/learn/installation.md +242 -0
  86. onetool_mcp-1.0.0b1/docs/learn/prompting-best-practices.md +84 -0
  87. onetool_mcp-1.0.0b1/docs/learn/quickstart.md +41 -0
  88. onetool_mcp-1.0.0b1/docs/learn/security.md +237 -0
  89. onetool_mcp-1.0.0b1/docs/llms.txt +65 -0
  90. onetool_mcp-1.0.0b1/docs/overrides/partials/integrations/analytics/posthog.html +15 -0
  91. onetool_mcp-1.0.0b1/docs/reference/cli/bench.md +128 -0
  92. onetool_mcp-1.0.0b1/docs/reference/cli/index.md +8 -0
  93. onetool_mcp-1.0.0b1/docs/reference/cli/onetool.md +103 -0
  94. onetool_mcp-1.0.0b1/docs/reference/index.md +5 -0
  95. onetool_mcp-1.0.0b1/docs/reference/tools/brave.md +60 -0
  96. onetool_mcp-1.0.0b1/docs/reference/tools/code.md +119 -0
  97. onetool_mcp-1.0.0b1/docs/reference/tools/context7.md +70 -0
  98. onetool_mcp-1.0.0b1/docs/reference/tools/convert.md +204 -0
  99. onetool_mcp-1.0.0b1/docs/reference/tools/db.md +66 -0
  100. onetool_mcp-1.0.0b1/docs/reference/tools/diagram.md +133 -0
  101. onetool_mcp-1.0.0b1/docs/reference/tools/excel.md +187 -0
  102. onetool_mcp-1.0.0b1/docs/reference/tools/file.md +206 -0
  103. onetool_mcp-1.0.0b1/docs/reference/tools/firecrawl.md +91 -0
  104. onetool_mcp-1.0.0b1/docs/reference/tools/ground.md +77 -0
  105. onetool_mcp-1.0.0b1/docs/reference/tools/index.md +29 -0
  106. onetool_mcp-1.0.0b1/docs/reference/tools/llm.md +79 -0
  107. onetool_mcp-1.0.0b1/docs/reference/tools/ot.md +268 -0
  108. onetool_mcp-1.0.0b1/docs/reference/tools/package.md +61 -0
  109. onetool_mcp-1.0.0b1/docs/reference/tools/ripgrep.md +105 -0
  110. onetool_mcp-1.0.0b1/docs/reference/tools/scaffold.md +65 -0
  111. onetool_mcp-1.0.0b1/docs/reference/tools/web.md +84 -0
  112. onetool_mcp-1.0.0b1/docs/results/result-20260119.csv +8 -0
  113. onetool_mcp-1.0.0b1/docs/stylesheets/extra.css +40 -0
  114. onetool_mcp-1.0.0b1/justfile +182 -0
  115. onetool_mcp-1.0.0b1/licenses/brave-search-mcp-server-LICENSE +25 -0
  116. onetool_mcp-1.0.0b1/licenses/chunkhound-LICENSE +24 -0
  117. onetool_mcp-1.0.0b1/licenses/context7-LICENSE +24 -0
  118. onetool_mcp-1.0.0b1/licenses/excel-mcp-server-LICENSE +21 -0
  119. onetool_mcp-1.0.0b1/licenses/mcp-alchemy-LICENSE +373 -0
  120. onetool_mcp-1.0.0b1/licenses/mcp-package-version-LICENSE +21 -0
  121. onetool_mcp-1.0.0b1/licenses/trafilatura-LICENSE +182 -0
  122. onetool_mcp-1.0.0b1/mkdocs.yml +184 -0
  123. onetool_mcp-1.0.0b1/openspec/AGENTS.md +473 -0
  124. onetool_mcp-1.0.0b1/openspec/README.md +578 -0
  125. onetool_mcp-1.0.0b1/openspec/project.md +79 -0
  126. onetool_mcp-1.0.0b1/openspec/specs/INDEX.md +133 -0
  127. onetool_mcp-1.0.0b1/openspec/specs/_nf-conventions/spec.md +485 -0
  128. onetool_mcp-1.0.0b1/openspec/specs/_nf-docs/spec.md +437 -0
  129. onetool_mcp-1.0.0b1/openspec/specs/_nf-observability/spec.md +440 -0
  130. onetool_mcp-1.0.0b1/openspec/specs/_nf-paths/spec.md +413 -0
  131. onetool_mcp-1.0.0b1/openspec/specs/_nf-testing/spec.md +242 -0
  132. onetool_mcp-1.0.0b1/openspec/specs/bench/spec.md +233 -0
  133. onetool_mcp-1.0.0b1/openspec/specs/bench-config/spec.md +158 -0
  134. onetool_mcp-1.0.0b1/openspec/specs/bench-csv/spec.md +35 -0
  135. onetool_mcp-1.0.0b1/openspec/specs/bench-evaluators/spec.md +69 -0
  136. onetool_mcp-1.0.0b1/openspec/specs/bench-logging/spec.md +183 -0
  137. onetool_mcp-1.0.0b1/openspec/specs/bench-metrics/spec.md +63 -0
  138. onetool_mcp-1.0.0b1/openspec/specs/bench-tasks/spec.md +116 -0
  139. onetool_mcp-1.0.0b1/openspec/specs/bench-tui/spec.md +84 -0
  140. onetool_mcp-1.0.0b1/openspec/specs/onetool-cli/spec.md +111 -0
  141. onetool_mcp-1.0.0b1/openspec/specs/serve-code-validation/spec.md +250 -0
  142. onetool_mcp-1.0.0b1/openspec/specs/serve-configuration/spec.md +1276 -0
  143. onetool_mcp-1.0.0b1/openspec/specs/serve-mcp-discoverability/spec.md +92 -0
  144. onetool_mcp-1.0.0b1/openspec/specs/serve-mcp-proxy/spec.md +188 -0
  145. onetool_mcp-1.0.0b1/openspec/specs/serve-output-sanitization/spec.md +103 -0
  146. onetool_mcp-1.0.0b1/openspec/specs/serve-prompts/spec.md +197 -0
  147. onetool_mcp-1.0.0b1/openspec/specs/serve-run-tool/spec.md +421 -0
  148. onetool_mcp-1.0.0b1/openspec/specs/serve-stats/spec.md +183 -0
  149. onetool_mcp-1.0.0b1/openspec/specs/serve-tools-packages/spec.md +60 -0
  150. onetool_mcp-1.0.0b1/openspec/specs/tool-brave-search/spec.md +178 -0
  151. onetool_mcp-1.0.0b1/openspec/specs/tool-code-search/spec.md +217 -0
  152. onetool_mcp-1.0.0b1/openspec/specs/tool-context7/spec.md +164 -0
  153. onetool_mcp-1.0.0b1/openspec/specs/tool-convert/spec.md +370 -0
  154. onetool_mcp-1.0.0b1/openspec/specs/tool-db/spec.md +188 -0
  155. onetool_mcp-1.0.0b1/openspec/specs/tool-diagram/spec.md +333 -0
  156. onetool_mcp-1.0.0b1/openspec/specs/tool-excel/spec.md +391 -0
  157. onetool_mcp-1.0.0b1/openspec/specs/tool-execution/spec.md +98 -0
  158. onetool_mcp-1.0.0b1/openspec/specs/tool-file/spec.md +387 -0
  159. onetool_mcp-1.0.0b1/openspec/specs/tool-firecrawl/spec.md +250 -0
  160. onetool_mcp-1.0.0b1/openspec/specs/tool-grounding-search/spec.md +204 -0
  161. onetool_mcp-1.0.0b1/openspec/specs/tool-internal/spec.md +111 -0
  162. onetool_mcp-1.0.0b1/openspec/specs/tool-notify/spec.md +98 -0
  163. onetool_mcp-1.0.0b1/openspec/specs/tool-ot/spec.md +528 -0
  164. onetool_mcp-1.0.0b1/openspec/specs/tool-package/spec.md +155 -0
  165. onetool_mcp-1.0.0b1/openspec/specs/tool-ripgrep/spec.md +220 -0
  166. onetool_mcp-1.0.0b1/openspec/specs/tool-scaffold/spec.md +149 -0
  167. onetool_mcp-1.0.0b1/openspec/specs/tool-sdk/spec.md +27 -0
  168. onetool_mcp-1.0.0b1/openspec/specs/tool-transform/spec.md +180 -0
  169. onetool_mcp-1.0.0b1/openspec/specs/tool-web-fetch/spec.md +238 -0
  170. onetool_mcp-1.0.0b1/pyproject.toml +198 -0
  171. onetool_mcp-1.0.0b1/resources/docker/kroki/docker-compose.yaml +60 -0
  172. onetool_mcp-1.0.0b1/src/bench/__init__.py +5 -0
  173. onetool_mcp-1.0.0b1/src/bench/cli.py +69 -0
  174. onetool_mcp-1.0.0b1/src/bench/harness/__init__.py +66 -0
  175. onetool_mcp-1.0.0b1/src/bench/harness/client.py +692 -0
  176. onetool_mcp-1.0.0b1/src/bench/harness/config.py +397 -0
  177. onetool_mcp-1.0.0b1/src/bench/harness/csv_writer.py +109 -0
  178. onetool_mcp-1.0.0b1/src/bench/harness/evaluate.py +512 -0
  179. onetool_mcp-1.0.0b1/src/bench/harness/metrics.py +283 -0
  180. onetool_mcp-1.0.0b1/src/bench/harness/runner.py +899 -0
  181. onetool_mcp-1.0.0b1/src/bench/py.typed +0 -0
  182. onetool_mcp-1.0.0b1/src/bench/reporter.py +629 -0
  183. onetool_mcp-1.0.0b1/src/bench/run.py +487 -0
  184. onetool_mcp-1.0.0b1/src/bench/secrets.py +101 -0
  185. onetool_mcp-1.0.0b1/src/bench/utils.py +16 -0
  186. onetool_mcp-1.0.0b1/src/onetool/__init__.py +4 -0
  187. onetool_mcp-1.0.0b1/src/onetool/cli.py +391 -0
  188. onetool_mcp-1.0.0b1/src/onetool/py.typed +0 -0
  189. onetool_mcp-1.0.0b1/src/ot/__init__.py +37 -0
  190. onetool_mcp-1.0.0b1/src/ot/__main__.py +6 -0
  191. onetool_mcp-1.0.0b1/src/ot/_cli.py +107 -0
  192. onetool_mcp-1.0.0b1/src/ot/_tui.py +53 -0
  193. onetool_mcp-1.0.0b1/src/ot/config/__init__.py +46 -0
  194. onetool_mcp-1.0.0b1/src/ot/config/defaults/bench.yaml +4 -0
  195. onetool_mcp-1.0.0b1/src/ot/config/defaults/diagram-templates/api-flow.mmd +33 -0
  196. onetool_mcp-1.0.0b1/src/ot/config/defaults/diagram-templates/c4-context.puml +30 -0
  197. onetool_mcp-1.0.0b1/src/ot/config/defaults/diagram-templates/class-diagram.mmd +87 -0
  198. onetool_mcp-1.0.0b1/src/ot/config/defaults/diagram-templates/feature-mindmap.mmd +70 -0
  199. onetool_mcp-1.0.0b1/src/ot/config/defaults/diagram-templates/microservices.d2 +81 -0
  200. onetool_mcp-1.0.0b1/src/ot/config/defaults/diagram-templates/project-gantt.mmd +37 -0
  201. onetool_mcp-1.0.0b1/src/ot/config/defaults/diagram-templates/state-machine.mmd +42 -0
  202. onetool_mcp-1.0.0b1/src/ot/config/defaults/onetool.yaml +25 -0
  203. onetool_mcp-1.0.0b1/src/ot/config/defaults/prompts.yaml +97 -0
  204. onetool_mcp-1.0.0b1/src/ot/config/defaults/servers.yaml +7 -0
  205. onetool_mcp-1.0.0b1/src/ot/config/defaults/snippets.yaml +4 -0
  206. onetool_mcp-1.0.0b1/src/ot/config/defaults/tool_templates/__init__.py +7 -0
  207. onetool_mcp-1.0.0b1/src/ot/config/defaults/tool_templates/extension.py +52 -0
  208. onetool_mcp-1.0.0b1/src/ot/config/defaults/tool_templates/isolated.py +61 -0
  209. onetool_mcp-1.0.0b1/src/ot/config/dynamic.py +121 -0
  210. onetool_mcp-1.0.0b1/src/ot/config/global_templates/__init__.py +2 -0
  211. onetool_mcp-1.0.0b1/src/ot/config/global_templates/bench-secrets-template.yaml +6 -0
  212. onetool_mcp-1.0.0b1/src/ot/config/global_templates/bench.yaml +9 -0
  213. onetool_mcp-1.0.0b1/src/ot/config/global_templates/onetool.yaml +27 -0
  214. onetool_mcp-1.0.0b1/src/ot/config/global_templates/secrets-template.yaml +44 -0
  215. onetool_mcp-1.0.0b1/src/ot/config/global_templates/servers.yaml +18 -0
  216. onetool_mcp-1.0.0b1/src/ot/config/global_templates/snippets.yaml +235 -0
  217. onetool_mcp-1.0.0b1/src/ot/config/loader.py +1087 -0
  218. onetool_mcp-1.0.0b1/src/ot/config/mcp.py +145 -0
  219. onetool_mcp-1.0.0b1/src/ot/config/secrets.py +190 -0
  220. onetool_mcp-1.0.0b1/src/ot/config/tool_config.py +125 -0
  221. onetool_mcp-1.0.0b1/src/ot/decorators.py +116 -0
  222. onetool_mcp-1.0.0b1/src/ot/executor/__init__.py +35 -0
  223. onetool_mcp-1.0.0b1/src/ot/executor/base.py +16 -0
  224. onetool_mcp-1.0.0b1/src/ot/executor/fence_processor.py +83 -0
  225. onetool_mcp-1.0.0b1/src/ot/executor/linter.py +142 -0
  226. onetool_mcp-1.0.0b1/src/ot/executor/pack_proxy.py +260 -0
  227. onetool_mcp-1.0.0b1/src/ot/executor/param_resolver.py +140 -0
  228. onetool_mcp-1.0.0b1/src/ot/executor/pep723.py +288 -0
  229. onetool_mcp-1.0.0b1/src/ot/executor/result_store.py +369 -0
  230. onetool_mcp-1.0.0b1/src/ot/executor/runner.py +496 -0
  231. onetool_mcp-1.0.0b1/src/ot/executor/simple.py +163 -0
  232. onetool_mcp-1.0.0b1/src/ot/executor/tool_loader.py +396 -0
  233. onetool_mcp-1.0.0b1/src/ot/executor/validator.py +398 -0
  234. onetool_mcp-1.0.0b1/src/ot/executor/worker_pool.py +388 -0
  235. onetool_mcp-1.0.0b1/src/ot/executor/worker_proxy.py +189 -0
  236. onetool_mcp-1.0.0b1/src/ot/http_client.py +145 -0
  237. onetool_mcp-1.0.0b1/src/ot/logging/__init__.py +37 -0
  238. onetool_mcp-1.0.0b1/src/ot/logging/config.py +315 -0
  239. onetool_mcp-1.0.0b1/src/ot/logging/entry.py +213 -0
  240. onetool_mcp-1.0.0b1/src/ot/logging/format.py +188 -0
  241. onetool_mcp-1.0.0b1/src/ot/logging/span.py +349 -0
  242. onetool_mcp-1.0.0b1/src/ot/meta.py +1555 -0
  243. onetool_mcp-1.0.0b1/src/ot/paths.py +453 -0
  244. onetool_mcp-1.0.0b1/src/ot/prompts.py +218 -0
  245. onetool_mcp-1.0.0b1/src/ot/proxy/__init__.py +21 -0
  246. onetool_mcp-1.0.0b1/src/ot/proxy/manager.py +396 -0
  247. onetool_mcp-1.0.0b1/src/ot/py.typed +0 -0
  248. onetool_mcp-1.0.0b1/src/ot/registry/__init__.py +189 -0
  249. onetool_mcp-1.0.0b1/src/ot/registry/models.py +57 -0
  250. onetool_mcp-1.0.0b1/src/ot/registry/parser.py +269 -0
  251. onetool_mcp-1.0.0b1/src/ot/registry/registry.py +413 -0
  252. onetool_mcp-1.0.0b1/src/ot/server.py +315 -0
  253. onetool_mcp-1.0.0b1/src/ot/shortcuts/__init__.py +15 -0
  254. onetool_mcp-1.0.0b1/src/ot/shortcuts/aliases.py +87 -0
  255. onetool_mcp-1.0.0b1/src/ot/shortcuts/snippets.py +258 -0
  256. onetool_mcp-1.0.0b1/src/ot/stats/__init__.py +35 -0
  257. onetool_mcp-1.0.0b1/src/ot/stats/html.py +250 -0
  258. onetool_mcp-1.0.0b1/src/ot/stats/jsonl_writer.py +283 -0
  259. onetool_mcp-1.0.0b1/src/ot/stats/reader.py +354 -0
  260. onetool_mcp-1.0.0b1/src/ot/stats/timing.py +57 -0
  261. onetool_mcp-1.0.0b1/src/ot/support.py +63 -0
  262. onetool_mcp-1.0.0b1/src/ot/tools.py +114 -0
  263. onetool_mcp-1.0.0b1/src/ot/utils/__init__.py +81 -0
  264. onetool_mcp-1.0.0b1/src/ot/utils/batch.py +161 -0
  265. onetool_mcp-1.0.0b1/src/ot/utils/cache.py +120 -0
  266. onetool_mcp-1.0.0b1/src/ot/utils/deps.py +403 -0
  267. onetool_mcp-1.0.0b1/src/ot/utils/exceptions.py +23 -0
  268. onetool_mcp-1.0.0b1/src/ot/utils/factory.py +179 -0
  269. onetool_mcp-1.0.0b1/src/ot/utils/format.py +65 -0
  270. onetool_mcp-1.0.0b1/src/ot/utils/http.py +202 -0
  271. onetool_mcp-1.0.0b1/src/ot/utils/platform.py +45 -0
  272. onetool_mcp-1.0.0b1/src/ot/utils/sanitize.py +130 -0
  273. onetool_mcp-1.0.0b1/src/ot/utils/truncate.py +69 -0
  274. onetool_mcp-1.0.0b1/src/ot_tools/__init__.py +4 -0
  275. onetool_mcp-1.0.0b1/src/ot_tools/_convert/__init__.py +12 -0
  276. onetool_mcp-1.0.0b1/src/ot_tools/_convert/excel.py +279 -0
  277. onetool_mcp-1.0.0b1/src/ot_tools/_convert/pdf.py +254 -0
  278. onetool_mcp-1.0.0b1/src/ot_tools/_convert/powerpoint.py +268 -0
  279. onetool_mcp-1.0.0b1/src/ot_tools/_convert/utils.py +358 -0
  280. onetool_mcp-1.0.0b1/src/ot_tools/_convert/word.py +283 -0
  281. onetool_mcp-1.0.0b1/src/ot_tools/brave_search.py +604 -0
  282. onetool_mcp-1.0.0b1/src/ot_tools/code_search.py +736 -0
  283. onetool_mcp-1.0.0b1/src/ot_tools/context7.py +495 -0
  284. onetool_mcp-1.0.0b1/src/ot_tools/convert.py +614 -0
  285. onetool_mcp-1.0.0b1/src/ot_tools/db.py +415 -0
  286. onetool_mcp-1.0.0b1/src/ot_tools/diagram.py +1604 -0
  287. onetool_mcp-1.0.0b1/src/ot_tools/diagram.yaml +167 -0
  288. onetool_mcp-1.0.0b1/src/ot_tools/excel.py +1372 -0
  289. onetool_mcp-1.0.0b1/src/ot_tools/file.py +1348 -0
  290. onetool_mcp-1.0.0b1/src/ot_tools/firecrawl.py +732 -0
  291. onetool_mcp-1.0.0b1/src/ot_tools/grounding_search.py +646 -0
  292. onetool_mcp-1.0.0b1/src/ot_tools/package.py +604 -0
  293. onetool_mcp-1.0.0b1/src/ot_tools/py.typed +0 -0
  294. onetool_mcp-1.0.0b1/src/ot_tools/ripgrep.py +544 -0
  295. onetool_mcp-1.0.0b1/src/ot_tools/scaffold.py +471 -0
  296. onetool_mcp-1.0.0b1/src/ot_tools/transform.py +213 -0
  297. onetool_mcp-1.0.0b1/src/ot_tools/web_fetch.py +384 -0
  298. onetool_mcp-1.0.0b1/tests/.onetool/config/onetool.yaml +15 -0
  299. onetool_mcp-1.0.0b1/tests/__init__.py +0 -0
  300. onetool_mcp-1.0.0b1/tests/conftest.py +235 -0
  301. onetool_mcp-1.0.0b1/tests/integration/__init__.py +0 -0
  302. onetool_mcp-1.0.0b1/tests/integration/bench/__init__.py +0 -0
  303. onetool_mcp-1.0.0b1/tests/integration/bench/test_context_metrics.py +371 -0
  304. onetool_mcp-1.0.0b1/tests/integration/tools/__init__.py +0 -0
  305. onetool_mcp-1.0.0b1/tests/integration/tools/conftest.py +14 -0
  306. onetool_mcp-1.0.0b1/tests/integration/tools/test_brave_search.py +33 -0
  307. onetool_mcp-1.0.0b1/tests/integration/tools/test_context7.py +40 -0
  308. onetool_mcp-1.0.0b1/tests/integration/tools/test_convert.py +414 -0
  309. onetool_mcp-1.0.0b1/tests/integration/tools/test_firecrawl.py +53 -0
  310. onetool_mcp-1.0.0b1/tests/integration/tools/test_grounding_search.py +33 -0
  311. onetool_mcp-1.0.0b1/tests/integration/tools/test_package.py +112 -0
  312. onetool_mcp-1.0.0b1/tests/integration/tools/test_ripgrep.py +54 -0
  313. onetool_mcp-1.0.0b1/tests/integration/tools/test_web_fetch.py +41 -0
  314. onetool_mcp-1.0.0b1/tests/sanity/test_sanity-hints.md +41 -0
  315. onetool_mcp-1.0.0b1/tests/sanity/test_sanity.md +107 -0
  316. onetool_mcp-1.0.0b1/tests/sanity/test_sanity_status.yaml +203 -0
  317. onetool_mcp-1.0.0b1/tests/smoke/test_cli_bench.py +35 -0
  318. onetool_mcp-1.0.0b1/tests/smoke/test_cli_onetool.py +53 -0
  319. onetool_mcp-1.0.0b1/tests/smoke/test_config.py +43 -0
  320. onetool_mcp-1.0.0b1/tests/smoke/test_registry.py +44 -0
  321. onetool_mcp-1.0.0b1/tests/unit/__init__.py +0 -0
  322. onetool_mcp-1.0.0b1/tests/unit/bench/__init__.py +0 -0
  323. onetool_mcp-1.0.0b1/tests/unit/bench/test_csv_writer.py +212 -0
  324. onetool_mcp-1.0.0b1/tests/unit/bench/test_evaluate.py +337 -0
  325. onetool_mcp-1.0.0b1/tests/unit/bench/test_metrics.py +264 -0
  326. onetool_mcp-1.0.0b1/tests/unit/core/__init__.py +0 -0
  327. onetool_mcp-1.0.0b1/tests/unit/core/conftest.py +47 -0
  328. onetool_mcp-1.0.0b1/tests/unit/core/test_code_linter.py +183 -0
  329. onetool_mcp-1.0.0b1/tests/unit/core/test_code_validator.py +445 -0
  330. onetool_mcp-1.0.0b1/tests/unit/core/test_config_loader.py +963 -0
  331. onetool_mcp-1.0.0b1/tests/unit/core/test_config_settings.py +33 -0
  332. onetool_mcp-1.0.0b1/tests/unit/core/test_features_config.py +151 -0
  333. onetool_mcp-1.0.0b1/tests/unit/core/test_features_python.py +170 -0
  334. onetool_mcp-1.0.0b1/tests/unit/core/test_features_triggers.py +243 -0
  335. onetool_mcp-1.0.0b1/tests/unit/core/test_format.py +203 -0
  336. onetool_mcp-1.0.0b1/tests/unit/core/test_http_client.py +203 -0
  337. onetool_mcp-1.0.0b1/tests/unit/core/test_log_format.py +150 -0
  338. onetool_mcp-1.0.0b1/tests/unit/core/test_meta_help.py +287 -0
  339. onetool_mcp-1.0.0b1/tests/unit/core/test_meta_timed.py +48 -0
  340. onetool_mcp-1.0.0b1/tests/unit/core/test_param_resolver.py +202 -0
  341. onetool_mcp-1.0.0b1/tests/unit/core/test_paths.py +91 -0
  342. onetool_mcp-1.0.0b1/tests/unit/core/test_pep723.py +291 -0
  343. onetool_mcp-1.0.0b1/tests/unit/core/test_platform_utils.py +90 -0
  344. onetool_mcp-1.0.0b1/tests/unit/core/test_proxy_manager.py +176 -0
  345. onetool_mcp-1.0.0b1/tests/unit/core/test_python_exec.py +708 -0
  346. onetool_mcp-1.0.0b1/tests/unit/core/test_result_store.py +560 -0
  347. onetool_mcp-1.0.0b1/tests/unit/core/test_sanitize.py +243 -0
  348. onetool_mcp-1.0.0b1/tests/unit/core/test_secrets.py +225 -0
  349. onetool_mcp-1.0.0b1/tests/unit/core/test_shortcuts.py +313 -0
  350. onetool_mcp-1.0.0b1/tests/unit/core/test_stats.py +442 -0
  351. onetool_mcp-1.0.0b1/tests/unit/core/test_support.py +38 -0
  352. onetool_mcp-1.0.0b1/tests/unit/core/test_tool_loader.py +103 -0
  353. onetool_mcp-1.0.0b1/tests/unit/core/test_tools.py +73 -0
  354. onetool_mcp-1.0.0b1/tests/unit/core/test_worker_pool.py +164 -0
  355. onetool_mcp-1.0.0b1/tests/unit/core/test_worker_proxy.py +197 -0
  356. onetool_mcp-1.0.0b1/tests/unit/serve/test_tool_registry.py +239 -0
  357. onetool_mcp-1.0.0b1/tests/unit/tools/__init__.py +0 -0
  358. onetool_mcp-1.0.0b1/tests/unit/tools/test_brave_search.py +572 -0
  359. onetool_mcp-1.0.0b1/tests/unit/tools/test_code_search.py +775 -0
  360. onetool_mcp-1.0.0b1/tests/unit/tools/test_context7.py +541 -0
  361. onetool_mcp-1.0.0b1/tests/unit/tools/test_convert.py +462 -0
  362. onetool_mcp-1.0.0b1/tests/unit/tools/test_excel.py +951 -0
  363. onetool_mcp-1.0.0b1/tests/unit/tools/test_file.py +688 -0
  364. onetool_mcp-1.0.0b1/tests/unit/tools/test_firecrawl.py +581 -0
  365. onetool_mcp-1.0.0b1/tests/unit/tools/test_grounding_search.py +711 -0
  366. onetool_mcp-1.0.0b1/tests/unit/tools/test_info.py +778 -0
  367. onetool_mcp-1.0.0b1/tests/unit/tools/test_notify.py +163 -0
  368. onetool_mcp-1.0.0b1/tests/unit/tools/test_package.py +821 -0
  369. onetool_mcp-1.0.0b1/tests/unit/tools/test_ripgrep.py +729 -0
  370. onetool_mcp-1.0.0b1/tests/unit/tools/test_scaffold.py +584 -0
  371. onetool_mcp-1.0.0b1/tests/unit/tools/test_transform.py +544 -0
  372. onetool_mcp-1.0.0b1/tests/unit/tools/test_web_fetch.py +478 -0
  373. onetool_mcp-1.0.0b1/tests/unit/tools/tool_db/test_db.py +475 -0
  374. onetool_mcp-1.0.0b1/tests/unit/tools/tool_diagram/test_diagram.py +441 -0
  375. onetool_mcp-1.0.0b1/uv.lock +3916 -0
  376. onetool_mcp-1.0.0b1/workspace.code-workspace +33 -0
@@ -0,0 +1,37 @@
1
+ {
2
+ "database": {
3
+ "provider": "duckdb"
4
+ },
5
+ "embedding": {
6
+ "provider": "openai",
7
+ "model": "text-embedding-3-small",
8
+ "base_url": "https://openrouter.ai/api/v1"
9
+ },
10
+ "indexing": {
11
+ "include": [
12
+ "**/*.py",
13
+ "**/*.md",
14
+ "**/*.yaml",
15
+ "**/*.toml",
16
+ "**/*.json"
17
+ ],
18
+ "exclude": [
19
+ "**/node_modules/**",
20
+ "**/__pycache__/**",
21
+ "**/.venv/**",
22
+ "**/dist/**",
23
+ "**/build/**",
24
+ "**/*.egg-info/**",
25
+ "**/.git/**",
26
+ "**/.local/**",
27
+ "**/htmlcov/**",
28
+ "**/.mypy_cache/**",
29
+ "**/.pytest_cache/**",
30
+ "**/.ruff_cache/**"
31
+ ]
32
+ },
33
+ "mcp": {
34
+ "transport": "stdio"
35
+ },
36
+ "debug": false
37
+ }
@@ -0,0 +1,23 @@
1
+ ---
2
+ name: OpenSpec: Apply
3
+ description: Implement an approved OpenSpec change and keep tasks in sync.
4
+ category: OpenSpec
5
+ tags: [openspec, apply]
6
+ ---
7
+ <!-- OPENSPEC:START -->
8
+ **Guardrails**
9
+ - Favor straightforward, minimal implementations first and add complexity only when it is requested or clearly required.
10
+ - Keep changes tightly scoped to the requested outcome.
11
+ - Refer to `openspec/AGENTS.md` (located inside the `openspec/` directory—run `ls openspec` or `openspec update` if you don't see it) if you need additional OpenSpec conventions or clarifications.
12
+
13
+ **Steps**
14
+ Track these steps as TODOs and complete them one by one.
15
+ 1. Read `changes/<id>/proposal.md`, `design.md` (if present), and `tasks.md` to confirm scope and acceptance criteria.
16
+ 2. Work through tasks sequentially, keeping edits minimal and focused on the requested change.
17
+ 3. Confirm completion before updating statuses—make sure every item in `tasks.md` is finished.
18
+ 4. Update the checklist after all work is done so each task is marked `- [x]` and reflects reality.
19
+ 5. Reference `openspec list` or `openspec show <item>` when additional context is required.
20
+
21
+ **Reference**
22
+ - Use `openspec show <id> --json --deltas-only` if you need additional context from the proposal while implementing.
23
+ <!-- OPENSPEC:END -->
@@ -0,0 +1,27 @@
1
+ ---
2
+ name: OpenSpec: Archive
3
+ description: Archive a deployed OpenSpec change and update specs.
4
+ category: OpenSpec
5
+ tags: [openspec, archive]
6
+ ---
7
+ <!-- OPENSPEC:START -->
8
+ **Guardrails**
9
+ - Favor straightforward, minimal implementations first and add complexity only when it is requested or clearly required.
10
+ - Keep changes tightly scoped to the requested outcome.
11
+ - Refer to `openspec/AGENTS.md` (located inside the `openspec/` directory—run `ls openspec` or `openspec update` if you don't see it) if you need additional OpenSpec conventions or clarifications.
12
+
13
+ **Steps**
14
+ 1. Determine the change ID to archive:
15
+ - If this prompt already includes a specific change ID (for example inside a `<ChangeId>` block populated by slash-command arguments), use that value after trimming whitespace.
16
+ - If the conversation references a change loosely (for example by title or summary), run `openspec list` to surface likely IDs, share the relevant candidates, and confirm which one the user intends.
17
+ - Otherwise, review the conversation, run `openspec list`, and ask the user which change to archive; wait for a confirmed change ID before proceeding.
18
+ - If you still cannot identify a single change ID, stop and tell the user you cannot archive anything yet.
19
+ 2. Validate the change ID by running `openspec list` (or `openspec show <id>`) and stop if the change is missing, already archived, or otherwise not ready to archive.
20
+ 3. Run `openspec archive <id> --yes` so the CLI moves the change and applies spec updates without prompts (use `--skip-specs` only for tooling-only work).
21
+ 4. Review the command output to confirm the target specs were updated and the change landed in `changes/archive/`.
22
+ 5. Validate with `openspec validate --strict` and inspect with `openspec show <id>` if anything looks off.
23
+
24
+ **Reference**
25
+ - Use `openspec list` to confirm change IDs before archiving.
26
+ - Inspect refreshed specs with `openspec list --specs` and address any validation issues before handing off.
27
+ <!-- OPENSPEC:END -->
@@ -0,0 +1,28 @@
1
+ ---
2
+ name: OpenSpec: Proposal
3
+ description: Scaffold a new OpenSpec change and validate strictly.
4
+ category: OpenSpec
5
+ tags: [openspec, change]
6
+ ---
7
+ <!-- OPENSPEC:START -->
8
+ **Guardrails**
9
+ - Favor straightforward, minimal implementations first and add complexity only when it is requested or clearly required.
10
+ - Keep changes tightly scoped to the requested outcome.
11
+ - Refer to `openspec/AGENTS.md` (located inside the `openspec/` directory—run `ls openspec` or `openspec update` if you don't see it) if you need additional OpenSpec conventions or clarifications.
12
+ - Identify any vague or ambiguous details and ask the necessary follow-up questions before editing files.
13
+ - Do not write any code during the proposal stage. Only create design documents (proposal.md, tasks.md, design.md, and spec deltas). Implementation happens in the apply stage after approval.
14
+
15
+ **Steps**
16
+ 1. Review `openspec/project.md`, run `openspec list` and `openspec list --specs`, and inspect related code or docs (e.g., via `rg`/`ls`) to ground the proposal in current behaviour; note any gaps that require clarification.
17
+ 2. Choose a unique verb-led `change-id` and scaffold `proposal.md`, `tasks.md`, and `design.md` (when needed) under `openspec/changes/<id>/`.
18
+ 3. Map the change into concrete capabilities or requirements, breaking multi-scope efforts into distinct spec deltas with clear relationships and sequencing.
19
+ 4. Capture architectural reasoning in `design.md` when the solution spans multiple systems, introduces new patterns, or demands trade-off discussion before committing to specs.
20
+ 5. Draft spec deltas in `changes/<id>/specs/<capability>/spec.md` (one folder per capability) using `## ADDED|MODIFIED|REMOVED Requirements` with at least one `#### Scenario:` per requirement and cross-reference related capabilities when relevant.
21
+ 6. Draft `tasks.md` as an ordered list of small, verifiable work items that deliver user-visible progress, include validation (tests, tooling), and highlight dependencies or parallelizable work.
22
+ 7. Validate with `openspec validate <id> --strict` and resolve every issue before sharing the proposal.
23
+
24
+ **Reference**
25
+ - Use `openspec show <id> --json --deltas-only` or `openspec show <spec> --type spec` to inspect details when validation fails.
26
+ - Search existing requirements with `rg -n "Requirement:|Scenario:" openspec/specs` before writing new ones.
27
+ - Explore the codebase with `rg <keyword>`, `ls`, or direct file reads so proposals align with current implementation realities.
28
+ <!-- OPENSPEC:END -->
@@ -0,0 +1,63 @@
1
+ ---
2
+ name: Consult
3
+ description: Interactive consultation mode for research and Q&A. Can save findings on explicit request.
4
+ category: onetool
5
+ tags: [consultation, research, qa, findings]
6
+ ---
7
+
8
+ **Assumptions**
9
+ - Uses openspec (`openspec/project.md` for context)
10
+ - Language agnostic
11
+
12
+ **Guardrails**
13
+ - This is primarily a READ-ONLY consultation session. You MUST NOT:
14
+ - Make git commits or push changes
15
+ - Run commands that modify the system (e.g., `git commit`, `rm`, `mv`, `npm install`)
16
+ - Modify existing project source code
17
+ - You CAN and SHOULD:
18
+ - Read files, search code, and explore the codebase
19
+ - Run read-only commands (e.g., `git log`, `git status`, `git diff`, `ls`, `cat`)
20
+ - Use web search for up-to-date information
21
+ - Answer questions thoroughly with code references
22
+ - Ask clarifying questions to understand user needs
23
+ - **Writing Findings (on explicit request only)**:
24
+ - When the user explicitly asks to save, write, or document findings (e.g., "save these findings", "write this up", "document what we found"):
25
+ - Suggest a descriptive filename based on the topic discussed
26
+ - Write findings to `plan/consult/<name>.md` (create directory if needed)
27
+ - Unless user specifies a different location
28
+ - Use a clear heading with date/time and topic
29
+ - Include key discoveries, code references, and conclusions
30
+ - Do NOT write findings unless the user explicitly requests it
31
+ - The session continues until the user explicitly ends it (e.g., "end consultation", "done consulting", "exit consult mode").
32
+
33
+ **Steps**
34
+ 1. Begin the consultation:
35
+ - Acknowledge entering consultation mode.
36
+ - Briefly explain the read-only constraints.
37
+ - Ask what the user would like to explore or discuss.
38
+ 2. Handle each question:
39
+ - Listen to the user's question or topic.
40
+ - Use read-only tools (Read, Glob, Grep, WebSearch, WebFetch, Task with Explore agent) to research.
41
+ - Provide clear, detailed answers with file references where relevant.
42
+ - Ask follow-up questions if clarification is needed.
43
+ 3. Continue the dialogue:
44
+ - After answering, check if the user has more questions.
45
+ - Offer to dive deeper into related topics.
46
+ - Suggest areas that might be worth exploring.
47
+ 4. Save findings (on explicit request):
48
+ - When user asks to save/document findings:
49
+ - Suggest a filename: "I'll save this as `plan/consult/<topic>.md` - sound good?"
50
+ - Create `plan/consult/` directory if it doesn't exist
51
+ - Write with dated heading and key discoveries
52
+ - Confirm what was written
53
+ 5. End the session:
54
+ - When the user signals they are done (e.g., "end consultation", "done", "exit"):
55
+ - Summarize key findings from the session.
56
+ - Suggest next steps if applicable (e.g., creating a proposal, making changes).
57
+ - Confirm the session has ended.
58
+
59
+ **Reference**
60
+ - Use exploration agents (Task with subagent_type=Explore) for open-ended codebase questions.
61
+ - Reference files using markdown link format: `[filename.ts](path/to/file.ts)`.
62
+ - For web research, cite sources in your answers.
63
+ - Cross-reference with `openspec/project.md` for project context when relevant.
@@ -0,0 +1,165 @@
1
+ ---
2
+ name: Doc Sync
3
+ description: Check code and ensure documentation is in sync with implementation.
4
+ category: onetool
5
+ tags: [documentation, sync, review, tools, cli]
6
+ ---
7
+
8
+ ## Purpose
9
+
10
+ Verify that all documentation accurately reflects the current implementation by reviewing CLI commands and tools against their documentation.
11
+
12
+ ## Scope
13
+ - README.md
14
+ - All docs in `/docs`
15
+ - `docs/llms.txt`
16
+
17
+ **Guardrails**
18
+ - DO NOT make changes without explicit user confirmation
19
+ - DO NOT create commits - this is a review command
20
+ - Present findings clearly in a table format
21
+ - Code is the source of truth - docs should match implementation
22
+
23
+ ---
24
+
25
+ ## Step 1: CLI Documentation Sync
26
+
27
+ Review each CLI command against its documentation.
28
+
29
+ ### 1.1 onetool
30
+
31
+ Compare `src/onetool/` implementation with:
32
+ - `docs/reference/cli/onetool.md`
33
+ - README.md CLI section
34
+ - `docs/llms.txt` CLI section
35
+
36
+ Check for:
37
+ - Command line flags and options match implementation
38
+ - Default values are accurate
39
+ - Environment variables are documented
40
+ - Usage examples work correctly
41
+
42
+ ### 1.2 bench
43
+
44
+ Compare `src/bench/` implementation with:
45
+ - `docs/reference/cli/bench.md`
46
+ - README.md CLI section (if mentioned)
47
+ - `docs/llms.txt` CLI section
48
+
49
+ Check for:
50
+ - Command line flags and options match implementation
51
+ - Default values are accurate
52
+ - Environment variables are documented
53
+ - Usage examples work correctly
54
+
55
+ ### 1.3 Other CLIs
56
+
57
+ Check for any additional CLI entry points in `pyproject.toml` and verify they are documented.
58
+
59
+ ---
60
+
61
+ ## Step 2: Tool Documentation Sync
62
+
63
+ Review each tool namespace against its documentation.
64
+
65
+ For each tool in `src/ot_tools/`:
66
+
67
+ ### 2.1 Read the Implementation
68
+
69
+ - Read the tool source file
70
+ - Note the `namespace` variable
71
+ - List all public functions with their signatures
72
+ - Extract docstrings and parameter descriptions
73
+ - Note default values and required parameters
74
+
75
+ ### 2.2 Compare with Documentation
76
+
77
+ Compare against:
78
+ - `docs/reference/tools/<namespace>.md`
79
+ - `docs/llms.txt` tool listing
80
+ - README.md (if tool is mentioned in features/capabilities)
81
+
82
+ Check for:
83
+ - Function names match documentation
84
+ - Parameter names and types match
85
+ - Default values are accurate
86
+ - Docstrings align with documentation descriptions
87
+ - All public functions are documented
88
+ - No documented functions that don't exist in code
89
+
90
+ ### 2.3 Tools to Review
91
+
92
+ Process each tool file in `src/ot_tools/`:
93
+
94
+ 1. `brave_search.py` → `docs/reference/tools/brave-search.md`
95
+ 2. `web_fetch.py` → `docs/reference/tools/web-fetch.md`
96
+ 3. `context7.py` → `docs/reference/tools/context7.md`
97
+ 4. `code_search.py` → `docs/reference/tools/code-search.md`
98
+ 5. `transform.py` → `docs/reference/tools/transform.md`
99
+ 6. `db.py` → `docs/reference/tools/database.md`
100
+ 7. `package.py` → `docs/reference/tools/package.md`
101
+ 8. `ripgrep.py` → `docs/reference/tools/ripgrep.md`
102
+ 9. `excel.py` → `docs/reference/tools/excel.md`
103
+ 10. `file.py` → `docs/reference/tools/file.md`
104
+ 11. `diagram.py` → `docs/reference/tools/diagram.md`
105
+ 12. `convert.py` → `docs/reference/tools/convert.md`
106
+ 13. `grounding_search.py` → `docs/reference/tools/grounding-search.md`
107
+ 14. `internal.py` → `docs/reference/tools/ot.md`
108
+
109
+ ---
110
+
111
+ ## Step 3: Cross-Document Consistency
112
+
113
+ ### 3.1 README.md
114
+
115
+ Verify README accurately reflects:
116
+ - List of namespaces/tools matches actual tools
117
+ - Feature descriptions match implementation
118
+ - Installation instructions work
119
+ - Quick start examples are accurate
120
+ - Links to docs are valid
121
+
122
+ ### 3.2 docs/llms.txt
123
+
124
+ Verify `docs/llms.txt` reflects:
125
+ - All namespaces are listed
126
+ - Function names for each namespace are accurate
127
+ - No missing or extra functions
128
+ - Quick invocation examples work
129
+
130
+ ### 3.3 Index Pages
131
+
132
+ Check that index pages list all relevant items:
133
+ - `docs/reference/tools/index.md` lists all tool docs
134
+ - `docs/reference/cli/index.md` lists all CLI docs
135
+
136
+ ---
137
+
138
+ ## Step 4: Present Findings
139
+
140
+ After completing all reviews, present a consolidated findings table:
141
+
142
+ ```text
143
+ | # | Area | Doc File | Issue Type | Description | Suggested Fix |
144
+ |---|------|----------|------------|-------------|---------------|
145
+ ```
146
+
147
+ Issue Types:
148
+ - `missing` - Feature/function exists in code but not documented
149
+ - `outdated` - Documentation exists but doesn't match current implementation
150
+ - `incorrect` - Documentation contains wrong information
151
+ - `removed` - Documentation describes something that no longer exists
152
+ - `broken` - Examples or links that don't work
153
+
154
+ Group findings by:
155
+ 1. CLI issues
156
+ 2. Tool issues (grouped by namespace)
157
+ 3. Cross-document issues
158
+
159
+ ---
160
+
161
+ ## Step 5: Apply Fixes
162
+
163
+ Present the numbered list and ASK: "Which issues would you like me to fix? (e.g., '1, 3, 5', 'all', 'none')"
164
+
165
+ Apply only the confirmed fixes, then show a summary of changes made.
@@ -0,0 +1,8 @@
1
+ ---
2
+ name: Prime
3
+ description: Load project context from AGENTS_PRIME.md
4
+ ---
5
+
6
+ Read and present the contents of `AGENTS_PRIME.md` to prime the conversation with project context.
7
+
8
+ After reading, briefly confirm the context is loaded and ask what the user would like to work on.
@@ -0,0 +1,183 @@
1
+ ---
2
+ name: Quick Apply
3
+ description: Plan and apply small changes across code, tests, specs, docs, and config in one pass.
4
+ category: onetool
5
+ tags: [apply, quick, change, all-in-one]
6
+ ---
7
+
8
+ ## Purpose
9
+
10
+ Streamlined workflow for small-to-medium changes that don't warrant full OpenSpec proposal scaffolding. Combines planning, implementation, spec updates, doc sync, and config migration into a single pass.
11
+
12
+ **Use this for:**
13
+ - Bug fixes with clear scope
14
+ - Small features or enhancements
15
+ - Refactoring with known boundaries
16
+ - Config migrations
17
+ - Documentation updates with code changes
18
+
19
+ **Use OpenSpec proposal instead for:**
20
+ - Breaking changes
21
+ - New capabilities spanning multiple systems
22
+ - Architectural decisions needing design review
23
+ - Changes requiring stakeholder approval
24
+
25
+ ---
26
+
27
+ ## Input
28
+
29
+ This command accepts either:
30
+ 1. **Direct instruction** - Describe the change in the conversation
31
+ 2. **Markdown file** - Reference a file with change details (e.g., `plan/consult/some-fix.md`)
32
+
33
+ If input is unclear, ASK the user to clarify before proceeding.
34
+
35
+ ---
36
+
37
+ ## Guardrails
38
+
39
+ - Keep changes tightly scoped to the requested outcome
40
+ - Favor straightforward, minimal implementations
41
+ - Code is the source of truth - specs and docs follow implementation
42
+ - DO NOT create commits unless explicitly requested
43
+ - Present a plan before making changes
44
+ - ASK before proceeding to each major phase
45
+
46
+ ---
47
+
48
+ ## Step 1: Understand the Change
49
+
50
+ 1. Read any referenced files or instructions
51
+ 2. Explore relevant code with `rg` or file reads to understand current state
52
+ 3. Identify all affected areas:
53
+ - Source files to modify
54
+ - Tests to add/update
55
+ - Specs to update
56
+ - Docs to sync
57
+ - Config to migrate
58
+
59
+ ---
60
+
61
+ ## Step 2: Present the Plan
62
+
63
+ Show a concise plan:
64
+
65
+ ```text
66
+ ## Change: <one-line summary>
67
+
68
+ ### Code Changes
69
+ - [ ] file.py: <what changes>
70
+
71
+ ### Test Changes
72
+ - [ ] test_file.py: <what changes>
73
+
74
+ ### Spec Updates
75
+ - [ ] openspec/specs/<spec>/spec.md: <what changes>
76
+
77
+ ### Doc Updates
78
+ - [ ] docs/<file>.md: <what changes>
79
+ - [ ] README.md: <if affected>
80
+
81
+ ### Config Changes
82
+ - [ ] <config file>: <what changes>
83
+ ```
84
+
85
+ ASK: "Does this plan look correct? Reply 'yes' to proceed or suggest changes."
86
+
87
+ Wait for confirmation before proceeding.
88
+
89
+ ---
90
+
91
+ ## Step 3: Apply Code Changes
92
+
93
+ 1. Make the code changes as planned
94
+ 2. Keep edits minimal and focused
95
+ 3. Run linting/type checks if configured
96
+ 4. Report any issues encountered
97
+
98
+ ---
99
+
100
+ ## Step 4: Apply Test Changes
101
+
102
+ 1. Add or update tests for the changed behavior
103
+ 2. Follow project testing conventions (see `AGENTS.md`)
104
+ 3. Ensure tests have proper markers (smoke/unit/integration, component tags)
105
+ 4. Run affected tests to verify they pass
106
+
107
+ Report test results before proceeding.
108
+
109
+ ---
110
+
111
+ ## Step 5: Update Specs
112
+
113
+ If specs exist for the changed functionality:
114
+
115
+ 1. Locate relevant specs in `openspec/specs/`
116
+ 2. Update requirements to match new implementation
117
+ 3. Update or add scenarios as needed
118
+ 4. Run `openspec validate --strict` if available
119
+
120
+ Skip this step if no specs are affected.
121
+
122
+ ---
123
+
124
+ ## Step 6: Sync Documentation
125
+
126
+ Review and update affected docs:
127
+
128
+ ### 6.1 README.md
129
+ - Update if features, usage, or examples changed
130
+
131
+ ### 6.2 docs/ files
132
+ - Update relevant documentation pages
133
+ - Ensure code examples are accurate
134
+ - Update CLI flags or API signatures
135
+
136
+ ### 6.3 docs/llms.txt
137
+ - Update if tool functions or CLI changed
138
+
139
+ ### 6.4 Docstrings
140
+ - Ensure function docstrings match new behavior
141
+
142
+ ---
143
+
144
+ ## Step 7: Config Migration
145
+
146
+ If config changes are needed:
147
+
148
+ 1. Update default config values
149
+ 2. Add migration logic if breaking existing configs
150
+ 3. Update config documentation
151
+ 4. Test config loading with new values
152
+
153
+ ---
154
+
155
+ ## Step 8: OpenSpec spec check
156
+
157
+ Verify that any specs in `openspec/specs/` affected by your changes are accurate and complete. Code is the source of truth—specs must match the implementation.
158
+
159
+ ## Step 9: Summary
160
+
161
+ Present a summary of all changes:
162
+
163
+ ```text
164
+
165
+ ## Summary of Applied Changes
166
+
167
+ ### Code
168
+ - ✅ file.py: <summary>
169
+
170
+ ### Tests
171
+ - ✅ test_file.py: <summary>
172
+ - Test results: X passed
173
+
174
+ ### Specs
175
+ - ✅ spec.md: <summary>
176
+
177
+ ### Docs
178
+ - ✅ README.md: <summary>
179
+
180
+ ### Config
181
+ - ✅ config.yaml: <summary>
182
+
183
+ ```