opencode-skills-collection 3.1.11 → 3.1.13

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 (760) hide show
  1. package/bundled-skills/.antigravity-install-manifest.json +192 -1
  2. package/bundled-skills/ab-testing/SKILL.md +368 -0
  3. package/bundled-skills/ab-testing/evals/evals.json +105 -0
  4. package/bundled-skills/ab-testing/references/sample-size-guide.md +263 -0
  5. package/bundled-skills/ab-testing/references/test-templates.md +277 -0
  6. package/bundled-skills/accint-commitments/SKILL.md +32 -0
  7. package/bundled-skills/accint-frames/SKILL.md +35 -0
  8. package/bundled-skills/accint-solve/SKILL.md +22 -192
  9. package/bundled-skills/add-app-clip/SKILL.md +297 -0
  10. package/bundled-skills/add-app-clip/agents/openai.yaml +4 -0
  11. package/bundled-skills/add-app-clip/references/native-module.md +96 -0
  12. package/bundled-skills/agent-memory/SKILL.md +84 -0
  13. package/bundled-skills/alternatives-pages/README.md +46 -0
  14. package/bundled-skills/alternatives-pages/SKILL.md +376 -0
  15. package/bundled-skills/analytics/SKILL.md +324 -0
  16. package/bundled-skills/analytics/evals/evals.json +90 -0
  17. package/bundled-skills/analytics/references/event-library.md +260 -0
  18. package/bundled-skills/analytics/references/ga4-implementation.md +300 -0
  19. package/bundled-skills/analytics/references/gtm-implementation.md +390 -0
  20. package/bundled-skills/anti-deception/SKILL.md +50 -0
  21. package/bundled-skills/api-analyzer/SKILL.md +101 -0
  22. package/bundled-skills/api-and-interface-design/SKILL.md +307 -0
  23. package/bundled-skills/api-designer/SKILL.md +167 -0
  24. package/bundled-skills/api-integration/SKILL.md +175 -0
  25. package/bundled-skills/api-onboarding/README.md +47 -0
  26. package/bundled-skills/api-onboarding/SKILL.md +473 -0
  27. package/bundled-skills/api-sdk-generator/SKILL.md +223 -0
  28. package/bundled-skills/appium-skill/SKILL.md +317 -0
  29. package/bundled-skills/applicationinsights-web-ts/SKILL.md +477 -0
  30. package/bundled-skills/automated-triage/SKILL.md +189 -0
  31. package/bundled-skills/aws-agentic-ai/SKILL.md +141 -0
  32. package/bundled-skills/aws-cdk-development/SKILL.md +275 -0
  33. package/bundled-skills/aws-cost-operations/SKILL.md +273 -0
  34. package/bundled-skills/aws-mcp-setup/SKILL.md +192 -0
  35. package/bundled-skills/aws-serverless-eda/SKILL.md +394 -0
  36. package/bundled-skills/aws-sst-development/SKILL.md +175 -0
  37. package/bundled-skills/azure-ai-language-conversations-py/SKILL.md +112 -0
  38. package/bundled-skills/azure-servicebus-rust/SKILL.md +182 -0
  39. package/bundled-skills/azure-storage-queue-rust/SKILL.md +178 -0
  40. package/bundled-skills/baseline-ui/SKILL.md +15 -10
  41. package/bundled-skills/brooks-audit/SKILL.md +49 -0
  42. package/bundled-skills/brooks-audit/architecture-guide.md +195 -0
  43. package/bundled-skills/brooks-audit/onboarding-guide.md +89 -0
  44. package/bundled-skills/brooks-debt/SKILL.md +42 -0
  45. package/bundled-skills/brooks-debt/debt-guide.md +125 -0
  46. package/bundled-skills/brooks-harness/SKILL.md +139 -0
  47. package/bundled-skills/brooks-review/SKILL.md +42 -0
  48. package/bundled-skills/brooks-review/pr-review-guide.md +163 -0
  49. package/bundled-skills/brooks-sweep/SKILL.md +44 -0
  50. package/bundled-skills/brooks-sweep/sweep-guide.md +264 -0
  51. package/bundled-skills/brooks-test/SKILL.md +41 -0
  52. package/bundled-skills/brooks-test/test-guide.md +147 -0
  53. package/bundled-skills/bug-hunt-swarm/SKILL.md +189 -0
  54. package/bundled-skills/bug-hunt-swarm/agents/openai.yaml +4 -0
  55. package/bundled-skills/building-native-ui/SKILL.md +77 -18
  56. package/bundled-skills/building-native-ui/agents/openai.yaml +4 -0
  57. package/bundled-skills/building-native-ui/references/animations.md +220 -0
  58. package/bundled-skills/building-native-ui/references/controls.md +270 -0
  59. package/bundled-skills/building-native-ui/references/form-sheet.md +253 -0
  60. package/bundled-skills/building-native-ui/references/gradients.md +106 -0
  61. package/bundled-skills/building-native-ui/references/icons.md +213 -0
  62. package/bundled-skills/building-native-ui/references/media.md +198 -0
  63. package/bundled-skills/building-native-ui/references/route-structure.md +229 -0
  64. package/bundled-skills/building-native-ui/references/search.md +248 -0
  65. package/bundled-skills/building-native-ui/references/storage.md +121 -0
  66. package/bundled-skills/building-native-ui/references/tabs.md +433 -0
  67. package/bundled-skills/building-native-ui/references/toolbar-and-headers.md +284 -0
  68. package/bundled-skills/building-native-ui/references/visual-effects.md +197 -0
  69. package/bundled-skills/building-native-ui/references/webgpu-three.md +605 -0
  70. package/bundled-skills/building-native-ui/references/zoom-transitions.md +158 -0
  71. package/bundled-skills/changelog-updates/README.md +53 -0
  72. package/bundled-skills/changelog-updates/SKILL.md +552 -0
  73. package/bundled-skills/ci-cd-and-automation/SKILL.md +403 -0
  74. package/bundled-skills/claimable-postgres/SKILL.md +91 -59
  75. package/bundled-skills/co-marketing/SKILL.md +301 -0
  76. package/bundled-skills/co-marketing/evals/evals.json +84 -0
  77. package/bundled-skills/code-review-and-quality/SKILL.md +394 -0
  78. package/bundled-skills/code-showcase-core-components/SKILL.md +281 -0
  79. package/bundled-skills/code-showcase-react-ui-patterns/SKILL.md +306 -0
  80. package/bundled-skills/code-showcase-systematic-debugging/SKILL.md +167 -0
  81. package/bundled-skills/code-showcase-testing-patterns/SKILL.md +276 -0
  82. package/bundled-skills/code-simplification/SKILL.md +344 -0
  83. package/bundled-skills/community-building/README.md +102 -0
  84. package/bundled-skills/community-building/SKILL.md +415 -0
  85. package/bundled-skills/competitor-profiling/SKILL.md +427 -0
  86. package/bundled-skills/competitor-profiling/evals/evals.json +85 -0
  87. package/bundled-skills/competitor-profiling/references/templates.md +167 -0
  88. package/bundled-skills/competitor-profiling/references/tool-reference.md +179 -0
  89. package/bundled-skills/competitor-tracking/README.md +40 -0
  90. package/bundled-skills/competitor-tracking/SKILL.md +322 -0
  91. package/bundled-skills/context-engineering/SKILL.md +302 -0
  92. package/bundled-skills/cro/SKILL.md +202 -0
  93. package/bundled-skills/cro/evals/evals.json +111 -0
  94. package/bundled-skills/cro/references/experiments.md +248 -0
  95. package/bundled-skills/cro/references/form.md +422 -0
  96. package/bundled-skills/cucumber-skill/SKILL.md +235 -0
  97. package/bundled-skills/customer-research/SKILL.md +287 -0
  98. package/bundled-skills/customer-research/evals/evals.json +162 -0
  99. package/bundled-skills/customer-research/references/source-guides.md +401 -0
  100. package/bundled-skills/cypress-skill/SKILL.md +235 -0
  101. package/bundled-skills/debugging-and-error-recovery/SKILL.md +313 -0
  102. package/bundled-skills/debugging-code/SKILL.md +284 -0
  103. package/bundled-skills/debugging-code/references/advanced-techniques.md +50 -0
  104. package/bundled-skills/debugging-code/references/installing-debuggers.md +67 -0
  105. package/bundled-skills/debugging-code/scripts/install-dap.sh +87 -0
  106. package/bundled-skills/deprecation-and-migration/SKILL.md +219 -0
  107. package/bundled-skills/design-philosophy/SKILL.md +40 -0
  108. package/bundled-skills/design-philosophy/reference.md +19 -0
  109. package/bundled-skills/design-spatial/SKILL.md +271 -0
  110. package/bundled-skills/design-spatial/scripts/layout-audit.js +138 -0
  111. package/bundled-skills/design-system/SKILL.md +140 -0
  112. package/bundled-skills/design-system/references/motion-choreography.md +111 -0
  113. package/bundled-skills/design-thinking/SKILL.md +109 -0
  114. package/bundled-skills/design-ux/SKILL.md +75 -0
  115. package/bundled-skills/dev-to-hashnode/README.md +62 -0
  116. package/bundled-skills/dev-to-hashnode/SKILL.md +399 -0
  117. package/bundled-skills/developer-advocacy/README.md +102 -0
  118. package/bundled-skills/developer-advocacy/SKILL.md +423 -0
  119. package/bundled-skills/developer-audience-context/README.md +61 -0
  120. package/bundled-skills/developer-audience-context/SKILL.md +271 -0
  121. package/bundled-skills/developer-audience-context/references/example-apitest.md +175 -0
  122. package/bundled-skills/developer-audience-context/references/template.md +152 -0
  123. package/bundled-skills/developer-churn/README.md +80 -0
  124. package/bundled-skills/developer-churn/SKILL.md +652 -0
  125. package/bundled-skills/developer-listening/README.md +30 -0
  126. package/bundled-skills/developer-listening/SKILL.md +232 -0
  127. package/bundled-skills/developer-newsletter/README.md +84 -0
  128. package/bundled-skills/developer-newsletter/SKILL.md +376 -0
  129. package/bundled-skills/developer-onboarding/README.md +35 -0
  130. package/bundled-skills/developer-onboarding/SKILL.md +530 -0
  131. package/bundled-skills/developer-sandbox/README.md +47 -0
  132. package/bundled-skills/developer-sandbox/SKILL.md +504 -0
  133. package/bundled-skills/developer-seo/README.md +36 -0
  134. package/bundled-skills/developer-seo/SKILL.md +296 -0
  135. package/bundled-skills/developer-signup-flow/README.md +36 -0
  136. package/bundled-skills/developer-signup-flow/SKILL.md +397 -0
  137. package/bundled-skills/devrel-content/README.md +81 -0
  138. package/bundled-skills/devrel-content/SKILL.md +428 -0
  139. package/bundled-skills/docs/integrations/jetski-cortex.md +3 -3
  140. package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +1 -1
  141. package/bundled-skills/docs/maintainers/repo-growth-seo.md +3 -3
  142. package/bundled-skills/docs/maintainers/skills-update-guide.md +1 -1
  143. package/bundled-skills/docs/users/bundles.md +1 -1
  144. package/bundled-skills/docs/users/claude-code-skills.md +1 -1
  145. package/bundled-skills/docs/users/faq.md +1 -1
  146. package/bundled-skills/docs/users/gemini-cli-skills.md +1 -1
  147. package/bundled-skills/docs/users/getting-started.md +1 -1
  148. package/bundled-skills/docs/users/kiro-integration.md +1 -1
  149. package/bundled-skills/docs/users/usage.md +8 -8
  150. package/bundled-skills/docs/users/visual-guide.md +8 -8
  151. package/bundled-skills/docs-as-marketing/README.md +37 -0
  152. package/bundled-skills/docs-as-marketing/SKILL.md +398 -0
  153. package/bundled-skills/documentation-and-adrs/SKILL.md +291 -0
  154. package/bundled-skills/doubt-driven-development/SKILL.md +256 -0
  155. package/bundled-skills/eas-update-insights/SKILL.md +232 -0
  156. package/bundled-skills/eas-update-insights/agents/openai.yaml +4 -0
  157. package/bundled-skills/eas-update-insights/references/channel-insights-schema.md +47 -0
  158. package/bundled-skills/eas-update-insights/references/update-insights-schema.md +69 -0
  159. package/bundled-skills/expo-api-routes/SKILL.md +9 -5
  160. package/bundled-skills/expo-api-routes/agents/openai.yaml +4 -0
  161. package/bundled-skills/expo-brownfield/SKILL.md +71 -0
  162. package/bundled-skills/expo-brownfield/agents/openai.yaml +4 -0
  163. package/bundled-skills/expo-brownfield/references/brownfield-integrated.md +526 -0
  164. package/bundled-skills/expo-brownfield/references/brownfield-isolated.md +402 -0
  165. package/bundled-skills/expo-brownfield/references/comparison.md +63 -0
  166. package/bundled-skills/expo-brownfield/references/troubleshooting.md +88 -0
  167. package/bundled-skills/expo-cicd-workflows/SKILL.md +18 -16
  168. package/bundled-skills/expo-cicd-workflows/agents/openai.yaml +4 -0
  169. package/bundled-skills/expo-cicd-workflows/scripts/fetch.js +109 -0
  170. package/bundled-skills/expo-cicd-workflows/scripts/package.json +11 -0
  171. package/bundled-skills/expo-cicd-workflows/scripts/validate.js +84 -0
  172. package/bundled-skills/expo-deployment/SKILL.md +157 -53
  173. package/bundled-skills/expo-deployment/agents/openai.yaml +4 -0
  174. package/bundled-skills/expo-deployment/references/app-store-metadata.md +497 -0
  175. package/bundled-skills/expo-deployment/references/ios-app-store.md +371 -0
  176. package/bundled-skills/expo-deployment/references/play-store.md +246 -0
  177. package/bundled-skills/expo-deployment/references/testflight.md +58 -0
  178. package/bundled-skills/expo-deployment/references/workflows.md +160 -0
  179. package/bundled-skills/expo-dev-client/SKILL.md +25 -14
  180. package/bundled-skills/expo-dev-client/agents/openai.yaml +4 -0
  181. package/bundled-skills/expo-examples/SKILL.md +111 -0
  182. package/bundled-skills/expo-examples/references/catalog.md +105 -0
  183. package/bundled-skills/expo-module/SKILL.md +152 -0
  184. package/bundled-skills/expo-module/agents/openai.yaml +4 -0
  185. package/bundled-skills/expo-module/references/config-plugin.md +90 -0
  186. package/bundled-skills/expo-module/references/create-expo-module.md +206 -0
  187. package/bundled-skills/expo-module/references/lifecycle.md +127 -0
  188. package/bundled-skills/expo-module/references/module-config.md +48 -0
  189. package/bundled-skills/expo-module/references/native-module.md +286 -0
  190. package/bundled-skills/expo-module/references/native-view.md +171 -0
  191. package/bundled-skills/expo-observe/SKILL.md +44 -0
  192. package/bundled-skills/expo-observe/references/metrics.md +47 -0
  193. package/bundled-skills/expo-observe/references/queries.md +342 -0
  194. package/bundled-skills/expo-observe/references/setup.md +255 -0
  195. package/bundled-skills/expo-tailwind-setup/SKILL.md +13 -10
  196. package/bundled-skills/expo-tailwind-setup/agents/openai.yaml +4 -0
  197. package/bundled-skills/expo-ui/SKILL.md +61 -0
  198. package/bundled-skills/expo-ui/agents/openai.yaml +4 -0
  199. package/bundled-skills/expo-ui/references/drop-in-replacements.md +27 -0
  200. package/bundled-skills/expo-ui/references/jetpack-compose.md +73 -0
  201. package/bundled-skills/expo-ui/references/swift-ui.md +73 -0
  202. package/bundled-skills/expo-ui/references/universal.md +73 -0
  203. package/bundled-skills/expo-ui/scripts/list-components.js +193 -0
  204. package/bundled-skills/faf-context/SKILL.md +106 -0
  205. package/bundled-skills/faf-go/SKILL.md +336 -0
  206. package/bundled-skills/fixing-accessibility/SKILL.md +16 -5
  207. package/bundled-skills/fixing-metadata/SKILL.md +18 -8
  208. package/bundled-skills/fixing-motion-performance/SKILL.md +17 -6
  209. package/bundled-skills/formik-patterns/SKILL.md +379 -0
  210. package/bundled-skills/free-tier-strategy/README.md +39 -0
  211. package/bundled-skills/free-tier-strategy/SKILL.md +462 -0
  212. package/bundled-skills/frontend-architecture/SKILL.md +419 -0
  213. package/bundled-skills/frontend-data-contracts/SKILL.md +331 -0
  214. package/bundled-skills/frontend-observability/SKILL.md +434 -0
  215. package/bundled-skills/frontend-optimistic-mutations/SKILL.md +278 -0
  216. package/bundled-skills/frontend-seo/SKILL.md +710 -0
  217. package/bundled-skills/frontend-slides-frontend-slides/SKILL.md +397 -0
  218. package/bundled-skills/frontend-ui-engineering/SKILL.md +341 -0
  219. package/bundled-skills/gemini-api-dev/SKILL.md +96 -53
  220. package/bundled-skills/gemini-live-api-dev/SKILL.md +339 -0
  221. package/bundled-skills/gemini-omni-flash-api/SKILL.md +335 -0
  222. package/bundled-skills/gemini-omni-flash-api/scripts/upload_file.py +218 -0
  223. package/bundled-skills/gemini-omni-flash-api/scripts/video/generate_video.py +439 -0
  224. package/bundled-skills/gemini-omni-flash-api/scripts/video/inspect_video.py +197 -0
  225. package/bundled-skills/gemini-omni-flash-api/scripts/video/prep_video.py +255 -0
  226. package/bundled-skills/git-workflow-and-versioning/SKILL.md +313 -0
  227. package/bundled-skills/github-presence/README.md +67 -0
  228. package/bundled-skills/github-presence/SKILL.md +484 -0
  229. package/bundled-skills/graphql-schema/SKILL.md +309 -0
  230. package/bundled-skills/hf-mcp/SKILL.md +195 -0
  231. package/bundled-skills/hf-mem/SKILL.md +92 -0
  232. package/bundled-skills/hugging-face-cli/SKILL.md +155 -115
  233. package/bundled-skills/hugging-face-community-evals/SKILL.md +14 -7
  234. package/bundled-skills/hugging-face-dataset-viewer/SKILL.md +30 -37
  235. package/bundled-skills/hugging-face-gradio/SKILL.md +14 -7
  236. package/bundled-skills/hugging-face-model-trainer/SKILL.md +36 -10
  237. package/bundled-skills/hugging-face-model-trainer/scripts/convert_to_gguf.py +30 -52
  238. package/bundled-skills/hugging-face-model-trainer/scripts/hf_benchmarks.py +659 -0
  239. package/bundled-skills/hugging-face-paper-publisher/SKILL.md +13 -6
  240. package/bundled-skills/hugging-face-papers/SKILL.md +12 -5
  241. package/bundled-skills/hugging-face-trackio/SKILL.md +11 -5
  242. package/bundled-skills/hugging-face-vision-trainer/SKILL.md +11 -5
  243. package/bundled-skills/huggingface-best/SKILL.md +143 -0
  244. package/bundled-skills/huggingface-local-models/SKILL.md +130 -0
  245. package/bundled-skills/huggingface-local-models/references/hardware.md +38 -0
  246. package/bundled-skills/huggingface-local-models/references/hub-discovery.md +178 -0
  247. package/bundled-skills/huggingface-local-models/references/quantization.md +256 -0
  248. package/bundled-skills/huggingface-lora-space-builder/SKILL.md +409 -0
  249. package/bundled-skills/huggingface-lora-space-builder/references/adapting-to-the-lora.md +113 -0
  250. package/bundled-skills/huggingface-lora-space-builder/references/base-models/krea-2.md +63 -0
  251. package/bundled-skills/huggingface-lora-space-builder/references/base-models/ltx.md +205 -0
  252. package/bundled-skills/huggingface-lora-space-builder/references/base-models/qwen-image.md +144 -0
  253. package/bundled-skills/huggingface-lora-space-builder/references/creative-mode.md +262 -0
  254. package/bundled-skills/huggingface-lora-space-builder/references/tasks.md +124 -0
  255. package/bundled-skills/huggingface-lora-space-builder/references/zerogpu-and-publishing.md +194 -0
  256. package/bundled-skills/huggingface-spaces/SKILL.md +247 -0
  257. package/bundled-skills/huggingface-spaces/references/buckets.md +89 -0
  258. package/bundled-skills/huggingface-spaces/references/debugging.md +234 -0
  259. package/bundled-skills/huggingface-spaces/references/gradio.md +171 -0
  260. package/bundled-skills/huggingface-spaces/references/grants.md +56 -0
  261. package/bundled-skills/huggingface-spaces/references/inference-providers.md +85 -0
  262. package/bundled-skills/huggingface-spaces/references/known-errors.md +232 -0
  263. package/bundled-skills/huggingface-spaces/references/requirements.md +153 -0
  264. package/bundled-skills/huggingface-spaces/references/zerogpu.md +276 -0
  265. package/bundled-skills/huggingface-tool-builder/SKILL.md +137 -0
  266. package/bundled-skills/huggingface-tool-builder/references/baseline_hf_api.py +57 -0
  267. package/bundled-skills/huggingface-tool-builder/references/baseline_hf_api.sh +40 -0
  268. package/bundled-skills/huggingface-tool-builder/references/baseline_hf_api.tsx +57 -0
  269. package/bundled-skills/huggingface-tool-builder/references/find_models_by_paper.sh +230 -0
  270. package/bundled-skills/huggingface-tool-builder/references/hf_enrich_models.sh +96 -0
  271. package/bundled-skills/huggingface-tool-builder/references/hf_model_card_frontmatter.sh +188 -0
  272. package/bundled-skills/huggingface-tool-builder/references/hf_model_papers_auth.sh +171 -0
  273. package/bundled-skills/huggingface-zerogpu/SKILL.md +306 -0
  274. package/bundled-skills/huggingface-zerogpu/references/concurrency.md +79 -0
  275. package/bundled-skills/huggingface-zerogpu/references/cuda-and-deps.md +66 -0
  276. package/bundled-skills/huggingface-zerogpu/references/how-quota-works.md +74 -0
  277. package/bundled-skills/huggingface-zerogpu/references/how-zerogpu-works.md +50 -0
  278. package/bundled-skills/hugo-to-markdown/SKILL.md +201 -0
  279. package/bundled-skills/hugo-to-markdown/agents/openai.yaml +4 -0
  280. package/bundled-skills/hugo-to-markdown/references/conversion-workflow.md +143 -0
  281. package/bundled-skills/hugo-to-markdown/references/front-matter-and-content.md +145 -0
  282. package/bundled-skills/hugo-to-markdown/references/links-assets-and-validation.md +106 -0
  283. package/bundled-skills/hugo-to-markdown/references/shortcodes-and-render-hooks.md +281 -0
  284. package/bundled-skills/hugo-to-markdown/scripts/check_standard_markdown.py +70 -0
  285. package/bundled-skills/hugo-to-markdown/scripts/inventory_hugo_rules.py +188 -0
  286. package/bundled-skills/hyperexecute-skill/SKILL.md +65 -0
  287. package/bundled-skills/idea-refine/SKILL.md +195 -0
  288. package/bundled-skills/idea-refine/examples.md +238 -0
  289. package/bundled-skills/idea-refine/frameworks.md +99 -0
  290. package/bundled-skills/idea-refine/refinement-criteria.md +113 -0
  291. package/bundled-skills/idea-refine/scripts/idea-refine.sh +15 -0
  292. package/bundled-skills/implement/SKILL.md +32 -0
  293. package/bundled-skills/incremental-implementation/SKILL.md +262 -0
  294. package/bundled-skills/jest-skill/SKILL.md +182 -0
  295. package/bundled-skills/junit-5-skill/SKILL.md +236 -0
  296. package/bundled-skills/logic-diff/SKILL.md +50 -0
  297. package/bundled-skills/logic-diff/logic-diff-guide.md +75 -0
  298. package/bundled-skills/logic-explain/SKILL.md +50 -0
  299. package/bundled-skills/logic-explain/logic-explain-guide.md +74 -0
  300. package/bundled-skills/logic-fix-all/SKILL.md +87 -0
  301. package/bundled-skills/logic-fix-all/guide-phases-0-2-consent-scope-health.md +113 -0
  302. package/bundled-skills/logic-fix-all/guide-phases-3-5-review-locate-clarify.md +47 -0
  303. package/bundled-skills/logic-fix-all/guide-phases-6-9-fix-iterate-report.md +143 -0
  304. package/bundled-skills/logic-fix-all/logic-fix-all-guide.md +60 -0
  305. package/bundled-skills/logic-locate/SKILL.md +52 -0
  306. package/bundled-skills/logic-locate/logic-locate-guide.md +85 -0
  307. package/bundled-skills/logic-review/SKILL.md +100 -0
  308. package/bundled-skills/logic-review/logic-review-guide.md +296 -0
  309. package/bundled-skills/longbridge-content/SKILL.md +87 -0
  310. package/bundled-skills/longbridge-fundamentals/SKILL.md +134 -0
  311. package/bundled-skills/longbridge-market-data/SKILL.md +129 -0
  312. package/bundled-skills/loopy/SKILL.md +289 -0
  313. package/bundled-skills/loopy/agents/openai.yaml +4 -0
  314. package/bundled-skills/loopy/references/audit.md +61 -0
  315. package/bundled-skills/loopy/references/debrief.md +43 -0
  316. package/bundled-skills/loopy/references/discover.md +72 -0
  317. package/bundled-skills/loopy/references/publish.md +65 -0
  318. package/bundled-skills/loopy/references/run.md +73 -0
  319. package/bundled-skills/marketing-plan/SKILL.md +283 -0
  320. package/bundled-skills/marketing-plan/evals/evals.json +96 -0
  321. package/bundled-skills/marketing-plan/references/aarrr-framework.md +180 -0
  322. package/bundled-skills/marketing-plan/references/budget-planning.md +168 -0
  323. package/bundled-skills/marketing-plan/references/client-types.md +373 -0
  324. package/bundled-skills/marketing-plan/references/current-state-rubric.md +255 -0
  325. package/bundled-skills/marketing-plan/references/example-quietude.md +972 -0
  326. package/bundled-skills/marketing-plan/references/funding-stage-unlocks.md +230 -0
  327. package/bundled-skills/marketing-plan/references/growth-patterns.md +148 -0
  328. package/bundled-skills/marketing-plan/references/idea-cross-reference.md +265 -0
  329. package/bundled-skills/marketing-plan/references/measurement-framework.md +213 -0
  330. package/bundled-skills/marketing-plan/references/methodology.md +363 -0
  331. package/bundled-skills/marketing-plan/references/ops-stack-mapping.md +197 -0
  332. package/bundled-skills/marketing-plan/references/plan-template.md +494 -0
  333. package/bundled-skills/marketing-plan/references/team-and-agency-model.md +278 -0
  334. package/bundled-skills/monte-carlo-analyze-root-cause/SKILL.md +229 -0
  335. package/bundled-skills/monte-carlo-asset-health/SKILL.md +200 -0
  336. package/bundled-skills/monte-carlo-monitoring-advisor/SKILL.md +317 -0
  337. package/bundled-skills/monte-carlo-performance-diagnosis/SKILL.md +153 -0
  338. package/bundled-skills/monte-carlo-remediation/SKILL.md +359 -0
  339. package/bundled-skills/monte-carlo-storage-cost-analysis/SKILL.md +162 -0
  340. package/bundled-skills/native-data-fetching/SKILL.md +11 -8
  341. package/bundled-skills/native-data-fetching/agents/openai.yaml +4 -0
  342. package/bundled-skills/native-data-fetching/references/expo-router-loaders.md +341 -0
  343. package/bundled-skills/neon-ai-gateway/SKILL.md +237 -0
  344. package/bundled-skills/neon-functions/SKILL.md +465 -0
  345. package/bundled-skills/neon-functions/references/ai-sdk.md +139 -0
  346. package/bundled-skills/neon-functions/references/hono-websockets.md +145 -0
  347. package/bundled-skills/neon-functions/references/mastra-studio.md +132 -0
  348. package/bundled-skills/neon-functions/references/mcp.md +137 -0
  349. package/bundled-skills/neon-functions/references/sentry.md +131 -0
  350. package/bundled-skills/neon-functions/references/sse.md +143 -0
  351. package/bundled-skills/neon-object-storage/SKILL.md +200 -0
  352. package/bundled-skills/neon-postgres/SKILL.md +234 -469
  353. package/bundled-skills/neon-postgres-branches/SKILL.md +292 -0
  354. package/bundled-skills/neon-postgres-egress-optimizer/SKILL.md +256 -0
  355. package/bundled-skills/newman-cicd-integration/SKILL.md +330 -0
  356. package/bundled-skills/observability-and-instrumentation/SKILL.md +216 -0
  357. package/bundled-skills/odw/SKILL.md +57 -0
  358. package/bundled-skills/offers/SKILL.md +168 -0
  359. package/bundled-skills/offers/references/bonus-stacking.md +150 -0
  360. package/bundled-skills/offers/references/examples.md +215 -0
  361. package/bundled-skills/offers/references/guarantee-design.md +172 -0
  362. package/bundled-skills/offers/references/offer-anatomy.md +203 -0
  363. package/bundled-skills/offers/references/offer-formats.md +240 -0
  364. package/bundled-skills/offers/references/scarcity-urgency.md +175 -0
  365. package/bundled-skills/offers/references/value-equation.md +134 -0
  366. package/bundled-skills/onboarding/SKILL.md +235 -0
  367. package/bundled-skills/onboarding/evals/evals.json +92 -0
  368. package/bundled-skills/onboarding/references/experiments.md +258 -0
  369. package/bundled-skills/open-source-marketing/README.md +100 -0
  370. package/bundled-skills/open-source-marketing/SKILL.md +466 -0
  371. package/bundled-skills/openapi-spec-generator/SKILL.md +335 -0
  372. package/bundled-skills/performance-optimization/SKILL.md +363 -0
  373. package/bundled-skills/planning-and-task-breakdown/SKILL.md +240 -0
  374. package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/SKILL.md +170 -0
  375. package/bundled-skills/postgresql-cli/SKILL.md +498 -0
  376. package/bundled-skills/postgresql-cli/references/cli-options-and-variables.md +444 -0
  377. package/bundled-skills/postgresql-cli/references/meta-commands-core.md +466 -0
  378. package/bundled-skills/postgresql-cli/references/meta-commands-formatting.md +154 -0
  379. package/bundled-skills/postgresql-cli/references/meta-commands-inspection.md +134 -0
  380. package/bundled-skills/postgresql-cli/references/tips-advanced.md +289 -0
  381. package/bundled-skills/postgresql-cli/references/tips-workflows.md +407 -0
  382. package/bundled-skills/postman-collection-generator/SKILL.md +184 -0
  383. package/bundled-skills/postman-newman-automation/SKILL.md +311 -0
  384. package/bundled-skills/postman-openapi-converter/SKILL.md +174 -0
  385. package/bundled-skills/power-user-cultivation/README.md +78 -0
  386. package/bundled-skills/power-user-cultivation/SKILL.md +598 -0
  387. package/bundled-skills/pricing/SKILL.md +246 -0
  388. package/bundled-skills/pricing/evals/evals.json +90 -0
  389. package/bundled-skills/pricing/references/research-methods.md +152 -0
  390. package/bundled-skills/pricing/references/tier-structure.md +232 -0
  391. package/bundled-skills/privacy-mask/SKILL.md +96 -0
  392. package/bundled-skills/product-marketing/SKILL.md +256 -0
  393. package/bundled-skills/product-marketing/evals/evals.json +85 -0
  394. package/bundled-skills/public-relations/SKILL.md +146 -0
  395. package/bundled-skills/public-relations/references/journalist-pitching.md +368 -0
  396. package/bundled-skills/public-relations/references/media-outlets.md +207 -0
  397. package/bundled-skills/public-relations/references/newsjacking.md +218 -0
  398. package/bundled-skills/public-relations/references/press-platforms.md +188 -0
  399. package/bundled-skills/puppeteer-skill/SKILL.md +143 -0
  400. package/bundled-skills/pytest-skill/SKILL.md +201 -0
  401. package/bundled-skills/rclone-cli/SKILL.md +351 -0
  402. package/bundled-skills/rclone-cli/references/bisync.md +2003 -0
  403. package/bundled-skills/rclone-cli/references/cache.md +726 -0
  404. package/bundled-skills/rclone-cli/references/chunker.md +484 -0
  405. package/bundled-skills/rclone-cli/references/combine.md +187 -0
  406. package/bundled-skills/rclone-cli/references/commands/rclone.md +1169 -0
  407. package/bundled-skills/rclone-cli/references/commands/rclone_about.md +89 -0
  408. package/bundled-skills/rclone-cli/references/commands/rclone_archive.md +49 -0
  409. package/bundled-skills/rclone-cli/references/commands/rclone_archive_create.md +97 -0
  410. package/bundled-skills/rclone-cli/references/commands/rclone_archive_extract.md +83 -0
  411. package/bundled-skills/rclone-cli/references/commands/rclone_archive_list.md +98 -0
  412. package/bundled-skills/rclone-cli/references/commands/rclone_authorize.md +53 -0
  413. package/bundled-skills/rclone-cli/references/commands/rclone_backend.md +82 -0
  414. package/bundled-skills/rclone-cli/references/commands/rclone_bisync.md +160 -0
  415. package/bundled-skills/rclone-cli/references/commands/rclone_cat.md +122 -0
  416. package/bundled-skills/rclone-cli/references/commands/rclone_check.md +134 -0
  417. package/bundled-skills/rclone-cli/references/commands/rclone_checksum.md +120 -0
  418. package/bundled-skills/rclone-cli/references/commands/rclone_cleanup.md +49 -0
  419. package/bundled-skills/rclone-cli/references/commands/rclone_completion.md +40 -0
  420. package/bundled-skills/rclone-cli/references/commands/rclone_completion_bash.md +70 -0
  421. package/bundled-skills/rclone-cli/references/commands/rclone_completion_fish.md +57 -0
  422. package/bundled-skills/rclone-cli/references/commands/rclone_completion_powershell.md +49 -0
  423. package/bundled-skills/rclone-cli/references/commands/rclone_completion_zsh.md +57 -0
  424. package/bundled-skills/rclone-cli/references/commands/rclone_config.md +56 -0
  425. package/bundled-skills/rclone-cli/references/commands/rclone_config_create.md +150 -0
  426. package/bundled-skills/rclone-cli/references/commands/rclone_config_delete.md +33 -0
  427. package/bundled-skills/rclone-cli/references/commands/rclone_config_disconnect.md +40 -0
  428. package/bundled-skills/rclone-cli/references/commands/rclone_config_dump.md +33 -0
  429. package/bundled-skills/rclone-cli/references/commands/rclone_config_edit.md +39 -0
  430. package/bundled-skills/rclone-cli/references/commands/rclone_config_encryption.md +36 -0
  431. package/bundled-skills/rclone-cli/references/commands/rclone_config_encryption_check.md +43 -0
  432. package/bundled-skills/rclone-cli/references/commands/rclone_config_encryption_remove.md +44 -0
  433. package/bundled-skills/rclone-cli/references/commands/rclone_config_encryption_set.md +54 -0
  434. package/bundled-skills/rclone-cli/references/commands/rclone_config_file.md +33 -0
  435. package/bundled-skills/rclone-cli/references/commands/rclone_config_password.md +49 -0
  436. package/bundled-skills/rclone-cli/references/commands/rclone_config_paths.md +33 -0
  437. package/bundled-skills/rclone-cli/references/commands/rclone_config_providers.md +33 -0
  438. package/bundled-skills/rclone-cli/references/commands/rclone_config_reconnect.md +40 -0
  439. package/bundled-skills/rclone-cli/references/commands/rclone_config_redacted.md +45 -0
  440. package/bundled-skills/rclone-cli/references/commands/rclone_config_show.md +33 -0
  441. package/bundled-skills/rclone-cli/references/commands/rclone_config_string.md +57 -0
  442. package/bundled-skills/rclone-cli/references/commands/rclone_config_touch.md +33 -0
  443. package/bundled-skills/rclone-cli/references/commands/rclone_config_update.md +150 -0
  444. package/bundled-skills/rclone-cli/references/commands/rclone_config_userinfo.md +38 -0
  445. package/bundled-skills/rclone-cli/references/commands/rclone_convmv.md +440 -0
  446. package/bundled-skills/rclone-cli/references/commands/rclone_copy.md +258 -0
  447. package/bundled-skills/rclone-cli/references/commands/rclone_copyto.md +219 -0
  448. package/bundled-skills/rclone-cli/references/commands/rclone_copyurl.md +91 -0
  449. package/bundled-skills/rclone-cli/references/commands/rclone_cryptcheck.md +141 -0
  450. package/bundled-skills/rclone-cli/references/commands/rclone_cryptdecode.md +51 -0
  451. package/bundled-skills/rclone-cli/references/commands/rclone_dedupe.md +166 -0
  452. package/bundled-skills/rclone-cli/references/commands/rclone_delete.md +117 -0
  453. package/bundled-skills/rclone-cli/references/commands/rclone_deletefile.md +50 -0
  454. package/bundled-skills/rclone-cli/references/commands/rclone_gendocs.md +39 -0
  455. package/bundled-skills/rclone-cli/references/commands/rclone_gitannex.md +113 -0
  456. package/bundled-skills/rclone-cli/references/commands/rclone_hashsum.md +120 -0
  457. package/bundled-skills/rclone-cli/references/commands/rclone_link.md +60 -0
  458. package/bundled-skills/rclone-cli/references/commands/rclone_listremotes.md +55 -0
  459. package/bundled-skills/rclone-cli/references/commands/rclone_ls.md +114 -0
  460. package/bundled-skills/rclone-cli/references/commands/rclone_lsd.md +127 -0
  461. package/bundled-skills/rclone-cli/references/commands/rclone_lsf.md +241 -0
  462. package/bundled-skills/rclone-cli/references/commands/rclone_lsjson.md +195 -0
  463. package/bundled-skills/rclone-cli/references/commands/rclone_lsl.md +115 -0
  464. package/bundled-skills/rclone-cli/references/commands/rclone_md5sum.md +96 -0
  465. package/bundled-skills/rclone-cli/references/commands/rclone_mkdir.md +43 -0
  466. package/bundled-skills/rclone-cli/references/commands/rclone_mount.md +1105 -0
  467. package/bundled-skills/rclone-cli/references/commands/rclone_move.md +223 -0
  468. package/bundled-skills/rclone-cli/references/commands/rclone_moveto.md +218 -0
  469. package/bundled-skills/rclone-cli/references/commands/rclone_ncdu.md +140 -0
  470. package/bundled-skills/rclone-cli/references/commands/rclone_nfsmount.md +1111 -0
  471. package/bundled-skills/rclone-cli/references/commands/rclone_obscure.md +60 -0
  472. package/bundled-skills/rclone-cli/references/commands/rclone_purge.md +58 -0
  473. package/bundled-skills/rclone-cli/references/commands/rclone_rc.md +111 -0
  474. package/bundled-skills/rclone-cli/references/commands/rclone_rcat.md +79 -0
  475. package/bundled-skills/rclone-cli/references/commands/rclone_rcd.md +219 -0
  476. package/bundled-skills/rclone-cli/references/commands/rclone_rmdir.md +52 -0
  477. package/bundled-skills/rclone-cli/references/commands/rclone_rmdirs.md +66 -0
  478. package/bundled-skills/rclone-cli/references/commands/rclone_selfupdate.md +91 -0
  479. package/bundled-skills/rclone-cli/references/commands/rclone_serve.md +61 -0
  480. package/bundled-skills/rclone-cli/references/commands/rclone_serve_dlna.md +619 -0
  481. package/bundled-skills/rclone-cli/references/commands/rclone_serve_docker.md +653 -0
  482. package/bundled-skills/rclone-cli/references/commands/rclone_serve_ftp.md +698 -0
  483. package/bundled-skills/rclone-cli/references/commands/rclone_serve_http.md +837 -0
  484. package/bundled-skills/rclone-cli/references/commands/rclone_serve_nfs.md +670 -0
  485. package/bundled-skills/rclone-cli/references/commands/rclone_serve_restic.md +246 -0
  486. package/bundled-skills/rclone-cli/references/commands/rclone_serve_s3.md +867 -0
  487. package/bundled-skills/rclone-cli/references/commands/rclone_serve_sftp.md +745 -0
  488. package/bundled-skills/rclone-cli/references/commands/rclone_serve_webdav.md +896 -0
  489. package/bundled-skills/rclone-cli/references/commands/rclone_settier.md +63 -0
  490. package/bundled-skills/rclone-cli/references/commands/rclone_sha1sum.md +99 -0
  491. package/bundled-skills/rclone-cli/references/commands/rclone_size.md +94 -0
  492. package/bundled-skills/rclone-cli/references/commands/rclone_sync.md +252 -0
  493. package/bundled-skills/rclone-cli/references/commands/rclone_test.md +51 -0
  494. package/bundled-skills/rclone-cli/references/commands/rclone_test_changenotify.md +34 -0
  495. package/bundled-skills/rclone-cli/references/commands/rclone_test_histogram.md +41 -0
  496. package/bundled-skills/rclone-cli/references/commands/rclone_test_info.md +51 -0
  497. package/bundled-skills/rclone-cli/references/commands/rclone_test_makefile.md +39 -0
  498. package/bundled-skills/rclone-cli/references/commands/rclone_test_makefiles.md +47 -0
  499. package/bundled-skills/rclone-cli/references/commands/rclone_test_memory.md +33 -0
  500. package/bundled-skills/rclone-cli/references/commands/rclone_test_speed.md +66 -0
  501. package/bundled-skills/rclone-cli/references/commands/rclone_touch.md +110 -0
  502. package/bundled-skills/rclone-cli/references/commands/rclone_tree.md +121 -0
  503. package/bundled-skills/rclone-cli/references/commands/rclone_version.md +83 -0
  504. package/bundled-skills/rclone-cli/references/crypt.md +844 -0
  505. package/bundled-skills/rclone-cli/references/docker.md +615 -0
  506. package/bundled-skills/rclone-cli/references/faq.md +364 -0
  507. package/bundled-skills/rclone-cli/references/filtering.md +991 -0
  508. package/bundled-skills/rclone-cli/references/flags.md +1221 -0
  509. package/bundled-skills/rclone-cli/references/hasher.md +383 -0
  510. package/bundled-skills/rclone-cli/references/install.md +686 -0
  511. package/bundled-skills/rclone-cli/references/overview.md +620 -0
  512. package/bundled-skills/rclone-cli/references/providers/alias.md +141 -0
  513. package/bundled-skills/rclone-cli/references/providers/archive.md +287 -0
  514. package/bundled-skills/rclone-cli/references/providers/azureblob.md +1140 -0
  515. package/bundled-skills/rclone-cli/references/providers/azurefiles.md +834 -0
  516. package/bundled-skills/rclone-cli/references/providers/b2.md +879 -0
  517. package/bundled-skills/rclone-cli/references/providers/box.md +573 -0
  518. package/bundled-skills/rclone-cli/references/providers/cloudinary.md +259 -0
  519. package/bundled-skills/rclone-cli/references/providers/compress.md +222 -0
  520. package/bundled-skills/rclone-cli/references/providers/drime.md +319 -0
  521. package/bundled-skills/rclone-cli/references/providers/drive.md +2032 -0
  522. package/bundled-skills/rclone-cli/references/providers/dropbox.md +661 -0
  523. package/bundled-skills/rclone-cli/references/providers/fichier.md +230 -0
  524. package/bundled-skills/rclone-cli/references/providers/filefabric.md +298 -0
  525. package/bundled-skills/rclone-cli/references/providers/filelu.md +256 -0
  526. package/bundled-skills/rclone-cli/references/providers/filen.md +243 -0
  527. package/bundled-skills/rclone-cli/references/providers/filescom.md +209 -0
  528. package/bundled-skills/rclone-cli/references/providers/ftp.md +621 -0
  529. package/bundled-skills/rclone-cli/references/providers/gofile.md +274 -0
  530. package/bundled-skills/rclone-cli/references/providers/googlecloudstorage.md +846 -0
  531. package/bundled-skills/rclone-cli/references/providers/googlephotos.md +676 -0
  532. package/bundled-skills/rclone-cli/references/providers/hdfs.md +263 -0
  533. package/bundled-skills/rclone-cli/references/providers/hidrive.md +487 -0
  534. package/bundled-skills/rclone-cli/references/providers/http.md +323 -0
  535. package/bundled-skills/rclone-cli/references/providers/iclouddrive.md +212 -0
  536. package/bundled-skills/rclone-cli/references/providers/internetarchive.md +355 -0
  537. package/bundled-skills/rclone-cli/references/providers/internxt.md +189 -0
  538. package/bundled-skills/rclone-cli/references/providers/jottacloud.md +604 -0
  539. package/bundled-skills/rclone-cli/references/providers/koofr.md +395 -0
  540. package/bundled-skills/rclone-cli/references/providers/linkbox.md +117 -0
  541. package/bundled-skills/rclone-cli/references/providers/local.md +749 -0
  542. package/bundled-skills/rclone-cli/references/providers/mailru.md +470 -0
  543. package/bundled-skills/rclone-cli/references/providers/mega.md +361 -0
  544. package/bundled-skills/rclone-cli/references/providers/memory.md +109 -0
  545. package/bundled-skills/rclone-cli/references/providers/netstorage.md +371 -0
  546. package/bundled-skills/rclone-cli/references/providers/onedrive.md +1322 -0
  547. package/bundled-skills/rclone-cli/references/providers/opendrive.md +222 -0
  548. package/bundled-skills/rclone-cli/references/providers/oracleobjectstorage/_index.md +932 -0
  549. package/bundled-skills/rclone-cli/references/providers/oracleobjectstorage/tutorial_mount.md +503 -0
  550. package/bundled-skills/rclone-cli/references/providers/pcloud.md +373 -0
  551. package/bundled-skills/rclone-cli/references/providers/pikpak.md +373 -0
  552. package/bundled-skills/rclone-cli/references/providers/pixeldrain.md +182 -0
  553. package/bundled-skills/rclone-cli/references/providers/premiumizeme.md +253 -0
  554. package/bundled-skills/rclone-cli/references/providers/protondrive.md +397 -0
  555. package/bundled-skills/rclone-cli/references/providers/putio.md +246 -0
  556. package/bundled-skills/rclone-cli/references/providers/qingstor.md +346 -0
  557. package/bundled-skills/rclone-cli/references/providers/quatrix.md +295 -0
  558. package/bundled-skills/rclone-cli/references/providers/s3.md +9687 -0
  559. package/bundled-skills/rclone-cli/references/providers/seafile.md +432 -0
  560. package/bundled-skills/rclone-cli/references/providers/sftp.md +1277 -0
  561. package/bundled-skills/rclone-cli/references/providers/shade.md +267 -0
  562. package/bundled-skills/rclone-cli/references/providers/sharefile.md +357 -0
  563. package/bundled-skills/rclone-cli/references/providers/sia.md +223 -0
  564. package/bundled-skills/rclone-cli/references/providers/smb.md +309 -0
  565. package/bundled-skills/rclone-cli/references/providers/storj.md +503 -0
  566. package/bundled-skills/rclone-cli/references/providers/sugarsync.md +305 -0
  567. package/bundled-skills/rclone-cli/references/providers/swift.md +744 -0
  568. package/bundled-skills/rclone-cli/references/providers/ulozto.md +283 -0
  569. package/bundled-skills/rclone-cli/references/providers/webdav.md +565 -0
  570. package/bundled-skills/rclone-cli/references/providers/yandex.md +283 -0
  571. package/bundled-skills/rclone-cli/references/providers/zoho.md +305 -0
  572. package/bundled-skills/rclone-cli/references/rc.md +2725 -0
  573. package/bundled-skills/rclone-cli/references/union.md +336 -0
  574. package/bundled-skills/rclone-cli/references/usage.md +3555 -0
  575. package/bundled-skills/rclone-cli/scripts/install.sh +204 -0
  576. package/bundled-skills/redis-cli/SKILL.md +392 -0
  577. package/bundled-skills/redis-cli/references/advanced-features.md +338 -0
  578. package/bundled-skills/redis-cli/references/connection-and-options.md +258 -0
  579. package/bundled-skills/redis-cli/references/data-query-commands.md +417 -0
  580. package/bundled-skills/redis-cli/references/inspection-and-monitoring.md +309 -0
  581. package/bundled-skills/redis-cli/references/key-management.md +252 -0
  582. package/bundled-skills/redis-cli/references/module-data-types.md +429 -0
  583. package/bundled-skills/redis-cli/references/server-administration.md +366 -0
  584. package/bundled-skills/repo-maintainer/SKILL.md +480 -0
  585. package/bundled-skills/resolving-merge-conflicts/SKILL.md +32 -0
  586. package/bundled-skills/review-and-simplify-changes/SKILL.md +202 -0
  587. package/bundled-skills/review-swarm/SKILL.md +185 -0
  588. package/bundled-skills/review-swarm/agents/openai.yaml +4 -0
  589. package/bundled-skills/riffkit/SKILL.md +122 -0
  590. package/bundled-skills/robot-framework-skill/SKILL.md +153 -0
  591. package/bundled-skills/sdk-dx/README.md +39 -0
  592. package/bundled-skills/sdk-dx/SKILL.md +541 -0
  593. package/bundled-skills/security-and-hardening/SKILL.md +474 -0
  594. package/bundled-skills/selenium-skill/SKILL.md +258 -0
  595. package/bundled-skills/shipping-and-launch/SKILL.md +323 -0
  596. package/bundled-skills/smartui-skill/SKILL.md +149 -0
  597. package/bundled-skills/source-driven-development/SKILL.md +207 -0
  598. package/bundled-skills/spec-driven-development/SKILL.md +217 -0
  599. package/bundled-skills/styleseed-design-review/SKILL.md +126 -0
  600. package/bundled-skills/supabase/CHANGELOG.md +35 -0
  601. package/bundled-skills/supabase/SKILL.md +149 -0
  602. package/bundled-skills/supabase/assets/feedback-issue-template.md +17 -0
  603. package/bundled-skills/supabase/references/skill-feedback.md +17 -0
  604. package/bundled-skills/supabase-postgres-best-practices/CHANGELOG.md +29 -0
  605. package/bundled-skills/supabase-postgres-best-practices/SKILL.md +74 -0
  606. package/bundled-skills/supabase-postgres-best-practices/references/_contributing.md +170 -0
  607. package/bundled-skills/supabase-postgres-best-practices/references/_sections.md +39 -0
  608. package/bundled-skills/supabase-postgres-best-practices/references/_template.md +34 -0
  609. package/bundled-skills/supabase-postgres-best-practices/references/advanced-full-text-search.md +55 -0
  610. package/bundled-skills/supabase-postgres-best-practices/references/advanced-jsonb-indexing.md +49 -0
  611. package/bundled-skills/supabase-postgres-best-practices/references/conn-idle-timeout.md +46 -0
  612. package/bundled-skills/supabase-postgres-best-practices/references/conn-limits.md +44 -0
  613. package/bundled-skills/supabase-postgres-best-practices/references/conn-pooling.md +41 -0
  614. package/bundled-skills/supabase-postgres-best-practices/references/conn-prepared-statements.md +46 -0
  615. package/bundled-skills/supabase-postgres-best-practices/references/data-batch-inserts.md +54 -0
  616. package/bundled-skills/supabase-postgres-best-practices/references/data-n-plus-one.md +53 -0
  617. package/bundled-skills/supabase-postgres-best-practices/references/data-pagination.md +50 -0
  618. package/bundled-skills/supabase-postgres-best-practices/references/data-upsert.md +50 -0
  619. package/bundled-skills/supabase-postgres-best-practices/references/lock-advisory.md +56 -0
  620. package/bundled-skills/supabase-postgres-best-practices/references/lock-deadlock-prevention.md +68 -0
  621. package/bundled-skills/supabase-postgres-best-practices/references/lock-short-transactions.md +50 -0
  622. package/bundled-skills/supabase-postgres-best-practices/references/lock-skip-locked.md +54 -0
  623. package/bundled-skills/supabase-postgres-best-practices/references/monitor-explain-analyze.md +45 -0
  624. package/bundled-skills/supabase-postgres-best-practices/references/monitor-pg-stat-statements.md +55 -0
  625. package/bundled-skills/supabase-postgres-best-practices/references/monitor-vacuum-analyze.md +55 -0
  626. package/bundled-skills/supabase-postgres-best-practices/references/query-composite-indexes.md +44 -0
  627. package/bundled-skills/supabase-postgres-best-practices/references/query-covering-indexes.md +40 -0
  628. package/bundled-skills/supabase-postgres-best-practices/references/query-index-types.md +48 -0
  629. package/bundled-skills/supabase-postgres-best-practices/references/query-missing-indexes.md +43 -0
  630. package/bundled-skills/supabase-postgres-best-practices/references/query-partial-indexes.md +45 -0
  631. package/bundled-skills/supabase-postgres-best-practices/references/schema-constraints.md +80 -0
  632. package/bundled-skills/supabase-postgres-best-practices/references/schema-data-types.md +46 -0
  633. package/bundled-skills/supabase-postgres-best-practices/references/schema-foreign-key-indexes.md +59 -0
  634. package/bundled-skills/supabase-postgres-best-practices/references/schema-lowercase-identifiers.md +55 -0
  635. package/bundled-skills/supabase-postgres-best-practices/references/schema-partitioning.md +55 -0
  636. package/bundled-skills/supabase-postgres-best-practices/references/schema-primary-keys.md +61 -0
  637. package/bundled-skills/supabase-postgres-best-practices/references/security-privileges.md +54 -0
  638. package/bundled-skills/supabase-postgres-best-practices/references/security-rls-basics.md +50 -0
  639. package/bundled-skills/supabase-postgres-best-practices/references/security-rls-performance.md +63 -0
  640. package/bundled-skills/swiftui-expert-skill/SKILL.md +175 -242
  641. package/bundled-skills/swiftui-expert-skill/references/accessibility-patterns.md +215 -0
  642. package/bundled-skills/swiftui-expert-skill/references/animation-advanced.md +428 -0
  643. package/bundled-skills/swiftui-expert-skill/references/animation-basics.md +284 -0
  644. package/bundled-skills/swiftui-expert-skill/references/animation-transitions.md +326 -0
  645. package/bundled-skills/swiftui-expert-skill/references/charts-accessibility.md +135 -0
  646. package/bundled-skills/swiftui-expert-skill/references/charts.md +602 -0
  647. package/bundled-skills/swiftui-expert-skill/references/focus-patterns.md +299 -0
  648. package/bundled-skills/swiftui-expert-skill/references/image-optimization.md +203 -0
  649. package/bundled-skills/swiftui-expert-skill/references/latest-apis.md +528 -0
  650. package/bundled-skills/swiftui-expert-skill/references/layout-best-practices.md +266 -0
  651. package/bundled-skills/swiftui-expert-skill/references/liquid-glass.md +423 -0
  652. package/bundled-skills/swiftui-expert-skill/references/list-patterns.md +467 -0
  653. package/bundled-skills/swiftui-expert-skill/references/localization.md +194 -0
  654. package/bundled-skills/swiftui-expert-skill/references/macos-scenes.md +318 -0
  655. package/bundled-skills/swiftui-expert-skill/references/macos-views.md +357 -0
  656. package/bundled-skills/swiftui-expert-skill/references/macos-window-styling.md +303 -0
  657. package/bundled-skills/swiftui-expert-skill/references/performance-patterns.md +417 -0
  658. package/bundled-skills/swiftui-expert-skill/references/previews.md +313 -0
  659. package/bundled-skills/swiftui-expert-skill/references/scroll-patterns.md +293 -0
  660. package/bundled-skills/swiftui-expert-skill/references/sheet-navigation-patterns.md +363 -0
  661. package/bundled-skills/swiftui-expert-skill/references/soft-deprecation.md +39 -0
  662. package/bundled-skills/swiftui-expert-skill/references/state-management.md +492 -0
  663. package/bundled-skills/swiftui-expert-skill/references/text-patterns.md +34 -0
  664. package/bundled-skills/swiftui-expert-skill/references/trace-analysis.md +295 -0
  665. package/bundled-skills/swiftui-expert-skill/references/trace-recording.md +134 -0
  666. package/bundled-skills/swiftui-expert-skill/references/view-structure.md +854 -0
  667. package/bundled-skills/swiftui-expert-skill/scripts/analyze_trace.py +301 -0
  668. package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/__init__.py +1 -0
  669. package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/causes.py +187 -0
  670. package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/correlate.py +179 -0
  671. package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/events.py +291 -0
  672. package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/hangs.py +108 -0
  673. package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/hitches.py +145 -0
  674. package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/summary.py +243 -0
  675. package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/swiftui.py +195 -0
  676. package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/time_profiler.py +135 -0
  677. package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/xctrace.py +117 -0
  678. package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/xml_utils.py +224 -0
  679. package/bundled-skills/swiftui-expert-skill/scripts/record_trace.py +252 -0
  680. package/bundled-skills/technical-tutorials/README.md +90 -0
  681. package/bundled-skills/technical-tutorials/SKILL.md +581 -0
  682. package/bundled-skills/test-framework-migration-skill/SKILL.md +122 -0
  683. package/bundled-skills/testng-skill/SKILL.md +163 -0
  684. package/bundled-skills/train-sentence-transformers/SKILL.md +118 -0
  685. package/bundled-skills/train-sentence-transformers/references/base_model_selection.md +79 -0
  686. package/bundled-skills/train-sentence-transformers/references/dataset_formats.md +128 -0
  687. package/bundled-skills/train-sentence-transformers/references/evaluators_cross_encoder.md +116 -0
  688. package/bundled-skills/train-sentence-transformers/references/evaluators_sentence_transformer.md +151 -0
  689. package/bundled-skills/train-sentence-transformers/references/evaluators_sparse_encoder.md +121 -0
  690. package/bundled-skills/train-sentence-transformers/references/hardware_guide.md +105 -0
  691. package/bundled-skills/train-sentence-transformers/references/hf_jobs_execution.md +173 -0
  692. package/bundled-skills/train-sentence-transformers/references/losses_cross_encoder.md +137 -0
  693. package/bundled-skills/train-sentence-transformers/references/losses_sentence_transformer.md +246 -0
  694. package/bundled-skills/train-sentence-transformers/references/losses_sparse_encoder.md +106 -0
  695. package/bundled-skills/train-sentence-transformers/references/model_architectures.md +178 -0
  696. package/bundled-skills/train-sentence-transformers/references/prompts_and_instructions.md +160 -0
  697. package/bundled-skills/train-sentence-transformers/references/training_args.md +269 -0
  698. package/bundled-skills/train-sentence-transformers/references/troubleshooting.md +225 -0
  699. package/bundled-skills/train-sentence-transformers/scripts/mine_hard_negatives.py +199 -0
  700. package/bundled-skills/train-sentence-transformers/scripts/train_cross_encoder_distillation_example.py +254 -0
  701. package/bundled-skills/train-sentence-transformers/scripts/train_cross_encoder_example.py +253 -0
  702. package/bundled-skills/train-sentence-transformers/scripts/train_cross_encoder_listwise_example.py +282 -0
  703. package/bundled-skills/train-sentence-transformers/scripts/train_sentence_transformer_distillation_example.py +303 -0
  704. package/bundled-skills/train-sentence-transformers/scripts/train_sentence_transformer_example.py +227 -0
  705. package/bundled-skills/train-sentence-transformers/scripts/train_sentence_transformer_make_multilingual_example.py +308 -0
  706. package/bundled-skills/train-sentence-transformers/scripts/train_sentence_transformer_matryoshka_example.py +212 -0
  707. package/bundled-skills/train-sentence-transformers/scripts/train_sentence_transformer_multi_dataset_example.py +258 -0
  708. package/bundled-skills/train-sentence-transformers/scripts/train_sentence_transformer_static_embedding_example.py +273 -0
  709. package/bundled-skills/train-sentence-transformers/scripts/train_sentence_transformer_with_lora_example.py +275 -0
  710. package/bundled-skills/train-sentence-transformers/scripts/train_sparse_encoder_distillation_example.py +262 -0
  711. package/bundled-skills/train-sentence-transformers/scripts/train_sparse_encoder_example.py +237 -0
  712. package/bundled-skills/transformers-js/SKILL.md +83 -29
  713. package/bundled-skills/transformers-js/references/CONFIGURATION.md +55 -7
  714. package/bundled-skills/transformers-js/references/EXAMPLES.md +98 -83
  715. package/bundled-skills/transformers-js/references/MODEL_REGISTRY.md +197 -0
  716. package/bundled-skills/transformers-js/references/PIPELINE_OPTIONS.md +31 -19
  717. package/bundled-skills/transformers-js/references/TEXT_GENERATION.md +18 -18
  718. package/bundled-skills/trl-training/SKILL.md +327 -0
  719. package/bundled-skills/tune-monitor/SKILL.md +268 -0
  720. package/bundled-skills/ui-a11y/SKILL.md +76 -68
  721. package/bundled-skills/ui-component/SKILL.md +54 -82
  722. package/bundled-skills/ui-lint/SKILL.md +111 -0
  723. package/bundled-skills/ui-motion/SKILL.md +181 -0
  724. package/bundled-skills/ui-page/SKILL.md +80 -90
  725. package/bundled-skills/ui-pattern/SKILL.md +50 -68
  726. package/bundled-skills/ui-review/SKILL.md +95 -77
  727. package/bundled-skills/ui-score/SKILL.md +145 -0
  728. package/bundled-skills/ui-setup/SKILL.md +196 -88
  729. package/bundled-skills/ui-skills-root/SKILL.md +72 -0
  730. package/bundled-skills/ui-tokens/SKILL.md +44 -52
  731. package/bundled-skills/ui-update/SKILL.md +167 -0
  732. package/bundled-skills/unslop-commit/SKILL.md +113 -0
  733. package/bundled-skills/unslop-file/SKILL.md +157 -0
  734. package/bundled-skills/unslop-review/SKILL.md +102 -0
  735. package/bundled-skills/update-swiftui-apis/SKILL.md +120 -0
  736. package/bundled-skills/update-swiftui-apis/references/scan-manifest.md +230 -0
  737. package/bundled-skills/upgrading-expo/SKILL.md +107 -82
  738. package/bundled-skills/upgrading-expo/agents/openai.yaml +4 -0
  739. package/bundled-skills/upgrading-expo/references/expo-av-to-audio.md +132 -0
  740. package/bundled-skills/upgrading-expo/references/expo-av-to-video.md +160 -0
  741. package/bundled-skills/upgrading-expo/references/native-tabs.md +124 -0
  742. package/bundled-skills/upgrading-expo/references/new-architecture.md +79 -0
  743. package/bundled-skills/upgrading-expo/references/react-19.md +79 -0
  744. package/bundled-skills/upgrading-expo/references/react-compiler.md +59 -0
  745. package/bundled-skills/upgrading-expo/references/react-navigation-to-expo-router.md +61 -0
  746. package/bundled-skills/usage-based-pricing/README.md +40 -0
  747. package/bundled-skills/usage-based-pricing/SKILL.md +547 -0
  748. package/bundled-skills/use-dom/SKILL.md +428 -0
  749. package/bundled-skills/use-dom/agents/openai.yaml +4 -0
  750. package/bundled-skills/ux-audit/SKILL.md +112 -44
  751. package/bundled-skills/ux-copy/SKILL.md +105 -73
  752. package/bundled-skills/ux-feedback/SKILL.md +106 -58
  753. package/bundled-skills/ux-flow/SKILL.md +51 -50
  754. package/bundled-skills/vitest-skill/SKILL.md +165 -0
  755. package/bundled-skills/weaviate/scripts/weaviate_conn.py +16 -6
  756. package/bundled-skills/webdriverio-skill/SKILL.md +157 -0
  757. package/bundled-skills/wjttc-builder/SKILL.md +355 -0
  758. package/bundled-skills/wjttc-tester/SKILL.md +190 -0
  759. package/package.json +1 -1
  760. package/skills_index.json +4320 -132
@@ -0,0 +1,2725 @@
1
+ ---
2
+ title: "Remote Control / API"
3
+ description: "Remote controlling rclone with its API"
4
+ versionIntroduced: "v1.40"
5
+ ---
6
+
7
+ > **Official documentation:** [https://rclone.org/rc/](https://rclone.org/rc/)
8
+ # Remote controlling rclone with its API
9
+
10
+ If rclone is run with the `--rc` flag then it starts an HTTP server
11
+ which can be used to remote control rclone using its API.
12
+
13
+ You can either use the [rc](#api-rc) command to access the API
14
+ or [use HTTP directly](#api-http).
15
+
16
+ If you just want to run a remote control then see the [rcd](/commands/rclone_rcd/)
17
+ command.
18
+
19
+ ## Supported parameters
20
+
21
+ ### --rc
22
+
23
+ Flag to start the http server listen on remote requests.
24
+
25
+ ### --rc-addr=IP
26
+
27
+ IPaddress:Port or :Port to bind server to. (default "localhost:5572").
28
+
29
+ ### --rc-cert=KEY
30
+
31
+ SSL PEM key (concatenation of certificate and CA certificate).
32
+
33
+ ### --rc-client-ca=PATH
34
+
35
+ Client certificate authority to verify clients with.
36
+
37
+ ### --rc-htpasswd=PATH
38
+
39
+ htpasswd file - if not provided no authentication is done.
40
+
41
+ ### --rc-key=PATH
42
+
43
+ TLS PEM private key file.
44
+
45
+ ### --rc-max-header-bytes=VALUE
46
+
47
+ Maximum size of request header (default 4096).
48
+
49
+ ### --rc-min-tls-version=VALUE
50
+
51
+ The minimum TLS version that is acceptable. Valid values are "tls1.0",
52
+ "tls1.1", "tls1.2" and "tls1.3" (default "tls1.0").
53
+
54
+ ### --rc-user=VALUE
55
+
56
+ User name for authentication.
57
+
58
+ ### --rc-pass=VALUE
59
+
60
+ Password for authentication.
61
+
62
+ ### --rc-realm=VALUE
63
+
64
+ Realm for authentication (default "rclone").
65
+
66
+ ### --rc-server-read-timeout=DURATION
67
+
68
+ Timeout for server reading data (default 1h0m0s).
69
+
70
+ ### --rc-server-write-timeout=DURATION
71
+
72
+ Timeout for server writing data (default 1h0m0s).
73
+
74
+ ### --rc-serve
75
+
76
+ Enable the serving of remote objects via the HTTP interface. This
77
+ means objects will be accessible at `http://127.0.0.1:5572/` by default,
78
+ so you can browse to `http://127.0.0.1:5572/` or `http://127.0.0.1:5572/*`
79
+ to see a listing of the remotes. Objects may be requested from
80
+ remotes using this syntax `http://127.0.0.1:5572/[remote:path]/path/to/object`
81
+
82
+ Default Off.
83
+
84
+ ### --rc-serve-no-modtime
85
+
86
+ Set this flag to skip reading the modification time (can speed things up).
87
+
88
+ Default Off.
89
+
90
+ ### --rc-files /path/to/directory
91
+
92
+ Path to local files to serve on the HTTP server.
93
+
94
+ If this is set then rclone will serve the files in that directory. It
95
+ will also open the root in the web browser if specified. This is for
96
+ implementing browser based GUIs for rclone functions.
97
+
98
+ If `--rc-user` or `--rc-pass` is set then the URL that is opened will
99
+ have the authorization in the URL in the `http://user:pass@localhost/`
100
+ style.
101
+
102
+ Default Off.
103
+
104
+ ### --rc-enable-metrics
105
+
106
+ Enable OpenMetrics/Prometheus compatible endpoint at `/metrics`.
107
+ If more control over the metrics is desired (for example running it on a
108
+ different port or with different auth) then endpoint can be enabled with
109
+ the `--metrics-*` flags instead.
110
+
111
+ Default Off.
112
+
113
+ ### --rc-web-gui
114
+
115
+ Set this flag to serve the default web gui on the same port as rclone.
116
+
117
+ Default Off.
118
+
119
+ ### --rc-allow-origin
120
+
121
+ Set the allowed Access-Control-Allow-Origin for rc requests.
122
+
123
+ Can be used with --rc-web-gui if the rclone is running on different IP than the web-gui.
124
+
125
+ Default is IP address on which rc is running.
126
+
127
+ ### --rc-web-fetch-url
128
+
129
+ Set the URL to fetch the rclone-web-gui files from.
130
+
131
+ Default <https://api.github.com/repos/rclone/rclone-webui-react/releases/latest>.
132
+
133
+ ### --rc-web-gui-update
134
+
135
+ Set this flag to check and update rclone-webui-react from the rc-web-fetch-url.
136
+
137
+ Default Off.
138
+
139
+ ### --rc-web-gui-force-update
140
+
141
+ Set this flag to force update rclone-webui-react from the rc-web-fetch-url.
142
+
143
+ Default Off.
144
+
145
+ ### --rc-web-gui-no-open-browser
146
+
147
+ Set this flag to disable opening browser automatically when using web-gui.
148
+
149
+ Default Off.
150
+
151
+ ### --rc-job-expire-duration=DURATION
152
+
153
+ Expire finished async jobs older than DURATION (default 60s).
154
+
155
+ ### --rc-job-expire-interval=DURATION
156
+
157
+ Interval duration to check for expired async jobs (default 10s).
158
+
159
+ ### --rc-no-auth
160
+
161
+ By default rclone will require authorisation to have been set up on
162
+ the rc interface in order to use any methods which access any rclone
163
+ remotes. Eg `operations/list` is denied as it involved creating a
164
+ remote as is `sync/copy`.
165
+
166
+ If this is set then no authorisation will be required on the server to
167
+ use these methods. The alternative is to use `--rc-user` and
168
+ `--rc-pass` and use these credentials in the request.
169
+
170
+ Default Off.
171
+
172
+ ### --rc-baseurl
173
+
174
+ Prefix for URLs.
175
+
176
+ Default is root
177
+
178
+ ### --rc-template
179
+
180
+ User-specified template.
181
+
182
+ ## Accessing the remote control via the rclone rc command {#api-rc}
183
+
184
+ Rclone itself implements the remote control protocol in its `rclone
185
+ rc` command.
186
+
187
+ You can use it like this:
188
+
189
+ ```console
190
+ $ rclone rc rc/noop param1=one param2=two
191
+ {
192
+ "param1": "one",
193
+ "param2": "two"
194
+ }
195
+ ```
196
+
197
+ If the remote is running on a different URL than the default
198
+ `http://localhost:5572/`, use the `--url` option to specify it:
199
+
200
+ ```console
201
+ rclone rc --url http://some.remote:1234/ rc/noop
202
+ ```
203
+
204
+ Or, if the remote is listening on a Unix socket, use the `--unix-socket` option
205
+ instead:
206
+
207
+ ```console
208
+ rclone rc --unix-socket /tmp/rclone.sock rc/noop
209
+ ```
210
+
211
+ Run `rclone rc` on its own, without any commands, to see the help for the
212
+ installed remote control commands. Note that this also needs to connect to the
213
+ remote server.
214
+
215
+ ## JSON input
216
+
217
+ `rclone rc` also supports a `--json` flag which can be used to send
218
+ more complicated input parameters.
219
+
220
+ ```console
221
+ $ rclone rc --json '{ "p1": [1,"2",null,4], "p2": { "a":1, "b":2 } }' rc/noop
222
+ {
223
+ "p1": [
224
+ 1,
225
+ "2",
226
+ null,
227
+ 4
228
+ ],
229
+ "p2": {
230
+ "a": 1,
231
+ "b": 2
232
+ }
233
+ }
234
+ ```
235
+
236
+ If the parameter being passed is an object then it can be passed as a
237
+ JSON string rather than using the `--json` flag which simplifies the
238
+ command line.
239
+
240
+ ```console
241
+ rclone rc operations/list fs=/tmp remote=test opt='{"showHash": true}'
242
+ ```
243
+
244
+ Rather than
245
+
246
+ ```console
247
+ rclone rc operations/list --json '{"fs": "/tmp", "remote": "test", "opt": {"showHash": true}}'
248
+ ```
249
+
250
+ ## Special parameters
251
+
252
+ The rc interface supports some special parameters which apply to
253
+ **all** commands. These start with `_` to show they are different.
254
+
255
+ ### Running asynchronous jobs with _async = true
256
+
257
+ Each rc call is classified as a job and it is assigned its own id. By default
258
+ jobs are executed immediately as they are created or synchronously.
259
+
260
+ If `_async` has a true value when supplied to an rc call then it will
261
+ return immediately with a job id and execute id, and the task will be run in the
262
+ background. The `job/status` call can be used to get information of
263
+ the background job. The job can be queried for up to 1 minute after
264
+ it has finished.
265
+
266
+ It is recommended that potentially long running jobs, e.g. `sync/sync`,
267
+ `sync/copy`, `sync/move`, `operations/purge` are run with the `_async`
268
+ flag to avoid any potential problems with the HTTP request and
269
+ response timing out.
270
+
271
+ Starting a job with the `_async` flag:
272
+
273
+ ```console
274
+ $ rclone rc --json '{ "p1": [1,"2",null,4], "p2": { "a":1, "b":2 }, "_async": true }' rc/noop
275
+ {
276
+ "jobid": 2,
277
+ "executeId": "d794c33c-463e-4acf-b911-f4b23e4f40b7"
278
+ }
279
+ ```
280
+
281
+ The `jobid` is a unique identifier for the job within this rclone instance.
282
+ The `executeId` identifies the rclone process instance and changes after
283
+ rclone restart. Together, the pair (`executeId`, `jobid`) uniquely identifies
284
+ a job across rclone restarts.
285
+
286
+ Query the status to see if the job has finished. For more information
287
+ on the meaning of these return parameters see the `job/status` call.
288
+
289
+ ```console
290
+ $ rclone rc --json '{ "jobid":2 }' job/status
291
+ {
292
+ "duration": 0.000124163,
293
+ "endTime": "2018-10-27T11:38:07.911245881+01:00",
294
+ "error": "",
295
+ "executeId": "d794c33c-463e-4acf-b911-f4b23e4f40b7",
296
+ "finished": true,
297
+ "id": 2,
298
+ "output": {
299
+ "_async": true,
300
+ "p1": [
301
+ 1,
302
+ "2",
303
+ null,
304
+ 4
305
+ ],
306
+ "p2": {
307
+ "a": 1,
308
+ "b": 2
309
+ }
310
+ },
311
+ "startTime": "2018-10-27T11:38:07.911121728+01:00",
312
+ "success": true
313
+ }
314
+ ```
315
+
316
+ `job/list` can be used to show running or recently completed jobs along with their status
317
+
318
+ ```console
319
+ $ rclone rc job/list
320
+ {
321
+ "executeId": "d794c33c-463e-4acf-b911-f4b23e4f40b7",
322
+ "finished_ids": [
323
+ 1
324
+ ],
325
+ "jobids": [
326
+ 1,
327
+ 2
328
+ ],
329
+ "running_ids": [
330
+ 2
331
+ ]
332
+ }
333
+ ```
334
+
335
+ This shows:
336
+ - `executeId` - the current rclone instance ID (same for all jobs, changes after restart)
337
+ - `jobids` - array of all job IDs (both running and finished)
338
+ - `running_ids` - array of currently running job IDs
339
+ - `finished_ids` - array of finished job IDs
340
+
341
+ ### Setting config flags with _config
342
+
343
+ If you wish to set config (the equivalent of the global flags) for the
344
+ duration of an rc call only then pass in the `_config` parameter.
345
+
346
+ This should be in the same format as the `main` key returned by
347
+ [options/get](#options-get).
348
+
349
+ ```console
350
+ rclone rc --loopback options/get blocks=main
351
+ ```
352
+
353
+ You can see more help on these options with this command (see [the
354
+ options blocks section](#option-blocks) for more info).
355
+
356
+ ```console
357
+ rclone rc --loopback options/info blocks=main
358
+ ```
359
+
360
+ For example, if you wished to run a sync with the `--checksum`
361
+ parameter, you would pass this parameter in your JSON blob.
362
+
363
+ ```json
364
+ "_config":{"CheckSum": true}
365
+ ```
366
+
367
+ If using `rclone rc` this could be passed as
368
+
369
+ ```console
370
+ rclone rc sync/sync ... _config='{"CheckSum": true}'
371
+ ```
372
+
373
+ Any config parameters you don't set will inherit the global defaults
374
+ which were set with command line flags or environment variables.
375
+
376
+ Note that it is possible to set some values as strings or integers -
377
+ see [data types](#data-types) for more info. Here is an example
378
+ setting the equivalent of `--buffer-size` in string or integer format.
379
+
380
+ ```json
381
+ "_config":{"BufferSize": "42M"}
382
+ "_config":{"BufferSize": 44040192}
383
+ ```
384
+
385
+ If you wish to check the `_config` assignment has worked properly then
386
+ calling `options/local` will show what the value got set to.
387
+
388
+ ### Setting filter flags with _filter
389
+
390
+ If you wish to set filters for the duration of an rc call only then
391
+ pass in the `_filter` parameter.
392
+
393
+ This should be in the same format as the `filter` key returned by
394
+ [options/get](#options-get).
395
+
396
+ ```console
397
+ rclone rc --loopback options/get blocks=filter
398
+ ```
399
+
400
+ You can see more help on these options with this command (see [the
401
+ options blocks section](#option-blocks) for more info).
402
+
403
+ ```console
404
+ rclone rc --loopback options/info blocks=filter
405
+ ```
406
+
407
+ For example, if you wished to run a sync with these flags
408
+
409
+ ```text
410
+ --max-size 1M --max-age 42s --include "a" --include "b"
411
+ ```
412
+
413
+ you would pass this parameter in your JSON blob.
414
+
415
+ ```json
416
+ "_filter":{"MaxSize":"1M", "IncludeRule":["a","b"], "MaxAge":"42s"}
417
+ ```
418
+
419
+ If using `rclone rc` this could be passed as
420
+
421
+ ```console
422
+ rclone rc ... _filter='{"MaxSize":"1M", "IncludeRule":["a","b"], "MaxAge":"42s"}'
423
+ ```
424
+
425
+ Any filter parameters you don't set will inherit the global defaults
426
+ which were set with command line flags or environment variables.
427
+
428
+ Note that it is possible to set some values as strings or integers -
429
+ see [data types](#data-types) for more info. Here is an example
430
+ setting the equivalent of `--buffer-size` in string or integer format.
431
+
432
+ ```json
433
+ "_filter":{"MinSize": "42M"}
434
+ "_filter":{"MinSize": 44040192}
435
+ ```
436
+
437
+ If you wish to check the `_filter` assignment has worked properly then
438
+ calling `options/local` will show what the value got set to.
439
+
440
+ ### Assigning operations to groups with _group = value
441
+
442
+ Each rc call has its own stats group for tracking its metrics. By default
443
+ grouping is done by the composite group name from prefix `job/` and id of the
444
+ job like so `job/1`.
445
+
446
+ If `_group` has a value then stats for that request will be grouped under that
447
+ value. This allows caller to group stats under their own name.
448
+
449
+ Stats for specific group can be accessed by passing `group` to `core/stats`:
450
+
451
+ ```console
452
+ $ rclone rc --json '{ "group": "job/1" }' core/stats
453
+ {
454
+ "speed": 12345
455
+ ...
456
+ }
457
+ ```
458
+
459
+ ## Data types {#data-types}
460
+
461
+ When the API returns types, these will mostly be straight forward
462
+ integer, string or boolean types.
463
+
464
+ However some of the types returned by the [options/get](#options-get)
465
+ call and taken by the [options/set](#options-set) calls as well as the
466
+ `vfsOpt`, `mountOpt` and the `_config` parameters.
467
+
468
+ - `Duration` - these are returned as an integer duration in
469
+ nanoseconds. They may be set as an integer, or they may be set with
470
+ time string, eg "5s". See the [options section](/docs/#options) for
471
+ more info.
472
+ - `Size` - these are returned as an integer number of bytes. They may
473
+ be set as an integer or they may be set with a size suffix string,
474
+ eg "10M". See the [options section](/docs/#options) for more info.
475
+ - Enumerated type (such as `CutoffMode`, `DumpFlags`, `LogLevel`,
476
+ `VfsCacheMode` - these will be returned as an integer and may be set
477
+ as an integer but more conveniently they can be set as a string, eg
478
+ "HARD" for `CutoffMode` or `DEBUG` for `LogLevel`.
479
+ - `BandwidthSpec` - this will be set and returned as a string, eg
480
+ "1M".
481
+
482
+ ### Option blocks {#option-blocks}
483
+
484
+ The calls [options/info](#options-info) (for the main config) and
485
+ [config/providers](#config-providers) (for the backend config) may be
486
+ used to get information on the rclone configuration options. This can
487
+ be used to build user interfaces for displaying and setting any rclone
488
+ option.
489
+
490
+ These consist of arrays of `Option` blocks. These have the following
491
+ format. Each block describes a single option.
492
+
493
+ | Field | Type | Optional | Description |
494
+ |-------|------|----------|-------------|
495
+ | Name | string | N | name of the option in snake_case |
496
+ | FieldName | string | N | name of the field used in the rc - if blank use Name. May contain "." for nested fields. |
497
+ | Help | string | N | help, started with a single sentence on a single line |
498
+ | Groups | string | Y | groups this option belongs to - comma separated string for options classification |
499
+ | Provider | string | Y | set to filter on provider |
500
+ | Default | any | N | default value, if set (and not to nil or "") then Required does nothing |
501
+ | Value | any | N | value to be set by flags |
502
+ | Examples | Examples | Y | predefined values that can be selected from list (multiple-choice option) |
503
+ | ShortOpt | string | Y | the short command line option for this |
504
+ | Hide | Visibility | N | if non zero, this option is hidden from the configurator or the command line |
505
+ | Required | bool | N | this option is required, meaning value cannot be empty unless there is a default |
506
+ | IsPassword | bool | N | set if the option is a password |
507
+ | NoPrefix | bool | N | set if the option for this should not use the backend prefix |
508
+ | Advanced | bool | N | set if this is an advanced config option |
509
+ | Exclusive | bool | N | set if the answer can only be one of the examples (empty string allowed unless Required or Default is set) |
510
+ | Sensitive | bool | N | set if this option should be redacted when using `rclone config redacted` |
511
+
512
+ An example of this might be the `--log-level` flag. Note that the
513
+ `Name` of the option becomes the command line flag with `_` replaced
514
+ with `-`.
515
+
516
+ ```json
517
+ {
518
+ "Advanced": false,
519
+ "Default": 5,
520
+ "DefaultStr": "NOTICE",
521
+ "Examples": [
522
+ {
523
+ "Help": "",
524
+ "Value": "EMERGENCY"
525
+ },
526
+ {
527
+ "Help": "",
528
+ "Value": "ALERT"
529
+ },
530
+ ...
531
+ ],
532
+ "Exclusive": true,
533
+ "FieldName": "LogLevel",
534
+ "Groups": "Logging",
535
+ "Help": "Log level DEBUG|INFO|NOTICE|ERROR",
536
+ "Hide": 0,
537
+ "IsPassword": false,
538
+ "Name": "log_level",
539
+ "NoPrefix": true,
540
+ "Required": true,
541
+ "Sensitive": false,
542
+ "Type": "LogLevel",
543
+ "Value": null,
544
+ "ValueStr": "NOTICE"
545
+ },
546
+ ```
547
+
548
+ Note that the `Help` may be multiple lines separated by `\n`. The
549
+ first line will always be a short sentence and this is the sentence
550
+ shown when running `rclone help flags`.
551
+
552
+ ## Specifying remotes to work on
553
+
554
+ Remotes are specified with the `fs=`, `srcFs=`, `dstFs=`
555
+ parameters depending on the command being used.
556
+
557
+ The parameters can be a string as per the rest of rclone, eg
558
+ `s3:bucket/path` or `:sftp:/my/dir`. They can also be specified as
559
+ JSON blobs.
560
+
561
+ If specifying a JSON blob it should be a object mapping strings to
562
+ strings. These values will be used to configure the remote. There are
563
+ 3 special values which may be set:
564
+
565
+ - `type` - set to `type` to specify a remote called `:type:`
566
+ - `_name` - set to `name` to specify a remote called `name:`
567
+ - `_root` - sets the root of the remote - may be empty
568
+
569
+ One of `_name` or `type` should normally be set. If the `local`
570
+ backend is desired then `type` should be set to `local`. If `_root`
571
+ isn't specified then it defaults to the root of the remote.
572
+
573
+ For example this JSON is equivalent to `remote:/tmp`
574
+
575
+ ```json
576
+ {
577
+ "_name": "remote",
578
+ "_root": "/tmp"
579
+ }
580
+ ```
581
+
582
+ And this is equivalent to `:sftp,host='example.com':/tmp`
583
+
584
+ ```json
585
+ {
586
+ "type": "sftp",
587
+ "host": "example.com",
588
+ "_root": "/tmp"
589
+ }
590
+ ```
591
+
592
+ And this is equivalent to `/tmp/dir`
593
+
594
+ ```json
595
+ {
596
+ "type": "local",
597
+ "_root": "/tmp/dir"
598
+ }
599
+ ```
600
+
601
+ ## Supported commands
602
+ <!-- autogenerated start "- run make rcdocs - don't edit here" -->
603
+ ### backend/command: Runs a backend command. {#backend-command}
604
+
605
+ This takes the following parameters:
606
+
607
+ - command - a string with the command name
608
+ - fs - a remote name string e.g. "drive:"
609
+ - arg - a list of arguments for the backend command
610
+ - opt - a map of string to string of options
611
+
612
+ Returns:
613
+
614
+ - result - result from the backend command
615
+
616
+ Example:
617
+
618
+ rclone rc backend/command command=noop fs=. -o echo=yes -o blue -a path1 -a path2
619
+
620
+ Returns
621
+
622
+ ```
623
+ {
624
+ "result": {
625
+ "arg": [
626
+ "path1",
627
+ "path2"
628
+ ],
629
+ "name": "noop",
630
+ "opt": {
631
+ "blue": "",
632
+ "echo": "yes"
633
+ }
634
+ }
635
+ }
636
+ ```
637
+
638
+ Note that this is the direct equivalent of using this "backend"
639
+ command:
640
+
641
+ rclone backend noop . -o echo=yes -o blue path1 path2
642
+
643
+ Note that arguments must be preceded by the "-a" flag
644
+
645
+ See the [backend](/commands/rclone_backend/) command for more information.
646
+
647
+ **Authentication is required for this call.**
648
+
649
+ ### cache/expire: Purge a remote from cache {#cache-expire}
650
+
651
+ Purge a remote from the cache backend. Supports either a directory or a file.
652
+ Params:
653
+ - remote = path to remote (required)
654
+ - withData = true/false to delete cached data (chunks) as well (optional)
655
+
656
+ Eg
657
+
658
+ rclone rc cache/expire remote=path/to/sub/folder/
659
+ rclone rc cache/expire remote=/ withData=true
660
+
661
+ ### cache/fetch: Fetch file chunks {#cache-fetch}
662
+
663
+ Ensure the specified file chunks are cached on disk.
664
+
665
+ The chunks= parameter specifies the file chunks to check.
666
+ It takes a comma separated list of array slice indices.
667
+ The slice indices are similar to Python slices: start[:end]
668
+
669
+ start is the 0 based chunk number from the beginning of the file
670
+ to fetch inclusive. end is 0 based chunk number from the beginning
671
+ of the file to fetch exclusive.
672
+ Both values can be negative, in which case they count from the back
673
+ of the file. The value "-5:" represents the last 5 chunks of a file.
674
+
675
+ Some valid examples are:
676
+ ":5,-5:" -> the first and last five chunks
677
+ "0,-2" -> the first and the second last chunk
678
+ "0:10" -> the first ten chunks
679
+
680
+ Any parameter with a key that starts with "file" can be used to
681
+ specify files to fetch, e.g.
682
+
683
+ rclone rc cache/fetch chunks=0 file=hello file2=home/goodbye
684
+
685
+ File names will automatically be encrypted when the a crypt remote
686
+ is used on top of the cache.
687
+
688
+ ### cache/stats: Get cache stats {#cache-stats}
689
+
690
+ Show statistics for the cache remote.
691
+
692
+ ### config/create: create the config for a remote. {#config-create}
693
+
694
+ This takes the following parameters:
695
+
696
+ - name - name of remote
697
+ - parameters - a map of \{ "key": "value" \} pairs
698
+ - type - type of the new remote
699
+ - opt - a dictionary of options to control the configuration
700
+ - obscure - declare passwords are plain and need obscuring
701
+ - noObscure - declare passwords are already obscured and don't need obscuring
702
+ - noOutput - don't print anything to stdout
703
+ - nonInteractive - don't interact with a user, return questions
704
+ - continue - continue the config process with an answer
705
+ - all - ask all the config questions not just the post config ones
706
+ - state - state to restart with - used with continue
707
+ - result - result to restart with - used with continue
708
+
709
+
710
+ See the [config create](/commands/rclone_config_create/) command for more information on the above.
711
+
712
+ **Authentication is required for this call.**
713
+
714
+ ### config/delete: Delete a remote in the config file. {#config-delete}
715
+
716
+ Parameters:
717
+
718
+ - name - name of remote to delete
719
+
720
+ See the [config delete](/commands/rclone_config_delete/) command for more information on the above.
721
+
722
+ **Authentication is required for this call.**
723
+
724
+ ### config/dump: Dumps the config file. {#config-dump}
725
+
726
+ Returns a JSON object:
727
+ - key: value
728
+
729
+ Where keys are remote names and values are the config parameters.
730
+
731
+ See the [config dump](/commands/rclone_config_dump/) command for more information on the above.
732
+
733
+ **Authentication is required for this call.**
734
+
735
+ ### config/get: Get a remote in the config file. {#config-get}
736
+
737
+ Parameters:
738
+
739
+ - name - name of remote to get
740
+
741
+ See the [config dump](/commands/rclone_config_dump/) command for more information on the above.
742
+
743
+ **Authentication is required for this call.**
744
+
745
+ ### config/listremotes: Lists the remotes in the config file and defined in environment variables. {#config-listremotes}
746
+
747
+ Returns
748
+ - remotes - array of remote names
749
+
750
+ See the [listremotes](/commands/rclone_listremotes/) command for more information on the above.
751
+
752
+ **Authentication is required for this call.**
753
+
754
+ ### config/password: password the config for a remote. {#config-password}
755
+
756
+ This takes the following parameters:
757
+
758
+ - name - name of remote
759
+ - parameters - a map of \{ "key": "value" \} pairs
760
+
761
+
762
+ See the [config password](/commands/rclone_config_password/) command for more information on the above.
763
+
764
+ **Authentication is required for this call.**
765
+
766
+ ### config/paths: Reads the config file path and other important paths. {#config-paths}
767
+
768
+ Returns a JSON object with the following keys:
769
+
770
+ - config: path to config file
771
+ - cache: path to root of cache directory
772
+ - temp: path to root of temporary directory
773
+
774
+ Eg
775
+
776
+ {
777
+ "cache": "/home/USER/.cache/rclone",
778
+ "config": "/home/USER/.rclone.conf",
779
+ "temp": "/tmp"
780
+ }
781
+
782
+ See the [config paths](/commands/rclone_config_paths/) command for more information on the above.
783
+
784
+ **Authentication is required for this call.**
785
+
786
+ ### config/providers: Shows how providers are configured in the config file. {#config-providers}
787
+
788
+ Returns a JSON object:
789
+ - providers - array of objects
790
+
791
+ See the [config providers](/commands/rclone_config_providers/) command
792
+ for more information on the above.
793
+
794
+ Note that the Options blocks are in the same format as returned by
795
+ "options/info". They are described in the
796
+ [option blocks](#option-blocks) section.
797
+
798
+ **Authentication is required for this call.**
799
+
800
+ ### config/setpath: Set the path of the config file {#config-setpath}
801
+
802
+ Parameters:
803
+
804
+ - path - path to the config file to use
805
+
806
+ **Authentication is required for this call.**
807
+
808
+ ### config/unlock: Unlock the config file. {#config-unlock}
809
+
810
+ Unlocks the config file if it is locked.
811
+
812
+ Parameters:
813
+
814
+ - 'configPassword' - password to unlock the config file
815
+
816
+ A good idea is to disable AskPassword before making this call
817
+
818
+ **Authentication is required for this call.**
819
+
820
+ ### config/update: update the config for a remote. {#config-update}
821
+
822
+ This takes the following parameters:
823
+
824
+ - name - name of remote
825
+ - parameters - a map of \{ "key": "value" \} pairs
826
+ - opt - a dictionary of options to control the configuration
827
+ - obscure - declare passwords are plain and need obscuring
828
+ - noObscure - declare passwords are already obscured and don't need obscuring
829
+ - noOutput - don't print anything to stdout
830
+ - nonInteractive - don't interact with a user, return questions
831
+ - continue - continue the config process with an answer
832
+ - all - ask all the config questions not just the post config ones
833
+ - state - state to restart with - used with continue
834
+ - result - result to restart with - used with continue
835
+
836
+
837
+ See the [config update](/commands/rclone_config_update/) command for more information on the above.
838
+
839
+ **Authentication is required for this call.**
840
+
841
+ ### core/bwlimit: Set the bandwidth limit. {#core-bwlimit}
842
+
843
+ This sets the bandwidth limit to the string passed in. This should be
844
+ a single bandwidth limit entry or a pair of upload:download bandwidth.
845
+
846
+ Eg
847
+
848
+ rclone rc core/bwlimit rate=off
849
+ {
850
+ "bytesPerSecond": -1,
851
+ "bytesPerSecondTx": -1,
852
+ "bytesPerSecondRx": -1,
853
+ "rate": "off"
854
+ }
855
+ rclone rc core/bwlimit rate=1M
856
+ {
857
+ "bytesPerSecond": 1048576,
858
+ "bytesPerSecondTx": 1048576,
859
+ "bytesPerSecondRx": 1048576,
860
+ "rate": "1M"
861
+ }
862
+ rclone rc core/bwlimit rate=1M:100k
863
+ {
864
+ "bytesPerSecond": 1048576,
865
+ "bytesPerSecondTx": 1048576,
866
+ "bytesPerSecondRx": 131072,
867
+ "rate": "1M"
868
+ }
869
+
870
+
871
+ If the rate parameter is not supplied then the bandwidth is queried
872
+
873
+ rclone rc core/bwlimit
874
+ {
875
+ "bytesPerSecond": 1048576,
876
+ "bytesPerSecondTx": 1048576,
877
+ "bytesPerSecondRx": 1048576,
878
+ "rate": "1M"
879
+ }
880
+
881
+ The format of the parameter is exactly the same as passed to --bwlimit
882
+ except only one bandwidth may be specified.
883
+
884
+ In either case "rate" is returned as a human-readable string, and
885
+ "bytesPerSecond" is returned as a number.
886
+
887
+ ### core/command: Run a rclone terminal command over rc. {#core-command}
888
+
889
+ This takes the following parameters:
890
+
891
+ - command - a string with the command name.
892
+ - arg - a list of arguments for the backend command.
893
+ - opt - a map of string to string of options.
894
+ - returnType - one of ("COMBINED_OUTPUT", "STREAM", "STREAM_ONLY_STDOUT", "STREAM_ONLY_STDERR").
895
+ - Defaults to "COMBINED_OUTPUT" if not set.
896
+ - The STREAM returnTypes will write the output to the body of the HTTP message.
897
+ - The COMBINED_OUTPUT will write the output to the "result" parameter.
898
+
899
+ Returns:
900
+
901
+ - result - result from the backend command.
902
+ - Only set when using returnType "COMBINED_OUTPUT".
903
+ - error - set if rclone exits with an error code.
904
+ - returnType - one of ("COMBINED_OUTPUT", "STREAM", "STREAM_ONLY_STDOUT", "STREAM_ONLY_STDERR").
905
+
906
+ Example:
907
+
908
+ rclone rc core/command command=ls -a mydrive:/ -o max-depth=1
909
+ rclone rc core/command -a ls -a mydrive:/ -o max-depth=1
910
+
911
+ Returns:
912
+
913
+ ```
914
+ {
915
+ "error": false,
916
+ "result": "<Raw command line output>"
917
+ }
918
+
919
+ OR
920
+ {
921
+ "error": true,
922
+ "result": "<Raw command line output>"
923
+ }
924
+
925
+ ```
926
+
927
+ **Authentication is required for this call.**
928
+
929
+ ### core/du: Returns disk usage of a locally attached disk. {#core-du}
930
+
931
+ This returns the disk usage for the local directory passed in as dir.
932
+
933
+ If the directory is not passed in, it defaults to the directory
934
+ pointed to by --cache-dir.
935
+
936
+ - dir - string (optional)
937
+
938
+ Returns:
939
+
940
+ ```
941
+ {
942
+ "dir": "/",
943
+ "info": {
944
+ "Available": 361769115648,
945
+ "Free": 361785892864,
946
+ "Total": 982141468672
947
+ }
948
+ }
949
+ ```
950
+
951
+ ### core/gc: Runs a garbage collection. {#core-gc}
952
+
953
+ This tells the go runtime to do a garbage collection run. It isn't
954
+ necessary to call this normally, but it can be useful for debugging
955
+ memory problems.
956
+
957
+ ### core/group-list: Returns list of stats. {#core-group-list}
958
+
959
+ This returns list of stats groups currently in memory.
960
+
961
+ Returns the following values:
962
+ ```
963
+ {
964
+ "groups": an array of group names:
965
+ [
966
+ "group1",
967
+ "group2",
968
+ ...
969
+ ]
970
+ }
971
+ ```
972
+
973
+ ### core/memstats: Returns the memory statistics {#core-memstats}
974
+
975
+ This returns the memory statistics of the running program. What the values mean
976
+ are explained in the go docs: https://golang.org/pkg/runtime/#MemStats
977
+
978
+ The most interesting values for most people are:
979
+
980
+ - HeapAlloc - this is the amount of memory rclone is actually using
981
+ - HeapSys - this is the amount of memory rclone has obtained from the OS
982
+ - Sys - this is the total amount of memory requested from the OS
983
+ - It is virtual memory so may include unused memory
984
+
985
+ ### core/obscure: Obscures a string passed in. {#core-obscure}
986
+
987
+ Pass a clear string and rclone will obscure it for the config file:
988
+ - clear - string
989
+
990
+ Returns:
991
+ - obscured - string
992
+
993
+ ### core/pid: Return PID of current process {#core-pid}
994
+
995
+ This returns PID of current process.
996
+ Useful for stopping rclone process.
997
+
998
+ ### core/quit: Terminates the app. {#core-quit}
999
+
1000
+ (Optional) Pass an exit code to be used for terminating the app:
1001
+ - exitCode - int
1002
+
1003
+ ### core/stats: Returns stats about current transfers. {#core-stats}
1004
+
1005
+ This returns all available stats:
1006
+
1007
+ rclone rc core/stats
1008
+
1009
+ If group is not provided then summed up stats for all groups will be
1010
+ returned.
1011
+
1012
+ Parameters
1013
+
1014
+ - group - name of the stats group (string, optional)
1015
+ - short - if true will not return the transferring and checking arrays (boolean, optional)
1016
+
1017
+ Returns the following values:
1018
+
1019
+ ```
1020
+ {
1021
+ "bytes": total transferred bytes since the start of the group,
1022
+ "checks": number of files checked,
1023
+ "deletes" : number of files deleted,
1024
+ "elapsedTime": time in floating point seconds since rclone was started,
1025
+ "errors": number of errors,
1026
+ "eta": estimated time in seconds until the group completes,
1027
+ "fatalError": boolean whether there has been at least one fatal error,
1028
+ "lastError": last error string,
1029
+ "renames" : number of files renamed,
1030
+ "listed" : number of directory entries listed,
1031
+ "retryError": boolean showing whether there has been at least one non-NoRetryError,
1032
+ "serverSideCopies": number of server side copies done,
1033
+ "serverSideCopyBytes": number bytes server side copied,
1034
+ "serverSideMoves": number of server side moves done,
1035
+ "serverSideMoveBytes": number bytes server side moved,
1036
+ "speed": average speed in bytes per second since start of the group,
1037
+ "totalBytes": total number of bytes in the group,
1038
+ "totalChecks": total number of checks in the group,
1039
+ "totalTransfers": total number of transfers in the group,
1040
+ "transferTime" : total time spent on running jobs,
1041
+ "transfers": number of transferred files,
1042
+ "transferring": an array of currently active file transfers:
1043
+ [
1044
+ {
1045
+ "bytes": total transferred bytes for this file,
1046
+ "eta": estimated time in seconds until file transfer completion
1047
+ "name": name of the file,
1048
+ "percentage": progress of the file transfer in percent,
1049
+ "speed": average speed over the whole transfer in bytes per second,
1050
+ "speedAvg": current speed in bytes per second as an exponentially weighted moving average,
1051
+ "size": size of the file in bytes
1052
+ }
1053
+ ],
1054
+ "checking": an array of names of currently active file checks
1055
+ []
1056
+ }
1057
+ ```
1058
+ Values for "transferring", "checking" and "lastError" are only assigned if data is available.
1059
+ The value for "eta" is null if an eta cannot be determined.
1060
+
1061
+ ### core/stats-delete: Delete stats group. {#core-stats-delete}
1062
+
1063
+ This deletes entire stats group.
1064
+
1065
+ Parameters
1066
+
1067
+ - group - name of the stats group (string)
1068
+
1069
+ ### core/stats-reset: Reset stats. {#core-stats-reset}
1070
+
1071
+ This clears counters, errors and finished transfers for all stats or specific
1072
+ stats group if group is provided.
1073
+
1074
+ Parameters
1075
+
1076
+ - group - name of the stats group (string)
1077
+
1078
+ ### core/transferred: Returns stats about completed transfers. {#core-transferred}
1079
+
1080
+ This returns stats about completed transfers:
1081
+
1082
+ rclone rc core/transferred
1083
+
1084
+ If group is not provided then completed transfers for all groups will be
1085
+ returned.
1086
+
1087
+ Note only the last 100 completed transfers are returned.
1088
+
1089
+ Parameters
1090
+
1091
+ - group - name of the stats group (string)
1092
+
1093
+ Returns the following values:
1094
+ ```
1095
+ {
1096
+ "transferred": an array of completed transfers (including failed ones):
1097
+ [
1098
+ {
1099
+ "name": name of the file,
1100
+ "size": size of the file in bytes,
1101
+ "bytes": total transferred bytes for this file,
1102
+ "checked": if the transfer is only checked (skipped, deleted),
1103
+ "what": the purpose of the transfer (transferring, deleting, checking, importing, hashing, merging, listing, moving, renaming),
1104
+ "timestamp": integer representing millisecond unix epoch,
1105
+ "error": string description of the error (empty if successful),
1106
+ "jobid": id of the job that this transfer belongs to
1107
+ }
1108
+ ]
1109
+ }
1110
+ ```
1111
+
1112
+ ### core/version: Shows the current version of rclone, Go and the OS. {#core-version}
1113
+
1114
+ This shows the current versions of rclone, Go and the OS:
1115
+
1116
+ - version - rclone version, e.g. "v1.71.2"
1117
+ - decomposed - version number as [major, minor, patch]
1118
+ - isGit - boolean - true if this was compiled from the git version
1119
+ - isBeta - boolean - true if this is a beta version
1120
+ - os - OS in use as according to Go GOOS (e.g. "linux")
1121
+ - osKernel - OS Kernel version (e.g. "6.8.0-86-generic (x86_64)")
1122
+ - osVersion - OS Version (e.g. "ubuntu 24.04 (64 bit)")
1123
+ - osArch - cpu architecture in use (e.g. "arm64 (ARMv8 compatible)")
1124
+ - arch - cpu architecture in use according to Go GOARCH (e.g. "arm64")
1125
+ - goVersion - version of Go runtime in use (e.g. "go1.25.0")
1126
+ - linking - type of rclone executable (static or dynamic)
1127
+ - goTags - space separated build tags or "none"
1128
+
1129
+ ### debug/set-block-profile-rate: Set runtime.SetBlockProfileRate for blocking profiling. {#debug-set-block-profile-rate}
1130
+
1131
+ SetBlockProfileRate controls the fraction of goroutine blocking events
1132
+ that are reported in the blocking profile. The profiler aims to sample
1133
+ an average of one blocking event per rate nanoseconds spent blocked.
1134
+
1135
+ To include every blocking event in the profile, pass rate = 1. To turn
1136
+ off profiling entirely, pass rate <= 0.
1137
+
1138
+ After calling this you can use this to see the blocking profile:
1139
+
1140
+ go tool pprof http://localhost:5572/debug/pprof/block
1141
+
1142
+ Parameters:
1143
+
1144
+ - rate - int
1145
+
1146
+ ### debug/set-gc-percent: Call runtime/debug.SetGCPercent for setting the garbage collection target percentage. {#debug-set-gc-percent}
1147
+
1148
+ SetGCPercent sets the garbage collection target percentage: a collection is triggered
1149
+ when the ratio of freshly allocated data to live data remaining after the previous collection
1150
+ reaches this percentage. SetGCPercent returns the previous setting. The initial setting is the
1151
+ value of the GOGC environment variable at startup, or 100 if the variable is not set.
1152
+
1153
+ This setting may be effectively reduced in order to maintain a memory limit.
1154
+ A negative percentage effectively disables garbage collection, unless the memory limit is reached.
1155
+
1156
+ See https://pkg.go.dev/runtime/debug#SetMemoryLimit for more details.
1157
+
1158
+ Parameters:
1159
+
1160
+ - gc-percent - int
1161
+
1162
+ ### debug/set-mutex-profile-fraction: Set runtime.SetMutexProfileFraction for mutex profiling. {#debug-set-mutex-profile-fraction}
1163
+
1164
+ SetMutexProfileFraction controls the fraction of mutex contention
1165
+ events that are reported in the mutex profile. On average 1/rate
1166
+ events are reported. The previous rate is returned.
1167
+
1168
+ To turn off profiling entirely, pass rate 0. To just read the current
1169
+ rate, pass rate < 0. (For n>1 the details of sampling may change.)
1170
+
1171
+ Once this is set you can look use this to profile the mutex contention:
1172
+
1173
+ go tool pprof http://localhost:5572/debug/pprof/mutex
1174
+
1175
+ Parameters:
1176
+
1177
+ - rate - int
1178
+
1179
+ Results:
1180
+
1181
+ - previousRate - int
1182
+
1183
+ ### debug/set-soft-memory-limit: Call runtime/debug.SetMemoryLimit for setting a soft memory limit for the runtime. {#debug-set-soft-memory-limit}
1184
+
1185
+ SetMemoryLimit provides the runtime with a soft memory limit.
1186
+
1187
+ The runtime undertakes several processes to try to respect this memory limit, including
1188
+ adjustments to the frequency of garbage collections and returning memory to the underlying
1189
+ system more aggressively. This limit will be respected even if GOGC=off (or, if SetGCPercent(-1) is executed).
1190
+
1191
+ The input limit is provided as bytes, and includes all memory mapped, managed, and not
1192
+ released by the Go runtime. Notably, it does not account for space used by the Go binary
1193
+ and memory external to Go, such as memory managed by the underlying system on behalf of
1194
+ the process, or memory managed by non-Go code inside the same process.
1195
+ Examples of excluded memory sources include: OS kernel memory held on behalf of the process,
1196
+ memory allocated by C code, and memory mapped by syscall.Mmap (because it is not managed by the Go runtime).
1197
+
1198
+ A zero limit or a limit that's lower than the amount of memory used by the Go runtime may cause
1199
+ the garbage collector to run nearly continuously. However, the application may still make progress.
1200
+
1201
+ The memory limit is always respected by the Go runtime, so to effectively disable this behavior,
1202
+ set the limit very high. math.MaxInt64 is the canonical value for disabling the limit, but values
1203
+ much greater than the available memory on the underlying system work just as well.
1204
+
1205
+ See https://go.dev/doc/gc-guide for a detailed guide explaining the soft memory limit in more detail,
1206
+ as well as a variety of common use-cases and scenarios.
1207
+
1208
+ SetMemoryLimit returns the previously set memory limit. A negative input does not adjust the limit,
1209
+ and allows for retrieval of the currently set memory limit.
1210
+
1211
+ Parameters:
1212
+
1213
+ - mem-limit - int
1214
+
1215
+ ### fscache/clear: Clear the Fs cache. {#fscache-clear}
1216
+
1217
+ This clears the fs cache. This is where remotes created from backends
1218
+ are cached for a short while to make repeated rc calls more efficient.
1219
+
1220
+ If you change the parameters of a backend then you may want to call
1221
+ this to clear an existing remote out of the cache before re-creating
1222
+ it.
1223
+
1224
+ **Authentication is required for this call.**
1225
+
1226
+ ### fscache/entries: Returns the number of entries in the fs cache. {#fscache-entries}
1227
+
1228
+ This returns the number of entries in the fs cache.
1229
+
1230
+ Returns
1231
+ - entries - number of items in the cache
1232
+
1233
+ **Authentication is required for this call.**
1234
+
1235
+ ### job/batch: Run a batch of rclone rc commands concurrently. {#job-batch}
1236
+
1237
+ This takes the following parameters:
1238
+
1239
+ - concurrency - int - do this many commands concurrently. Defaults to `--transfers` if not set.
1240
+ - inputs - an list of inputs to the commands with an extra `_path` parameter
1241
+
1242
+ ```json
1243
+ {
1244
+ "_path": "rc/path",
1245
+ "param1": "parameter for the path as documented",
1246
+ "param2": "parameter for the path as documented, etc",
1247
+ }
1248
+ ```
1249
+
1250
+ The inputs may use `_async`, `_group`, `_config` and `_filter` as normal when using the rc.
1251
+
1252
+ Returns:
1253
+
1254
+ - results - a list of results from the commands with one entry for each in inputs.
1255
+
1256
+ For example:
1257
+
1258
+ ```sh
1259
+ rclone rc job/batch --json '{
1260
+ "inputs": [
1261
+ {
1262
+ "_path": "rc/noop",
1263
+ "parameter": "OK"
1264
+ },
1265
+ {
1266
+ "_path": "rc/error",
1267
+ "parameter": "BAD"
1268
+ }
1269
+ ]
1270
+ }
1271
+ '
1272
+ ```
1273
+
1274
+ Gives the result:
1275
+
1276
+ ```json
1277
+ {
1278
+ "results": [
1279
+ {
1280
+ "parameter": "OK"
1281
+ },
1282
+ {
1283
+ "error": "arbitrary error on input map[parameter:BAD]",
1284
+ "input": {
1285
+ "parameter": "BAD"
1286
+ },
1287
+ "path": "rc/error",
1288
+ "status": 500
1289
+ }
1290
+ ]
1291
+ }
1292
+ ```
1293
+
1294
+ **Authentication is required for this call.**
1295
+
1296
+ ### job/list: Lists the IDs of the running jobs {#job-list}
1297
+
1298
+ Parameters: None.
1299
+
1300
+ Results:
1301
+
1302
+ - executeId - string id of rclone executing (change after restart)
1303
+ - jobids - array of integer job ids (starting at 1 on each restart)
1304
+ - runningIds - array of integer job ids that are running
1305
+ - finishedIds - array of integer job ids that are finished
1306
+
1307
+ ### job/status: Reads the status of the job ID {#job-status}
1308
+
1309
+ Parameters:
1310
+
1311
+ - jobid - id of the job (integer).
1312
+
1313
+ Results:
1314
+
1315
+ - finished - boolean
1316
+ - duration - time in seconds that the job ran for
1317
+ - endTime - time the job finished (e.g. "2018-10-26T18:50:20.528746884+01:00")
1318
+ - error - error from the job or empty string for no error
1319
+ - finished - boolean whether the job has finished or not
1320
+ - id - as passed in above
1321
+ - executeId - rclone instance ID (changes after restart); combined with id uniquely identifies a job
1322
+ - startTime - time the job started (e.g. "2018-10-26T18:50:20.528336039+01:00")
1323
+ - success - boolean - true for success false otherwise
1324
+ - output - output of the job as would have been returned if called synchronously
1325
+ - progress - output of the progress related to the underlying job
1326
+
1327
+ ### job/stop: Stop the running job {#job-stop}
1328
+
1329
+ Parameters:
1330
+
1331
+ - jobid - id of the job (integer).
1332
+
1333
+ ### job/stopgroup: Stop all running jobs in a group {#job-stopgroup}
1334
+
1335
+ Parameters:
1336
+
1337
+ - group - name of the group (string).
1338
+
1339
+ ### mount/listmounts: Show current mount points {#mount-listmounts}
1340
+
1341
+ This shows currently mounted points, which can be used for performing an unmount.
1342
+
1343
+ This takes no parameters and returns
1344
+
1345
+ - mountPoints: list of current mount points
1346
+
1347
+ Eg
1348
+
1349
+ rclone rc mount/listmounts
1350
+
1351
+ **Authentication is required for this call.**
1352
+
1353
+ ### mount/mount: Create a new mount point {#mount-mount}
1354
+
1355
+ rclone allows Linux, FreeBSD, macOS and Windows to mount any of
1356
+ Rclone's cloud storage systems as a file system with FUSE.
1357
+
1358
+ If no mountType is provided, the priority is given as follows: 1. mount 2.cmount 3.mount2
1359
+
1360
+ This takes the following parameters:
1361
+
1362
+ - fs - a remote path to be mounted (required)
1363
+ - mountPoint: valid path on the local machine (required)
1364
+ - mountType: one of the values (mount, cmount, mount2) specifies the mount implementation to use
1365
+ - mountOpt: a JSON object with Mount options in.
1366
+ - vfsOpt: a JSON object with VFS options in.
1367
+
1368
+ Example:
1369
+
1370
+ ```console
1371
+ rclone rc mount/mount fs=mydrive: mountPoint=/home/<user>/mountPoint
1372
+ rclone rc mount/mount fs=mydrive: mountPoint=/home/<user>/mountPoint mountType=mount
1373
+ rclone rc mount/mount fs=TestDrive: mountPoint=/mnt/tmp vfsOpt='{"CacheMode": 2}' mountOpt='{"AllowOther": true}'
1374
+ ```
1375
+
1376
+ The vfsOpt are as described in options/get and can be seen in the
1377
+ "vfs" section when running and the mountOpt can be seen in the "mount" section:
1378
+
1379
+ ```console
1380
+ rclone rc options/get
1381
+ ```
1382
+
1383
+ **Authentication is required for this call.**
1384
+
1385
+ ### mount/types: Show all possible mount types {#mount-types}
1386
+
1387
+ This shows all possible mount types and returns them as a list.
1388
+
1389
+ This takes no parameters and returns
1390
+
1391
+ - mountTypes: list of mount types
1392
+
1393
+ The mount types are strings like "mount", "mount2", "cmount" and can
1394
+ be passed to mount/mount as the mountType parameter.
1395
+
1396
+ Eg
1397
+
1398
+ rclone rc mount/types
1399
+
1400
+ **Authentication is required for this call.**
1401
+
1402
+ ### mount/unmount: Unmount selected active mount {#mount-unmount}
1403
+
1404
+ rclone allows Linux, FreeBSD, macOS and Windows to
1405
+ mount any of Rclone's cloud storage systems as a file system with
1406
+ FUSE.
1407
+
1408
+ This takes the following parameters:
1409
+
1410
+ - mountPoint: valid path on the local machine where the mount was created (required)
1411
+
1412
+ Example:
1413
+
1414
+ rclone rc mount/unmount mountPoint=/home/<user>/mountPoint
1415
+
1416
+ **Authentication is required for this call.**
1417
+
1418
+ ### mount/unmountall: Unmount all active mounts {#mount-unmountall}
1419
+
1420
+ rclone allows Linux, FreeBSD, macOS and Windows to
1421
+ mount any of Rclone's cloud storage systems as a file system with
1422
+ FUSE.
1423
+
1424
+ This takes no parameters and returns error if unmount does not succeed.
1425
+
1426
+ Eg
1427
+
1428
+ rclone rc mount/unmountall
1429
+
1430
+ **Authentication is required for this call.**
1431
+
1432
+ ### operations/about: Return the space used on the remote {#operations-about}
1433
+
1434
+ This takes the following parameters:
1435
+
1436
+ - fs - a remote name string e.g. "drive:"
1437
+
1438
+ The result is as returned from rclone about --json
1439
+
1440
+ See the [about](/commands/rclone_about/) command for more information on the above.
1441
+
1442
+ **Authentication is required for this call.**
1443
+
1444
+ ### operations/check: check the source and destination are the same {#operations-check}
1445
+
1446
+ Checks the files in the source and destination match. It compares
1447
+ sizes and hashes and logs a report of files that don't
1448
+ match. It doesn't alter the source or destination.
1449
+
1450
+ This takes the following parameters:
1451
+
1452
+ - srcFs - a remote name string e.g. "drive:" for the source, "/" for local filesystem
1453
+ - dstFs - a remote name string e.g. "drive2:" for the destination, "/" for local filesystem
1454
+ - download - check by downloading rather than with hash
1455
+ - checkFileHash - treat checkFileFs:checkFileRemote as a SUM file with hashes of given type
1456
+ - checkFileFs - treat checkFileFs:checkFileRemote as a SUM file with hashes of given type
1457
+ - checkFileRemote - treat checkFileFs:checkFileRemote as a SUM file with hashes of given type
1458
+ - oneWay - check one way only, source files must exist on remote
1459
+ - combined - make a combined report of changes (default false)
1460
+ - missingOnSrc - report all files missing from the source (default true)
1461
+ - missingOnDst - report all files missing from the destination (default true)
1462
+ - match - report all matching files (default false)
1463
+ - differ - report all non-matching files (default true)
1464
+ - error - report all files with errors (hashing or reading) (default true)
1465
+
1466
+ If you supply the download flag, it will download the data from
1467
+ both remotes and check them against each other on the fly. This can
1468
+ be useful for remotes that don't support hashes or if you really want
1469
+ to check all the data.
1470
+
1471
+ If you supply the size-only global flag, it will only compare the sizes not
1472
+ the hashes as well. Use this for a quick check.
1473
+
1474
+ If you supply the checkFileHash option with a valid hash name, the
1475
+ checkFileFs:checkFileRemote must point to a text file in the SUM
1476
+ format. This treats the checksum file as the source and dstFs as the
1477
+ destination. Note that srcFs is not used and should not be supplied in
1478
+ this case.
1479
+
1480
+ Returns:
1481
+
1482
+ - success - true if no error, false otherwise
1483
+ - status - textual summary of check, OK or text string
1484
+ - hashType - hash used in check, may be missing
1485
+ - combined - array of strings of combined report of changes
1486
+ - missingOnSrc - array of strings of all files missing from the source
1487
+ - missingOnDst - array of strings of all files missing from the destination
1488
+ - match - array of strings of all matching files
1489
+ - differ - array of strings of all non-matching files
1490
+ - error - array of strings of all files with errors (hashing or reading)
1491
+
1492
+ **Authentication is required for this call.**
1493
+
1494
+ ### operations/cleanup: Remove trashed files in the remote or path {#operations-cleanup}
1495
+
1496
+ This takes the following parameters:
1497
+
1498
+ - fs - a remote name string e.g. "drive:"
1499
+
1500
+ See the [cleanup](/commands/rclone_cleanup/) command for more information on the above.
1501
+
1502
+ **Authentication is required for this call.**
1503
+
1504
+ ### operations/copyfile: Copy a file from source remote to destination remote {#operations-copyfile}
1505
+
1506
+ This takes the following parameters:
1507
+
1508
+ - srcFs - a remote name string e.g. "drive:" for the source, "/" for local filesystem
1509
+ - srcRemote - a path within that remote e.g. "file.txt" for the source
1510
+ - dstFs - a remote name string e.g. "drive2:" for the destination, "/" for local filesystem
1511
+ - dstRemote - a path within that remote e.g. "file2.txt" for the destination
1512
+
1513
+ **Authentication is required for this call.**
1514
+
1515
+ ### operations/copyurl: Copy the URL to the object {#operations-copyurl}
1516
+
1517
+ This takes the following parameters:
1518
+
1519
+ - fs - a remote name string e.g. "drive:"
1520
+ - remote - a path within that remote e.g. "dir"
1521
+ - url - string, URL to read from
1522
+ - autoFilename - boolean, set to true to retrieve destination file name from url
1523
+
1524
+ See the [copyurl](/commands/rclone_copyurl/) command for more information on the above.
1525
+
1526
+ **Authentication is required for this call.**
1527
+
1528
+ ### operations/delete: Remove files in the path {#operations-delete}
1529
+
1530
+ This takes the following parameters:
1531
+
1532
+ - fs - a remote name string e.g. "drive:"
1533
+
1534
+ See the [delete](/commands/rclone_delete/) command for more information on the above.
1535
+
1536
+ **Authentication is required for this call.**
1537
+
1538
+ ### operations/deletefile: Remove the single file pointed to {#operations-deletefile}
1539
+
1540
+ This takes the following parameters:
1541
+
1542
+ - fs - a remote name string e.g. "drive:"
1543
+ - remote - a path within that remote e.g. "dir"
1544
+
1545
+ See the [deletefile](/commands/rclone_deletefile/) command for more information on the above.
1546
+
1547
+ **Authentication is required for this call.**
1548
+
1549
+ ### operations/fsinfo: Return information about the remote {#operations-fsinfo}
1550
+
1551
+ This takes the following parameters:
1552
+
1553
+ - fs - a remote name string e.g. "drive:"
1554
+
1555
+ This returns info about the remote passed in;
1556
+
1557
+ ```
1558
+ {
1559
+ // optional features and whether they are available or not
1560
+ "Features": {
1561
+ "About": true,
1562
+ "BucketBased": false,
1563
+ "BucketBasedRootOK": false,
1564
+ "CanHaveEmptyDirectories": true,
1565
+ "CaseInsensitive": false,
1566
+ "ChangeNotify": false,
1567
+ "CleanUp": false,
1568
+ "Command": true,
1569
+ "Copy": false,
1570
+ "DirCacheFlush": false,
1571
+ "DirMove": true,
1572
+ "Disconnect": false,
1573
+ "DuplicateFiles": false,
1574
+ "GetTier": false,
1575
+ "IsLocal": true,
1576
+ "ListR": false,
1577
+ "MergeDirs": false,
1578
+ "MetadataInfo": true,
1579
+ "Move": true,
1580
+ "OpenWriterAt": true,
1581
+ "PublicLink": false,
1582
+ "Purge": true,
1583
+ "PutStream": true,
1584
+ "PutUnchecked": false,
1585
+ "ReadMetadata": true,
1586
+ "ReadMimeType": false,
1587
+ "ServerSideAcrossConfigs": false,
1588
+ "SetTier": false,
1589
+ "SetWrapper": false,
1590
+ "Shutdown": false,
1591
+ "SlowHash": true,
1592
+ "SlowModTime": false,
1593
+ "UnWrap": false,
1594
+ "UserInfo": false,
1595
+ "UserMetadata": true,
1596
+ "WrapFs": false,
1597
+ "WriteMetadata": true,
1598
+ "WriteMimeType": false
1599
+ },
1600
+ // Names of hashes available
1601
+ "Hashes": [
1602
+ "md5",
1603
+ "sha1",
1604
+ "whirlpool",
1605
+ "crc32",
1606
+ "sha256",
1607
+ "dropbox",
1608
+ "mailru",
1609
+ "quickxor"
1610
+ ],
1611
+ "Name": "local", // Name as created
1612
+ "Precision": 1, // Precision of timestamps in ns
1613
+ "Root": "/", // Path as created
1614
+ "String": "Local file system at /", // how the remote will appear in logs
1615
+ // Information about the system metadata for this backend
1616
+ "MetadataInfo": {
1617
+ "System": {
1618
+ "atime": {
1619
+ "Help": "Time of last access",
1620
+ "Type": "RFC 3339",
1621
+ "Example": "2006-01-02T15:04:05.999999999Z07:00"
1622
+ },
1623
+ "btime": {
1624
+ "Help": "Time of file birth (creation)",
1625
+ "Type": "RFC 3339",
1626
+ "Example": "2006-01-02T15:04:05.999999999Z07:00"
1627
+ },
1628
+ "gid": {
1629
+ "Help": "Group ID of owner",
1630
+ "Type": "decimal number",
1631
+ "Example": "500"
1632
+ },
1633
+ "mode": {
1634
+ "Help": "File type and mode",
1635
+ "Type": "octal, unix style",
1636
+ "Example": "0100664"
1637
+ },
1638
+ "mtime": {
1639
+ "Help": "Time of last modification",
1640
+ "Type": "RFC 3339",
1641
+ "Example": "2006-01-02T15:04:05.999999999Z07:00"
1642
+ },
1643
+ "rdev": {
1644
+ "Help": "Device ID (if special file)",
1645
+ "Type": "hexadecimal",
1646
+ "Example": "1abc"
1647
+ },
1648
+ "uid": {
1649
+ "Help": "User ID of owner",
1650
+ "Type": "decimal number",
1651
+ "Example": "500"
1652
+ }
1653
+ },
1654
+ "Help": "Textual help string\n"
1655
+ }
1656
+ }
1657
+ ```
1658
+
1659
+ This command does not have a command line equivalent so use this instead:
1660
+
1661
+ rclone rc --loopback operations/fsinfo fs=remote:
1662
+
1663
+ ### operations/hashsum: Produces a hashsum file for all the objects in the path. {#operations-hashsum}
1664
+
1665
+ Produces a hash file for all the objects in the path using the hash
1666
+ named. The output is in the same format as the standard
1667
+ md5sum/sha1sum tool.
1668
+
1669
+ This takes the following parameters:
1670
+
1671
+ - fs - a remote name string e.g. "drive:" for the source, "/" for local filesystem
1672
+ - this can point to a file and just that file will be returned in the listing.
1673
+ - hashType - type of hash to be used
1674
+ - download - check by downloading rather than with hash (boolean)
1675
+ - base64 - output the hashes in base64 rather than hex (boolean)
1676
+
1677
+ If you supply the download flag, it will download the data from the
1678
+ remote and create the hash on the fly. This can be useful for remotes
1679
+ that don't support the given hash or if you really want to check all
1680
+ the data.
1681
+
1682
+ Note that if you wish to supply a checkfile to check hashes against
1683
+ the current files then you should use operations/check instead of
1684
+ operations/hashsum.
1685
+
1686
+ Returns:
1687
+
1688
+ - hashsum - array of strings of the hashes
1689
+ - hashType - type of hash used
1690
+
1691
+ Example:
1692
+
1693
+ $ rclone rc --loopback operations/hashsum fs=bin hashType=MD5 download=true base64=true
1694
+ {
1695
+ "hashType": "md5",
1696
+ "hashsum": [
1697
+ "WTSVLpuiXyJO_kGzJerRLg== backend-versions.sh",
1698
+ "v1b_OlWCJO9LtNq3EIKkNQ== bisect-go-rclone.sh",
1699
+ "VHbmHzHh4taXzgag8BAIKQ== bisect-rclone.sh",
1700
+ ]
1701
+ }
1702
+
1703
+ See the [hashsum](/commands/rclone_hashsum/) command for more information on the above.
1704
+
1705
+ **Authentication is required for this call.**
1706
+
1707
+ ### operations/hashsumfile: Produces a hash for a single file. {#operations-hashsumfile}
1708
+
1709
+ Produces a hash for a single file using the hash named.
1710
+
1711
+ This takes the following parameters:
1712
+
1713
+ - fs - a remote name string e.g. "drive:"
1714
+ - remote - a path within that remote e.g. "file.txt"
1715
+ - hashType - type of hash to be used
1716
+ - download - check by downloading rather than with hash (boolean)
1717
+ - base64 - output the hashes in base64 rather than hex (boolean)
1718
+
1719
+ If you supply the download flag, it will download the data from the
1720
+ remote and create the hash on the fly. This can be useful for remotes
1721
+ that don't support the given hash or if you really want to read all
1722
+ the data.
1723
+
1724
+ Returns:
1725
+
1726
+ - hash - hash for the file
1727
+ - hashType - type of hash used
1728
+
1729
+ Example:
1730
+
1731
+ $ rclone rc --loopback operations/hashsumfile fs=/ remote=/bin/bash hashType=MD5 download=true base64=true
1732
+ {
1733
+ "hashType": "md5",
1734
+ "hash": "MDMw-fG2YXs7Uz5Nz-H68A=="
1735
+ }
1736
+
1737
+ See the [hashsum](/commands/rclone_hashsum/) command for more information on the above.
1738
+
1739
+ **Authentication is required for this call.**
1740
+
1741
+ ### operations/list: List the given remote and path in JSON format {#operations-list}
1742
+
1743
+ This takes the following parameters:
1744
+
1745
+ - fs - a remote name string e.g. "drive:"
1746
+ - remote - a path within that remote e.g. "dir"
1747
+ - opt - a dictionary of options to control the listing (optional)
1748
+ - recurse - If set recurse directories
1749
+ - noModTime - If set return modification time
1750
+ - showEncrypted - If set show decrypted names
1751
+ - showOrigIDs - If set show the IDs for each item if known
1752
+ - showHash - If set return a dictionary of hashes
1753
+ - noMimeType - If set don't show mime types
1754
+ - dirsOnly - If set only show directories
1755
+ - filesOnly - If set only show files
1756
+ - metadata - If set return metadata of objects also
1757
+ - hashTypes - array of strings of hash types to show if showHash set
1758
+
1759
+ Returns:
1760
+
1761
+ - list
1762
+ - This is an array of objects as described in the lsjson command
1763
+
1764
+ See the [lsjson](/commands/rclone_lsjson/) command for more information on the above and examples.
1765
+
1766
+ **Authentication is required for this call.**
1767
+
1768
+ ### operations/mkdir: Make a destination directory or container {#operations-mkdir}
1769
+
1770
+ This takes the following parameters:
1771
+
1772
+ - fs - a remote name string e.g. "drive:"
1773
+ - remote - a path within that remote e.g. "dir"
1774
+
1775
+ See the [mkdir](/commands/rclone_mkdir/) command for more information on the above.
1776
+
1777
+ **Authentication is required for this call.**
1778
+
1779
+ ### operations/movefile: Move a file from source remote to destination remote {#operations-movefile}
1780
+
1781
+ This takes the following parameters:
1782
+
1783
+ - srcFs - a remote name string e.g. "drive:" for the source, "/" for local filesystem
1784
+ - srcRemote - a path within that remote e.g. "file.txt" for the source
1785
+ - dstFs - a remote name string e.g. "drive2:" for the destination, "/" for local filesystem
1786
+ - dstRemote - a path within that remote e.g. "file2.txt" for the destination
1787
+
1788
+ **Authentication is required for this call.**
1789
+
1790
+ ### operations/publiclink: Create or retrieve a public link to the given file or folder. {#operations-publiclink}
1791
+
1792
+ This takes the following parameters:
1793
+
1794
+ - fs - a remote name string e.g. "drive:"
1795
+ - remote - a path within that remote e.g. "dir"
1796
+ - unlink - boolean - if set removes the link rather than adding it (optional)
1797
+ - expire - string - the expiry time of the link e.g. "1d" (optional)
1798
+
1799
+ Returns:
1800
+
1801
+ - url - URL of the resource
1802
+
1803
+ See the [link](/commands/rclone_link/) command for more information on the above.
1804
+
1805
+ **Authentication is required for this call.**
1806
+
1807
+ ### operations/purge: Remove a directory or container and all of its contents {#operations-purge}
1808
+
1809
+ This takes the following parameters:
1810
+
1811
+ - fs - a remote name string e.g. "drive:"
1812
+ - remote - a path within that remote e.g. "dir"
1813
+
1814
+ See the [purge](/commands/rclone_purge/) command for more information on the above.
1815
+
1816
+ **Authentication is required for this call.**
1817
+
1818
+ ### operations/rmdir: Remove an empty directory or container {#operations-rmdir}
1819
+
1820
+ This takes the following parameters:
1821
+
1822
+ - fs - a remote name string e.g. "drive:"
1823
+ - remote - a path within that remote e.g. "dir"
1824
+
1825
+ See the [rmdir](/commands/rclone_rmdir/) command for more information on the above.
1826
+
1827
+ **Authentication is required for this call.**
1828
+
1829
+ ### operations/rmdirs: Remove all the empty directories in the path {#operations-rmdirs}
1830
+
1831
+ This takes the following parameters:
1832
+
1833
+ - fs - a remote name string e.g. "drive:"
1834
+ - remote - a path within that remote e.g. "dir"
1835
+ - leaveRoot - boolean, set to true not to delete the root
1836
+
1837
+ See the [rmdirs](/commands/rclone_rmdirs/) command for more information on the above.
1838
+
1839
+ **Authentication is required for this call.**
1840
+
1841
+ ### operations/settier: Changes storage tier or class on all files in the path {#operations-settier}
1842
+
1843
+ This takes the following parameters:
1844
+
1845
+ - fs - a remote name string e.g. "drive:"
1846
+
1847
+ See the [settier](/commands/rclone_settier/) command for more information on the above.
1848
+
1849
+ **Authentication is required for this call.**
1850
+
1851
+ ### operations/settierfile: Changes storage tier or class on the single file pointed to {#operations-settierfile}
1852
+
1853
+ This takes the following parameters:
1854
+
1855
+ - fs - a remote name string e.g. "drive:"
1856
+ - remote - a path within that remote e.g. "dir"
1857
+
1858
+ **Authentication is required for this call.**
1859
+
1860
+ ### operations/size: Count the number of bytes and files in remote {#operations-size}
1861
+
1862
+ This takes the following parameters:
1863
+
1864
+ - fs - a remote name string e.g. "drive:path/to/dir"
1865
+
1866
+ Returns:
1867
+
1868
+ - count - number of files
1869
+ - bytes - number of bytes in those files
1870
+
1871
+ See the [size](/commands/rclone_size/) command for more information on the above.
1872
+
1873
+ **Authentication is required for this call.**
1874
+
1875
+ ### operations/stat: Give information about the supplied file or directory {#operations-stat}
1876
+
1877
+ This takes the following parameters
1878
+
1879
+ - fs - a remote name string eg "drive:"
1880
+ - remote - a path within that remote eg "dir"
1881
+ - opt - a dictionary of options to control the listing (optional)
1882
+ - see operations/list for the options
1883
+
1884
+ The result is
1885
+
1886
+ - item - an object as described in the lsjson command. Will be null if not found.
1887
+
1888
+ Note that if you are only interested in files then it is much more
1889
+ efficient to set the filesOnly flag in the options.
1890
+
1891
+ See the [lsjson](/commands/rclone_lsjson/) command for more information on the above and examples.
1892
+
1893
+ **Authentication is required for this call.**
1894
+
1895
+ ### operations/uploadfile: Upload file using multiform/form-data {#operations-uploadfile}
1896
+
1897
+ This takes the following parameters:
1898
+
1899
+ - fs - a remote name string e.g. "drive:"
1900
+ - remote - a path within that remote e.g. "dir"
1901
+ - each part in body represents a file to be uploaded
1902
+
1903
+ **Authentication is required for this call.**
1904
+
1905
+ ### options/blocks: List all the option blocks {#options-blocks}
1906
+
1907
+ Returns:
1908
+ - options - a list of the options block names
1909
+
1910
+ ### options/get: Get all the global options {#options-get}
1911
+
1912
+ Returns an object where keys are option block names and values are an
1913
+ object with the current option values in.
1914
+
1915
+ Parameters:
1916
+
1917
+ - blocks: optional string of comma separated blocks to include
1918
+ - all are included if this is missing or ""
1919
+
1920
+ Note that these are the global options which are unaffected by use of
1921
+ the _config and _filter parameters. If you wish to read the parameters
1922
+ set in _config or _filter use options/local.
1923
+
1924
+ This shows the internal names of the option within rclone which should
1925
+ map to the external options very easily with a few exceptions.
1926
+
1927
+ ### options/info: Get info about all the global options {#options-info}
1928
+
1929
+ Returns an object where keys are option block names and values are an
1930
+ array of objects with info about each options.
1931
+
1932
+ Parameters:
1933
+
1934
+ - blocks: optional string of comma separated blocks to include
1935
+ - all are included if this is missing or ""
1936
+
1937
+ These objects are in the same format as returned by "config/providers". They are
1938
+ described in the [option blocks](#option-blocks) section.
1939
+
1940
+ ### options/local: Get the currently active config for this call {#options-local}
1941
+
1942
+ Returns an object with the keys "config" and "filter".
1943
+ The "config" key contains the local config and the "filter" key contains
1944
+ the local filters.
1945
+
1946
+ Note that these are the local options specific to this rc call. If
1947
+ _config was not supplied then they will be the global options.
1948
+ Likewise with "_filter".
1949
+
1950
+ This call is mostly useful for seeing if _config and _filter passing
1951
+ is working.
1952
+
1953
+ This shows the internal names of the option within rclone which should
1954
+ map to the external options very easily with a few exceptions.
1955
+
1956
+ ### options/set: Set an option {#options-set}
1957
+
1958
+ Parameters:
1959
+
1960
+ - option block name containing an object with
1961
+ - key: value
1962
+
1963
+ Repeated as often as required.
1964
+
1965
+ Only supply the options you wish to change. If an option is unknown
1966
+ it will be silently ignored. Not all options will have an effect when
1967
+ changed like this.
1968
+
1969
+ For example:
1970
+
1971
+ This sets DEBUG level logs (-vv) (these can be set by number or string)
1972
+
1973
+ rclone rc options/set --json '{"main": {"LogLevel": "DEBUG"}}'
1974
+ rclone rc options/set --json '{"main": {"LogLevel": 8}}'
1975
+
1976
+ And this sets INFO level logs (-v)
1977
+
1978
+ rclone rc options/set --json '{"main": {"LogLevel": "INFO"}}'
1979
+
1980
+ And this sets NOTICE level logs (normal without -v)
1981
+
1982
+ rclone rc options/set --json '{"main": {"LogLevel": "NOTICE"}}'
1983
+
1984
+ ### pluginsctl/addPlugin: Add a plugin using url {#pluginsctl-addPlugin}
1985
+
1986
+ Used for adding a plugin to the webgui.
1987
+
1988
+ This takes the following parameters:
1989
+
1990
+ - url - http url of the github repo where the plugin is hosted (http://github.com/rclone/rclone-webui-react).
1991
+
1992
+ Example:
1993
+
1994
+ rclone rc pluginsctl/addPlugin
1995
+
1996
+ **Authentication is required for this call.**
1997
+
1998
+ ### pluginsctl/getPluginsForType: Get plugins with type criteria {#pluginsctl-getPluginsForType}
1999
+
2000
+ This shows all possible plugins by a mime type.
2001
+
2002
+ This takes the following parameters:
2003
+
2004
+ - type - supported mime type by a loaded plugin e.g. (video/mp4, audio/mp3).
2005
+ - pluginType - filter plugins based on their type e.g. (DASHBOARD, FILE_HANDLER, TERMINAL).
2006
+
2007
+ Returns:
2008
+
2009
+ - loadedPlugins - list of current production plugins.
2010
+ - testPlugins - list of temporarily loaded development plugins, usually running on a different server.
2011
+
2012
+ Example:
2013
+
2014
+ rclone rc pluginsctl/getPluginsForType type=video/mp4
2015
+
2016
+ **Authentication is required for this call.**
2017
+
2018
+ ### pluginsctl/listPlugins: Get the list of currently loaded plugins {#pluginsctl-listPlugins}
2019
+
2020
+ This allows you to get the currently enabled plugins and their details.
2021
+
2022
+ This takes no parameters and returns:
2023
+
2024
+ - loadedPlugins - list of current production plugins.
2025
+ - testPlugins - list of temporarily loaded development plugins, usually running on a different server.
2026
+
2027
+ E.g.
2028
+
2029
+ rclone rc pluginsctl/listPlugins
2030
+
2031
+ **Authentication is required for this call.**
2032
+
2033
+ ### pluginsctl/listTestPlugins: Show currently loaded test plugins {#pluginsctl-listTestPlugins}
2034
+
2035
+ Allows listing of test plugins with the rclone.test set to true in package.json of the plugin.
2036
+
2037
+ This takes no parameters and returns:
2038
+
2039
+ - loadedTestPlugins - list of currently available test plugins.
2040
+
2041
+ E.g.
2042
+
2043
+ rclone rc pluginsctl/listTestPlugins
2044
+
2045
+ **Authentication is required for this call.**
2046
+
2047
+ ### pluginsctl/removePlugin: Remove a loaded plugin {#pluginsctl-removePlugin}
2048
+
2049
+ This allows you to remove a plugin using it's name.
2050
+
2051
+ This takes parameters:
2052
+
2053
+ - name - name of the plugin in the format `author`/`plugin_name`.
2054
+
2055
+ E.g.
2056
+
2057
+ rclone rc pluginsctl/removePlugin name=rclone/video-plugin
2058
+
2059
+ **Authentication is required for this call.**
2060
+
2061
+ ### pluginsctl/removeTestPlugin: Remove a test plugin {#pluginsctl-removeTestPlugin}
2062
+
2063
+ This allows you to remove a plugin using it's name.
2064
+
2065
+ This takes the following parameters:
2066
+
2067
+ - name - name of the plugin in the format `author`/`plugin_name`.
2068
+
2069
+ Example:
2070
+
2071
+ rclone rc pluginsctl/removeTestPlugin name=rclone/rclone-webui-react
2072
+
2073
+ **Authentication is required for this call.**
2074
+
2075
+ ### rc/error: This returns an error {#rc-error}
2076
+
2077
+ This returns an error with the input as part of its error string.
2078
+ Useful for testing error handling.
2079
+
2080
+ ### rc/fatal: This returns an fatal error {#rc-fatal}
2081
+
2082
+ This returns an error with the input as part of its error string.
2083
+ Useful for testing error handling.
2084
+
2085
+ ### rc/list: List all the registered remote control commands {#rc-list}
2086
+
2087
+ This lists all the registered remote control commands as a JSON map in
2088
+ the commands response.
2089
+
2090
+ ### rc/noop: Echo the input to the output parameters {#rc-noop}
2091
+
2092
+ This echoes the input parameters to the output parameters for testing
2093
+ purposes. It can be used to check that rclone is still alive and to
2094
+ check that parameter passing is working properly.
2095
+
2096
+ ### rc/noopauth: Echo the input to the output parameters requiring auth {#rc-noopauth}
2097
+
2098
+ This echoes the input parameters to the output parameters for testing
2099
+ purposes. It can be used to check that rclone is still alive and to
2100
+ check that parameter passing is working properly.
2101
+
2102
+ **Authentication is required for this call.**
2103
+
2104
+ ### rc/panic: This returns an error by panicking {#rc-panic}
2105
+
2106
+ This returns an error with the input as part of its error string.
2107
+ Useful for testing error handling.
2108
+
2109
+ ### serve/list: Show running servers {#serve-list}
2110
+
2111
+ Show running servers with IDs.
2112
+
2113
+ This takes no parameters and returns
2114
+
2115
+ - list: list of running serve commands
2116
+
2117
+ Each list element will have
2118
+
2119
+ - id: ID of the server
2120
+ - addr: address the server is running on
2121
+ - params: parameters used to start the server
2122
+
2123
+ Eg
2124
+
2125
+ rclone rc serve/list
2126
+
2127
+ Returns
2128
+
2129
+ ```json
2130
+ {
2131
+ "list": [
2132
+ {
2133
+ "addr": "[::]:4321",
2134
+ "id": "nfs-ffc2a4e5",
2135
+ "params": {
2136
+ "fs": "remote:",
2137
+ "opt": {
2138
+ "ListenAddr": ":4321"
2139
+ },
2140
+ "type": "nfs",
2141
+ "vfsOpt": {
2142
+ "CacheMode": "full"
2143
+ }
2144
+ }
2145
+ }
2146
+ ]
2147
+ }
2148
+ ```
2149
+
2150
+ **Authentication is required for this call.**
2151
+
2152
+ ### serve/start: Create a new server {#serve-start}
2153
+
2154
+ Create a new server with the specified parameters.
2155
+
2156
+ This takes the following parameters:
2157
+
2158
+ - `type` - type of server: `http`, `webdav`, `ftp`, `sftp`, `nfs`, etc.
2159
+ - `fs` - remote storage path to serve
2160
+ - `addr` - the ip:port to run the server on, eg ":1234" or "localhost:1234"
2161
+
2162
+ Other parameters are as described in the documentation for the
2163
+ relevant [rclone serve](/commands/rclone_serve/) command line options.
2164
+ To translate a command line option to an rc parameter, remove the
2165
+ leading `--` and replace `-` with `_`, so `--vfs-cache-mode` becomes
2166
+ `vfs_cache_mode`. Note that global parameters must be set with
2167
+ `_config` and `_filter` as described above.
2168
+
2169
+ Examples:
2170
+
2171
+ rclone rc serve/start type=nfs fs=remote: addr=:4321 vfs_cache_mode=full
2172
+ rclone rc serve/start --json '{"type":"nfs","fs":"remote:","addr":":1234","vfs_cache_mode":"full"}'
2173
+
2174
+ This will give the reply
2175
+
2176
+ ```json
2177
+ {
2178
+ "addr": "[::]:4321", // Address the server was started on
2179
+ "id": "nfs-ecfc6852" // Unique identifier for the server instance
2180
+ }
2181
+ ```
2182
+
2183
+ Or an error if it failed to start.
2184
+
2185
+ Stop the server with `serve/stop` and list the running servers with `serve/list`.
2186
+
2187
+ **Authentication is required for this call.**
2188
+
2189
+ ### serve/stop: Unserve selected active serve {#serve-stop}
2190
+
2191
+ Stops a running `serve` instance by ID.
2192
+
2193
+ This takes the following parameters:
2194
+
2195
+ - id: as returned by serve/start
2196
+
2197
+ This will give an empty response if successful or an error if not.
2198
+
2199
+ Example:
2200
+
2201
+ rclone rc serve/stop id=12345
2202
+
2203
+ **Authentication is required for this call.**
2204
+
2205
+ ### serve/stopall: Stop all active servers {#serve-stopall}
2206
+
2207
+ Stop all active servers.
2208
+
2209
+ This will stop all active servers.
2210
+
2211
+ rclone rc serve/stopall
2212
+
2213
+ **Authentication is required for this call.**
2214
+
2215
+ ### serve/types: Show all possible serve types {#serve-types}
2216
+
2217
+ This shows all possible serve types and returns them as a list.
2218
+
2219
+ This takes no parameters and returns
2220
+
2221
+ - types: list of serve types, eg "nfs", "sftp", etc
2222
+
2223
+ The serve types are strings like "serve", "serve2", "cserve" and can
2224
+ be passed to serve/start as the serveType parameter.
2225
+
2226
+ Eg
2227
+
2228
+ rclone rc serve/types
2229
+
2230
+ Returns
2231
+
2232
+ ```json
2233
+ {
2234
+ "types": [
2235
+ "http",
2236
+ "sftp",
2237
+ "nfs"
2238
+ ]
2239
+ }
2240
+ ```
2241
+
2242
+ **Authentication is required for this call.**
2243
+
2244
+ ### sync/bisync: Perform bidirectional synchronization between two paths. {#sync-bisync}
2245
+
2246
+ This takes the following parameters
2247
+
2248
+ - path1 - a remote directory string e.g. `drive:path1`
2249
+ - path2 - a remote directory string e.g. `drive:path2`
2250
+ - dryRun - dry-run mode
2251
+ - resync - performs the resync run
2252
+ - checkAccess - abort if RCLONE_TEST files are not found on both filesystems
2253
+ - checkFilename - file name for checkAccess (default: RCLONE_TEST)
2254
+ - maxDelete - abort sync if percentage of deleted files is above
2255
+ this threshold (default: 50)
2256
+ - force - Bypass maxDelete safety check and run the sync
2257
+ - checkSync - `true` by default, `false` disables comparison of final listings,
2258
+ `only` will skip sync, only compare listings from the last run
2259
+ - createEmptySrcDirs - Sync creation and deletion of empty directories.
2260
+ (Not compatible with --remove-empty-dirs)
2261
+ - removeEmptyDirs - remove empty directories at the final cleanup step
2262
+ - filtersFile - read filtering patterns from a file
2263
+ - ignoreListingChecksum - Do not use checksums for listings
2264
+ - resilient - Allow future runs to retry after certain less-serious errors, instead of requiring resync.
2265
+ - workdir - server directory for history files (default: `~/.cache/rclone/bisync`)
2266
+ - backupdir1 - --backup-dir for Path1. Must be a non-overlapping path on the same remote.
2267
+ - backupdir2 - --backup-dir for Path2. Must be a non-overlapping path on the same remote.
2268
+ - noCleanup - retain working files
2269
+
2270
+ See [bisync command help](https://rclone.org/commands/rclone_bisync/)
2271
+ and [full bisync description](https://rclone.org/bisync/)
2272
+ for more information.
2273
+
2274
+ **Authentication is required for this call.**
2275
+
2276
+ ### sync/copy: copy a directory from source remote to destination remote {#sync-copy}
2277
+
2278
+ This takes the following parameters:
2279
+
2280
+ - srcFs - a remote name string e.g. "drive:src" for the source
2281
+ - dstFs - a remote name string e.g. "drive:dst" for the destination
2282
+ - createEmptySrcDirs - create empty src directories on destination if set
2283
+
2284
+
2285
+ See the [copy](/commands/rclone_copy/) command for more information on the above.
2286
+
2287
+ **Authentication is required for this call.**
2288
+
2289
+ ### sync/move: move a directory from source remote to destination remote {#sync-move}
2290
+
2291
+ This takes the following parameters:
2292
+
2293
+ - srcFs - a remote name string e.g. "drive:src" for the source
2294
+ - dstFs - a remote name string e.g. "drive:dst" for the destination
2295
+ - createEmptySrcDirs - create empty src directories on destination if set
2296
+ - deleteEmptySrcDirs - delete empty src directories if set
2297
+
2298
+
2299
+ See the [move](/commands/rclone_move/) command for more information on the above.
2300
+
2301
+ **Authentication is required for this call.**
2302
+
2303
+ ### sync/sync: sync a directory from source remote to destination remote {#sync-sync}
2304
+
2305
+ This takes the following parameters:
2306
+
2307
+ - srcFs - a remote name string e.g. "drive:src" for the source
2308
+ - dstFs - a remote name string e.g. "drive:dst" for the destination
2309
+ - createEmptySrcDirs - create empty src directories on destination if set
2310
+
2311
+
2312
+ See the [sync](/commands/rclone_sync/) command for more information on the above.
2313
+
2314
+ **Authentication is required for this call.**
2315
+
2316
+ ### vfs/forget: Forget files or directories in the directory cache. {#vfs-forget}
2317
+
2318
+ This forgets the paths in the directory cache causing them to be
2319
+ re-read from the remote when needed.
2320
+
2321
+ If no paths are passed in then it will forget all the paths in the
2322
+ directory cache.
2323
+
2324
+ rclone rc vfs/forget
2325
+
2326
+ Otherwise pass files or dirs in as file=path or dir=path. Any
2327
+ parameter key starting with file will forget that file and any
2328
+ starting with dir will forget that dir, e.g.
2329
+
2330
+ rclone rc vfs/forget file=hello file2=goodbye dir=home/junk
2331
+
2332
+ This command takes an "fs" parameter. If this parameter is not
2333
+ supplied and if there is only one VFS in use then that VFS will be
2334
+ used. If there is more than one VFS in use then the "fs" parameter
2335
+ must be supplied.
2336
+
2337
+ ### vfs/list: List active VFSes. {#vfs-list}
2338
+
2339
+ This lists the active VFSes.
2340
+
2341
+ It returns a list under the key "vfses" where the values are the VFS
2342
+ names that could be passed to the other VFS commands in the "fs"
2343
+ parameter.
2344
+
2345
+ ### vfs/poll-interval: Get the status or update the value of the poll-interval option. {#vfs-poll-interval}
2346
+
2347
+ Without any parameter given this returns the current status of the
2348
+ poll-interval setting.
2349
+
2350
+ When the interval=duration parameter is set, the poll-interval value
2351
+ is updated and the polling function is notified.
2352
+ Setting interval=0 disables poll-interval.
2353
+
2354
+ rclone rc vfs/poll-interval interval=5m
2355
+
2356
+ The timeout=duration parameter can be used to specify a time to wait
2357
+ for the current poll function to apply the new value.
2358
+ If timeout is less or equal 0, which is the default, wait indefinitely.
2359
+
2360
+ The new poll-interval value will only be active when the timeout is
2361
+ not reached.
2362
+
2363
+ If poll-interval is updated or disabled temporarily, some changes
2364
+ might not get picked up by the polling function, depending on the
2365
+ used remote.
2366
+
2367
+ This command takes an "fs" parameter. If this parameter is not
2368
+ supplied and if there is only one VFS in use then that VFS will be
2369
+ used. If there is more than one VFS in use then the "fs" parameter
2370
+ must be supplied.
2371
+
2372
+ ### vfs/queue: Queue info for a VFS. {#vfs-queue}
2373
+
2374
+ This returns info about the upload queue for the selected VFS.
2375
+
2376
+ This is only useful if `--vfs-cache-mode` > off. If you call it when
2377
+ the `--vfs-cache-mode` is off, it will return an empty result.
2378
+
2379
+ {
2380
+ "queue": // an array of files queued for upload
2381
+ [
2382
+ {
2383
+ "name": "file", // string: name (full path) of the file,
2384
+ "id": 123, // integer: id of this item in the queue,
2385
+ "size": 79, // integer: size of the file in bytes
2386
+ "expiry": 1.5 // float: time until file is eligible for transfer, lowest goes first
2387
+ "tries": 1, // integer: number of times we have tried to upload
2388
+ "delay": 5.0, // float: seconds between upload attempts
2389
+ "uploading": false, // boolean: true if item is being uploaded
2390
+ },
2391
+ ],
2392
+ }
2393
+
2394
+ The `expiry` time is the time until the file is eligible for being
2395
+ uploaded in floating point seconds. This may go negative. As rclone
2396
+ only transfers `--transfers` files at once, only the lowest
2397
+ `--transfers` expiry times will have `uploading` as `true`. So there
2398
+ may be files with negative expiry times for which `uploading` is
2399
+ `false`.
2400
+
2401
+
2402
+ This command takes an "fs" parameter. If this parameter is not
2403
+ supplied and if there is only one VFS in use then that VFS will be
2404
+ used. If there is more than one VFS in use then the "fs" parameter
2405
+ must be supplied.
2406
+
2407
+ ### vfs/queue-set-expiry: Set the expiry time for an item queued for upload. {#vfs-queue-set-expiry}
2408
+
2409
+ Use this to adjust the `expiry` time for an item in the upload queue.
2410
+ You will need to read the `id` of the item using `vfs/queue` before
2411
+ using this call.
2412
+
2413
+ You can then set `expiry` to a floating point number of seconds from
2414
+ now when the item is eligible for upload. If you want the item to be
2415
+ uploaded as soon as possible then set it to a large negative number (eg
2416
+ -1000000000). If you want the upload of the item to be delayed
2417
+ for a long time then set it to a large positive number.
2418
+
2419
+ Setting the `expiry` of an item which has already has started uploading
2420
+ will have no effect - the item will carry on being uploaded.
2421
+
2422
+ This will return an error if called with `--vfs-cache-mode` off or if
2423
+ the `id` passed is not found.
2424
+
2425
+ This takes the following parameters
2426
+
2427
+ - `fs` - select the VFS in use (optional)
2428
+ - `id` - a numeric ID as returned from `vfs/queue`
2429
+ - `expiry` - a new expiry time as floating point seconds
2430
+ - `relative` - if set, expiry is to be treated as relative to the current expiry (optional, boolean)
2431
+
2432
+ This returns an empty result on success, or an error.
2433
+
2434
+
2435
+ This command takes an "fs" parameter. If this parameter is not
2436
+ supplied and if there is only one VFS in use then that VFS will be
2437
+ used. If there is more than one VFS in use then the "fs" parameter
2438
+ must be supplied.
2439
+
2440
+ ### vfs/refresh: Refresh the directory cache. {#vfs-refresh}
2441
+
2442
+ This reads the directories for the specified paths and freshens the
2443
+ directory cache.
2444
+
2445
+ If no paths are passed in then it will refresh the root directory.
2446
+
2447
+ rclone rc vfs/refresh
2448
+
2449
+ Otherwise pass directories in as dir=path. Any parameter key
2450
+ starting with dir will refresh that directory, e.g.
2451
+
2452
+ rclone rc vfs/refresh dir=home/junk dir2=data/misc
2453
+
2454
+ If the parameter recursive=true is given the whole directory tree
2455
+ will get refreshed. This refresh will use --fast-list if enabled.
2456
+
2457
+ This command takes an "fs" parameter. If this parameter is not
2458
+ supplied and if there is only one VFS in use then that VFS will be
2459
+ used. If there is more than one VFS in use then the "fs" parameter
2460
+ must be supplied.
2461
+
2462
+ ### vfs/stats: Stats for a VFS. {#vfs-stats}
2463
+
2464
+ This returns stats for the selected VFS.
2465
+
2466
+ {
2467
+ // Status of the disk cache - only present if --vfs-cache-mode > off
2468
+ "diskCache": {
2469
+ "bytesUsed": 0,
2470
+ "erroredFiles": 0,
2471
+ "files": 0,
2472
+ "hashType": 1,
2473
+ "outOfSpace": false,
2474
+ "path": "/home/user/.cache/rclone/vfs/local/mnt/a",
2475
+ "pathMeta": "/home/user/.cache/rclone/vfsMeta/local/mnt/a",
2476
+ "uploadsInProgress": 0,
2477
+ "uploadsQueued": 0
2478
+ },
2479
+ "fs": "/mnt/a",
2480
+ "inUse": 1,
2481
+ // Status of the in memory metadata cache
2482
+ "metadataCache": {
2483
+ "dirs": 1,
2484
+ "files": 0
2485
+ },
2486
+ // Options as returned by options/get
2487
+ "opt": {
2488
+ "CacheMaxAge": 3600000000000,
2489
+ // ...
2490
+ "WriteWait": 1000000000
2491
+ }
2492
+ }
2493
+
2494
+
2495
+ This command takes an "fs" parameter. If this parameter is not
2496
+ supplied and if there is only one VFS in use then that VFS will be
2497
+ used. If there is more than one VFS in use then the "fs" parameter
2498
+ must be supplied.
2499
+
2500
+ <!-- autogenerated stop -->
2501
+
2502
+ ## Accessing the remote control via HTTP {#api-http}
2503
+
2504
+ Rclone implements a simple HTTP based protocol.
2505
+
2506
+ Each endpoint takes an JSON object and returns a JSON object or an
2507
+ error. The JSON objects are essentially a map of string names to
2508
+ values.
2509
+
2510
+ All calls must made using POST.
2511
+
2512
+ The input objects can be supplied using URL parameters, POST
2513
+ parameters or by supplying "Content-Type: application/json" and a JSON
2514
+ blob in the body. There are examples of these below using `curl`.
2515
+
2516
+ The response will be a JSON blob in the body of the response. This is
2517
+ formatted to be reasonably human-readable.
2518
+
2519
+ ### Error returns
2520
+
2521
+ If an error occurs then there will be an HTTP error status (e.g. 500)
2522
+ and the body of the response will contain a JSON encoded error object,
2523
+ e.g.
2524
+
2525
+ ```json
2526
+ {
2527
+ "error": "Expecting string value for key \"remote\" (was float64)",
2528
+ "input": {
2529
+ "fs": "/tmp",
2530
+ "remote": 3
2531
+ },
2532
+ "status": 400,
2533
+ "path": "operations/rmdir"
2534
+ }
2535
+ ```
2536
+
2537
+ The keys in the error response are:
2538
+
2539
+ - error - error string
2540
+ - input - the input parameters to the call
2541
+ - status - the HTTP status code
2542
+ - path - the path of the call
2543
+
2544
+ ### CORS
2545
+
2546
+ The sever implements basic CORS support and allows all origins for that.
2547
+ The response to a preflight OPTIONS request will echo the requested
2548
+ "Access-Control-Request-Headers" back.
2549
+
2550
+ ### Using POST with URL parameters only
2551
+
2552
+ ```console
2553
+ curl -X POST 'http://localhost:5572/rc/noop?potato=1&sausage=2'
2554
+ ```
2555
+
2556
+ Response
2557
+
2558
+ ```json
2559
+ {
2560
+ "potato": "1",
2561
+ "sausage": "2"
2562
+ }
2563
+ ```
2564
+
2565
+ Here is what an error response looks like:
2566
+
2567
+ ```console
2568
+ curl -X POST 'http://localhost:5572/rc/error?potato=1&sausage=2'
2569
+ ```
2570
+
2571
+ ```json
2572
+ {
2573
+ "error": "arbitrary error on input map[potato:1 sausage:2]",
2574
+ "input": {
2575
+ "potato": "1",
2576
+ "sausage": "2"
2577
+ }
2578
+ }
2579
+ ```
2580
+
2581
+ Note that curl doesn't return errors to the shell unless you use the `-f` option
2582
+
2583
+ ```console
2584
+ $ curl -f -X POST 'http://localhost:5572/rc/error?potato=1&sausage=2'
2585
+ curl: (22) The requested URL returned error: 400 Bad Request
2586
+ $ echo $?
2587
+ 22
2588
+ ```
2589
+
2590
+ ### Using POST with a form
2591
+
2592
+ ```console
2593
+ curl --data "potato=1" --data "sausage=2" http://localhost:5572/rc/noop
2594
+ ```
2595
+
2596
+ Response
2597
+
2598
+ ```json
2599
+ {
2600
+ "potato": "1",
2601
+ "sausage": "2"
2602
+ }
2603
+ ```
2604
+
2605
+ Note that you can combine these with URL parameters too with the POST
2606
+ parameters taking precedence.
2607
+
2608
+ ```console
2609
+ curl --data "potato=1" --data "sausage=2" "http://localhost:5572/rc/noop?rutabaga=3&sausage=4"
2610
+ ```
2611
+
2612
+ Response
2613
+
2614
+ ```json
2615
+ {
2616
+ "potato": "1",
2617
+ "rutabaga": "3",
2618
+ "sausage": "4"
2619
+ }
2620
+
2621
+ ```
2622
+
2623
+ ### Using POST with a JSON blob
2624
+
2625
+ ```console
2626
+ curl -H "Content-Type: application/json" -X POST -d '{"potato":2,"sausage":1}' http://localhost:5572/rc/noop
2627
+ ```
2628
+
2629
+ response
2630
+
2631
+ ```json
2632
+ {
2633
+ "password": "xyz",
2634
+ "username": "xyz"
2635
+ }
2636
+ ```
2637
+
2638
+ This can be combined with URL parameters too if required. The JSON
2639
+ blob takes precedence.
2640
+
2641
+ ```console
2642
+ curl -H "Content-Type: application/json" -X POST -d '{"potato":2,"sausage":1}' 'http://localhost:5572/rc/noop?rutabaga=3&potato=4'
2643
+ ```
2644
+
2645
+ ```json
2646
+ {
2647
+ "potato": 2,
2648
+ "rutabaga": "3",
2649
+ "sausage": 1
2650
+ }
2651
+ ```
2652
+
2653
+ ## Debugging rclone with pprof
2654
+
2655
+ If you use the `--rc` flag this will also enable the use of the go
2656
+ profiling tools on the same port.
2657
+
2658
+ To use these, first [install go](https://golang.org/doc/install).
2659
+
2660
+ ### Debugging memory use
2661
+
2662
+ To profile rclone's memory use you can run:
2663
+
2664
+ ```console
2665
+ go tool pprof -web http://localhost:5572/debug/pprof/heap
2666
+ ```
2667
+
2668
+ This should open a page in your browser showing what is using what
2669
+ memory.
2670
+
2671
+ You can also use the `-text` flag to produce a textual summary
2672
+
2673
+ ```console
2674
+ $ go tool pprof -text http://localhost:5572/debug/pprof/heap
2675
+ Showing nodes accounting for 1537.03kB, 100% of 1537.03kB total
2676
+ flat flat% sum% cum cum%
2677
+ 1024.03kB 66.62% 66.62% 1024.03kB 66.62% github.com/rclone/rclone/vendor/golang.org/x/net/http2/hpack.addDecoderNode
2678
+ 513kB 33.38% 100% 513kB 33.38% net/http.newBufioWriterSize
2679
+ 0 0% 100% 1024.03kB 66.62% github.com/rclone/rclone/cmd/all.init
2680
+ 0 0% 100% 1024.03kB 66.62% github.com/rclone/rclone/cmd/serve.init
2681
+ 0 0% 100% 1024.03kB 66.62% github.com/rclone/rclone/cmd/serve/restic.init
2682
+ 0 0% 100% 1024.03kB 66.62% github.com/rclone/rclone/vendor/golang.org/x/net/http2.init
2683
+ 0 0% 100% 1024.03kB 66.62% github.com/rclone/rclone/vendor/golang.org/x/net/http2/hpack.init
2684
+ 0 0% 100% 1024.03kB 66.62% github.com/rclone/rclone/vendor/golang.org/x/net/http2/hpack.init.0
2685
+ 0 0% 100% 1024.03kB 66.62% main.init
2686
+ 0 0% 100% 513kB 33.38% net/http.(*conn).readRequest
2687
+ 0 0% 100% 513kB 33.38% net/http.(*conn).serve
2688
+ 0 0% 100% 1024.03kB 66.62% runtime.main
2689
+ ```
2690
+
2691
+ ### Debugging go routine leaks
2692
+
2693
+ Memory leaks are most often caused by go routine leaks keeping memory
2694
+ alive which should have been garbage collected.
2695
+
2696
+ See all active go routines using
2697
+
2698
+ ```console
2699
+ curl http://localhost:5572/debug/pprof/goroutine?debug=1
2700
+ ```
2701
+
2702
+ Or go to <http://localhost:5572/debug/pprof/goroutine?debug=1> in your browser.
2703
+
2704
+ ### Other profiles to look at
2705
+
2706
+ You can see a summary of profiles available at <http://localhost:5572/debug/pprof/>
2707
+
2708
+ Here is how to use some of them:
2709
+
2710
+ - Memory: `go tool pprof http://localhost:5572/debug/pprof/heap`
2711
+ - Go routines: `curl http://localhost:5572/debug/pprof/goroutine?debug=1`
2712
+ - 30-second CPU profile: `go tool pprof http://localhost:5572/debug/pprof/profile`
2713
+ - 5-second execution trace: `wget http://localhost:5572/debug/pprof/trace?seconds=5`
2714
+ - Goroutine blocking profile
2715
+ - Enable first with: `rclone rc debug/set-block-profile-rate rate=1` ([docs](#debug-set-block-profile-rate))
2716
+ - `go tool pprof http://localhost:5572/debug/pprof/block`
2717
+ - Contended mutexes:
2718
+ - Enable first with: `rclone rc debug/set-mutex-profile-fraction rate=1` ([docs](#debug-set-mutex-profile-fraction))
2719
+ - `go tool pprof http://localhost:5572/debug/pprof/mutex`
2720
+
2721
+ See the [net/http/pprof docs](https://golang.org/pkg/net/http/pprof/)
2722
+ for more info on how to use the profiling and for a general overview
2723
+ see [the Go team's blog post on profiling go programs](https://blog.golang.org/profiling-go-programs).
2724
+
2725
+ The profiling hook is [zero overhead unless it is used](https://stackoverflow.com/q/26545159/164234).