aico-cli 2.1.7 → 2.1.23

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 (547) hide show
  1. package/bin/cli/README.md +1 -1
  2. package/bin/cli/cli.js +8672 -3345
  3. package/bin/cli/package.json +1 -1
  4. package/bin/cli/sdk-tools.d.ts +41 -5
  5. package/dist/chunks/simple-config.mjs +1 -1
  6. package/package.json +2 -2
  7. package/templates/skills/antfu/SKILL.md +222 -0
  8. package/templates/skills/antfu/references/antfu-eslint-config.md +328 -0
  9. package/templates/skills/antfu/references/app-development.md +60 -0
  10. package/templates/skills/antfu/references/github-actions.md +68 -0
  11. package/templates/skills/antfu/references/gitignore.md +29 -0
  12. package/templates/skills/antfu/references/library-development.md +85 -0
  13. package/templates/skills/antfu/references/monorepo.md +126 -0
  14. package/templates/skills/antfu/references/vscode-extensions.md +34 -0
  15. package/templates/skills/nuxt/GENERATION.md +5 -0
  16. package/templates/skills/nuxt/SKILL.md +55 -0
  17. package/templates/skills/nuxt/references/advanced-hooks.md +289 -0
  18. package/templates/skills/nuxt/references/advanced-layers.md +299 -0
  19. package/templates/skills/nuxt/references/advanced-module-authoring.md +554 -0
  20. package/templates/skills/nuxt/references/best-practices-data-fetching.md +357 -0
  21. package/templates/skills/nuxt/references/best-practices-ssr.md +355 -0
  22. package/templates/skills/nuxt/references/core-cli.md +263 -0
  23. package/templates/skills/nuxt/references/core-config.md +162 -0
  24. package/templates/skills/nuxt/references/core-data-fetching.md +236 -0
  25. package/templates/skills/nuxt/references/core-deployment.md +224 -0
  26. package/templates/skills/nuxt/references/core-directory-structure.md +269 -0
  27. package/templates/skills/nuxt/references/core-modules.md +292 -0
  28. package/templates/skills/nuxt/references/core-routing.md +226 -0
  29. package/templates/skills/nuxt/references/features-components-autoimport.md +328 -0
  30. package/templates/skills/nuxt/references/features-components.md +264 -0
  31. package/templates/skills/nuxt/references/features-composables.md +276 -0
  32. package/templates/skills/nuxt/references/features-server.md +265 -0
  33. package/templates/skills/nuxt/references/features-state.md +194 -0
  34. package/templates/skills/nuxt/references/rendering-modes.md +237 -0
  35. package/templates/skills/pinia/GENERATION.md +5 -0
  36. package/templates/skills/pinia/SKILL.md +59 -0
  37. package/templates/skills/pinia/references/advanced-hmr.md +61 -0
  38. package/templates/skills/pinia/references/advanced-nuxt.md +119 -0
  39. package/templates/skills/pinia/references/advanced-ssr.md +121 -0
  40. package/templates/skills/pinia/references/best-practices-outside-component.md +115 -0
  41. package/templates/skills/pinia/references/best-practices-testing.md +212 -0
  42. package/templates/skills/pinia/references/core-stores.md +389 -0
  43. package/templates/skills/pinia/references/features-composables.md +114 -0
  44. package/templates/skills/pinia/references/features-composing-stores.md +134 -0
  45. package/templates/skills/pinia/references/features-plugins.md +203 -0
  46. package/templates/skills/pnpm/GENERATION.md +5 -0
  47. package/templates/skills/pnpm/SKILL.md +42 -0
  48. package/templates/skills/pnpm/references/best-practices-ci.md +285 -0
  49. package/templates/skills/pnpm/references/best-practices-migration.md +291 -0
  50. package/templates/skills/pnpm/references/best-practices-performance.md +284 -0
  51. package/templates/skills/pnpm/references/core-cli.md +229 -0
  52. package/templates/skills/pnpm/references/core-config.md +188 -0
  53. package/templates/skills/pnpm/references/core-store.md +179 -0
  54. package/templates/skills/pnpm/references/core-workspaces.md +205 -0
  55. package/templates/skills/pnpm/references/features-aliases.md +168 -0
  56. package/templates/skills/pnpm/references/features-catalogs.md +159 -0
  57. package/templates/skills/pnpm/references/features-hooks.md +233 -0
  58. package/templates/skills/pnpm/references/features-overrides.md +184 -0
  59. package/templates/skills/pnpm/references/features-patches.md +201 -0
  60. package/templates/skills/pnpm/references/features-peer-deps.md +250 -0
  61. package/templates/skills/slidev/LICENSE.md +21 -0
  62. package/templates/skills/slidev/README.md +61 -0
  63. package/templates/skills/slidev/SKILL.md +183 -0
  64. package/templates/skills/slidev/SYNC.md +5 -0
  65. package/templates/skills/slidev/references/animation-click-marker.md +37 -0
  66. package/templates/skills/slidev/references/animation-drawing.md +68 -0
  67. package/templates/skills/slidev/references/animation-rough-marker.md +53 -0
  68. package/templates/skills/slidev/references/api-slide-hooks.md +37 -0
  69. package/templates/skills/slidev/references/build-og-image.md +36 -0
  70. package/templates/skills/slidev/references/build-pdf.md +40 -0
  71. package/templates/skills/slidev/references/build-remote-assets.md +34 -0
  72. package/templates/skills/slidev/references/build-seo-meta.md +43 -0
  73. package/templates/skills/slidev/references/code-groups.md +64 -0
  74. package/templates/skills/slidev/references/code-import-snippet.md +55 -0
  75. package/templates/skills/slidev/references/code-line-highlighting.md +50 -0
  76. package/templates/skills/slidev/references/code-line-numbers.md +46 -0
  77. package/templates/skills/slidev/references/code-magic-move.md +57 -0
  78. package/templates/skills/slidev/references/code-max-height.md +37 -0
  79. package/templates/skills/slidev/references/code-twoslash.md +42 -0
  80. package/templates/skills/slidev/references/core-animations.md +196 -0
  81. package/templates/skills/slidev/references/core-cli.md +140 -0
  82. package/templates/skills/slidev/references/core-components.md +197 -0
  83. package/templates/skills/slidev/references/core-exporting.md +148 -0
  84. package/templates/skills/slidev/references/core-frontmatter.md +195 -0
  85. package/templates/skills/slidev/references/core-global-context.md +155 -0
  86. package/templates/skills/slidev/references/core-headmatter.md +188 -0
  87. package/templates/skills/slidev/references/core-hosting.md +152 -0
  88. package/templates/skills/slidev/references/core-layouts.md +286 -0
  89. package/templates/skills/slidev/references/core-syntax.md +155 -0
  90. package/templates/skills/slidev/references/diagram-latex.md +55 -0
  91. package/templates/skills/slidev/references/diagram-mermaid.md +44 -0
  92. package/templates/skills/slidev/references/diagram-plantuml.md +45 -0
  93. package/templates/skills/slidev/references/editor-monaco-run.md +44 -0
  94. package/templates/skills/slidev/references/editor-monaco-write.md +24 -0
  95. package/templates/skills/slidev/references/editor-monaco.md +50 -0
  96. package/templates/skills/slidev/references/editor-prettier.md +40 -0
  97. package/templates/skills/slidev/references/editor-side.md +23 -0
  98. package/templates/skills/slidev/references/editor-vscode.md +55 -0
  99. package/templates/skills/slidev/references/layout-canvas-size.md +25 -0
  100. package/templates/skills/slidev/references/layout-draggable.md +57 -0
  101. package/templates/skills/slidev/references/layout-global-layers.md +50 -0
  102. package/templates/skills/slidev/references/layout-slots.md +75 -0
  103. package/templates/skills/slidev/references/layout-transform.md +33 -0
  104. package/templates/skills/slidev/references/layout-zoom.md +39 -0
  105. package/templates/skills/slidev/references/presenter-notes-ruby.md +35 -0
  106. package/templates/skills/slidev/references/presenter-recording.md +30 -0
  107. package/templates/skills/slidev/references/presenter-remote.md +40 -0
  108. package/templates/skills/slidev/references/presenter-timer.md +34 -0
  109. package/templates/skills/slidev/references/style-direction.md +34 -0
  110. package/templates/skills/slidev/references/style-icons.md +46 -0
  111. package/templates/skills/slidev/references/style-scoped.md +50 -0
  112. package/templates/skills/slidev/references/syntax-block-frontmatter.md +39 -0
  113. package/templates/skills/slidev/references/syntax-frontmatter-merging.md +49 -0
  114. package/templates/skills/slidev/references/syntax-importing-slides.md +60 -0
  115. package/templates/skills/slidev/references/syntax-mdc.md +51 -0
  116. package/templates/skills/slidev/references/tool-eject-theme.md +27 -0
  117. package/templates/skills/tech-whitepaper/SKILL.md +102 -15
  118. package/templates/skills/tsdown/GENERATION.md +5 -0
  119. package/templates/skills/tsdown/SKILL.md +59 -0
  120. package/templates/skills/tsdown/references/advanced-hooks.md +87 -0
  121. package/templates/skills/tsdown/references/advanced-plugins.md +97 -0
  122. package/templates/skills/tsdown/references/advanced-programmatic.md +78 -0
  123. package/templates/skills/tsdown/references/advanced-rolldown-options.md +114 -0
  124. package/templates/skills/tsdown/references/core-cli.md +116 -0
  125. package/templates/skills/tsdown/references/core-config.md +86 -0
  126. package/templates/skills/tsdown/references/core-entry.md +74 -0
  127. package/templates/skills/tsdown/references/features-optimization.md +83 -0
  128. package/templates/skills/tsdown/references/features-shims.md +92 -0
  129. package/templates/skills/tsdown/references/features-unbundle.md +63 -0
  130. package/templates/skills/tsdown/references/features-watch.md +60 -0
  131. package/templates/skills/tsdown/references/options-dependencies.md +88 -0
  132. package/templates/skills/tsdown/references/options-dts.md +104 -0
  133. package/templates/skills/tsdown/references/options-output.md +124 -0
  134. package/templates/skills/tsdown/references/options-package-exports.md +114 -0
  135. package/templates/skills/tsdown/references/recipes-frameworks.md +109 -0
  136. package/templates/skills/tsdown/references/recipes-migration.md +84 -0
  137. package/templates/skills/turborepo/LICENSE.md +7 -0
  138. package/templates/skills/turborepo/SKILL.md +914 -0
  139. package/templates/skills/turborepo/SYNC.md +5 -0
  140. package/templates/skills/turborepo/command/turborepo.md +70 -0
  141. package/templates/skills/turborepo/references/best-practices/README.md +241 -0
  142. package/templates/skills/turborepo/references/best-practices/dependencies.md +246 -0
  143. package/templates/skills/turborepo/references/best-practices/packages.md +335 -0
  144. package/templates/skills/turborepo/references/best-practices/structure.md +269 -0
  145. package/templates/skills/turborepo/references/boundaries/README.md +126 -0
  146. package/templates/skills/turborepo/references/caching/README.md +107 -0
  147. package/templates/skills/turborepo/references/caching/gotchas.md +169 -0
  148. package/templates/skills/turborepo/references/caching/remote-cache.md +127 -0
  149. package/templates/skills/turborepo/references/ci/README.md +79 -0
  150. package/templates/skills/turborepo/references/ci/github-actions.md +162 -0
  151. package/templates/skills/turborepo/references/ci/patterns.md +145 -0
  152. package/templates/skills/turborepo/references/ci/vercel.md +103 -0
  153. package/templates/skills/turborepo/references/cli/README.md +100 -0
  154. package/templates/skills/turborepo/references/cli/commands.md +297 -0
  155. package/templates/skills/turborepo/references/configuration/README.md +211 -0
  156. package/templates/skills/turborepo/references/configuration/global-options.md +195 -0
  157. package/templates/skills/turborepo/references/configuration/gotchas.md +348 -0
  158. package/templates/skills/turborepo/references/configuration/tasks.md +285 -0
  159. package/templates/skills/turborepo/references/environment/README.md +96 -0
  160. package/templates/skills/turborepo/references/environment/gotchas.md +145 -0
  161. package/templates/skills/turborepo/references/environment/modes.md +101 -0
  162. package/templates/skills/turborepo/references/filtering/README.md +148 -0
  163. package/templates/skills/turborepo/references/filtering/patterns.md +152 -0
  164. package/templates/skills/turborepo/references/watch/README.md +99 -0
  165. package/templates/skills/unocss/GENERATION.md +5 -0
  166. package/templates/skills/unocss/SKILL.md +64 -0
  167. package/templates/skills/unocss/references/core-config.md +187 -0
  168. package/templates/skills/unocss/references/core-extracting.md +137 -0
  169. package/templates/skills/unocss/references/core-layers.md +104 -0
  170. package/templates/skills/unocss/references/core-rules.md +166 -0
  171. package/templates/skills/unocss/references/core-safelist.md +105 -0
  172. package/templates/skills/unocss/references/core-shortcuts.md +89 -0
  173. package/templates/skills/unocss/references/core-theme.md +172 -0
  174. package/templates/skills/unocss/references/core-variants.md +175 -0
  175. package/templates/skills/unocss/references/integrations-nuxt.md +199 -0
  176. package/templates/skills/unocss/references/integrations-vite.md +283 -0
  177. package/templates/skills/unocss/references/preset-attributify.md +142 -0
  178. package/templates/skills/unocss/references/preset-icons.md +184 -0
  179. package/templates/skills/unocss/references/preset-mini.md +158 -0
  180. package/templates/skills/unocss/references/preset-rem-to-px.md +97 -0
  181. package/templates/skills/unocss/references/preset-tagify.md +134 -0
  182. package/templates/skills/unocss/references/preset-typography.md +95 -0
  183. package/templates/skills/unocss/references/preset-web-fonts.md +91 -0
  184. package/templates/skills/unocss/references/preset-wind3.md +194 -0
  185. package/templates/skills/unocss/references/preset-wind4.md +247 -0
  186. package/templates/skills/unocss/references/transformer-attributify-jsx.md +156 -0
  187. package/templates/skills/unocss/references/transformer-compile-class.md +128 -0
  188. package/templates/skills/unocss/references/transformer-directives.md +157 -0
  189. package/templates/skills/unocss/references/transformer-variant-group.md +97 -0
  190. package/templates/skills/vite/GENERATION.md +5 -0
  191. package/templates/skills/vite/SKILL.md +50 -0
  192. package/templates/skills/vite/references/advanced-api.md +218 -0
  193. package/templates/skills/vite/references/advanced-backend.md +164 -0
  194. package/templates/skills/vite/references/advanced-performance.md +168 -0
  195. package/templates/skills/vite/references/advanced-plugin-api.md +258 -0
  196. package/templates/skills/vite/references/build-library.md +172 -0
  197. package/templates/skills/vite/references/build-production.md +220 -0
  198. package/templates/skills/vite/references/build-ssr.md +194 -0
  199. package/templates/skills/vite/references/core-cli.md +137 -0
  200. package/templates/skills/vite/references/core-config.md +176 -0
  201. package/templates/skills/vite/references/core-features.md +170 -0
  202. package/templates/skills/vite/references/core-plugins.md +154 -0
  203. package/templates/skills/vite/references/features-assets.md +138 -0
  204. package/templates/skills/vite/references/features-css.md +215 -0
  205. package/templates/skills/vite/references/features-dep-bundling.md +148 -0
  206. package/templates/skills/vite/references/features-env.md +161 -0
  207. package/templates/skills/vite/references/features-glob-import.md +161 -0
  208. package/templates/skills/vite/references/features-hmr.md +200 -0
  209. package/templates/skills/vite/references/features-workers.md +115 -0
  210. package/templates/skills/vitepress/GENERATION.md +5 -0
  211. package/templates/skills/vitepress/SKILL.md +65 -0
  212. package/templates/skills/vitepress/references/advanced-i18n.md +299 -0
  213. package/templates/skills/vitepress/references/advanced-ssr.md +228 -0
  214. package/templates/skills/vitepress/references/core-cli.md +119 -0
  215. package/templates/skills/vitepress/references/core-config.md +189 -0
  216. package/templates/skills/vitepress/references/core-markdown.md +277 -0
  217. package/templates/skills/vitepress/references/core-routing.md +169 -0
  218. package/templates/skills/vitepress/references/features-code-blocks.md +243 -0
  219. package/templates/skills/vitepress/references/features-data-loading.md +220 -0
  220. package/templates/skills/vitepress/references/features-dynamic-routes.md +235 -0
  221. package/templates/skills/vitepress/references/features-vue.md +224 -0
  222. package/templates/skills/vitepress/references/recipes-deploy.md +240 -0
  223. package/templates/skills/vitepress/references/theme-config.md +315 -0
  224. package/templates/skills/vitepress/references/theme-custom.md +269 -0
  225. package/templates/skills/vitepress/references/theme-customization.md +290 -0
  226. package/templates/skills/vitest/GENERATION.md +5 -0
  227. package/templates/skills/vitest/SKILL.md +52 -0
  228. package/templates/skills/vitest/references/advanced-environments.md +264 -0
  229. package/templates/skills/vitest/references/advanced-projects.md +300 -0
  230. package/templates/skills/vitest/references/advanced-type-testing.md +237 -0
  231. package/templates/skills/vitest/references/advanced-vi.md +249 -0
  232. package/templates/skills/vitest/references/core-cli.md +166 -0
  233. package/templates/skills/vitest/references/core-config.md +174 -0
  234. package/templates/skills/vitest/references/core-describe.md +193 -0
  235. package/templates/skills/vitest/references/core-expect.md +219 -0
  236. package/templates/skills/vitest/references/core-hooks.md +244 -0
  237. package/templates/skills/vitest/references/core-test-api.md +233 -0
  238. package/templates/skills/vitest/references/features-concurrency.md +250 -0
  239. package/templates/skills/vitest/references/features-context.md +238 -0
  240. package/templates/skills/vitest/references/features-coverage.md +207 -0
  241. package/templates/skills/vitest/references/features-filtering.md +211 -0
  242. package/templates/skills/vitest/references/features-mocking.md +265 -0
  243. package/templates/skills/vitest/references/features-snapshots.md +207 -0
  244. package/templates/skills/vue/GENERATION.md +5 -0
  245. package/templates/skills/vue/SKILL.md +63 -0
  246. package/templates/skills/vue/references/advanced-async-suspense.md +246 -0
  247. package/templates/skills/vue/references/advanced-provide-inject.md +174 -0
  248. package/templates/skills/vue/references/components-emits.md +139 -0
  249. package/templates/skills/vue/references/components-lifecycle.md +192 -0
  250. package/templates/skills/vue/references/components-props.md +211 -0
  251. package/templates/skills/vue/references/components-slots.md +201 -0
  252. package/templates/skills/vue/references/components-v-model.md +183 -0
  253. package/templates/skills/vue/references/core-reactivity.md +289 -0
  254. package/templates/skills/vue/references/features-composables.md +262 -0
  255. package/templates/skills/vue/references/features-directives.md +224 -0
  256. package/templates/skills/vue/references/features-script-setup.md +247 -0
  257. package/templates/skills/vue/references/features-template-refs.md +212 -0
  258. package/templates/skills/vue/references/features-typescript.md +274 -0
  259. package/templates/skills/vue-best-practices/LICENSE.md +21 -0
  260. package/templates/skills/vue-best-practices/SKILL.md +38 -0
  261. package/templates/skills/vue-best-practices/SYNC.md +5 -0
  262. package/templates/skills/vue-best-practices/rules/codeactions-save-performance.md +79 -0
  263. package/templates/skills/vue-best-practices/rules/data-attributes-config.md +74 -0
  264. package/templates/skills/vue-best-practices/rules/deep-watch-numeric.md +97 -0
  265. package/templates/skills/vue-best-practices/rules/define-model-update-event.md +79 -0
  266. package/templates/skills/vue-best-practices/rules/duplicate-plugin-detection.md +102 -0
  267. package/templates/skills/vue-best-practices/rules/extract-component-props.md +57 -0
  268. package/templates/skills/vue-best-practices/rules/fallthrough-attributes.md +63 -0
  269. package/templates/skills/vue-best-practices/rules/hmr-vue-ssr.md +124 -0
  270. package/templates/skills/vue-best-practices/rules/module-resolution-bundler.md +81 -0
  271. package/templates/skills/vue-best-practices/rules/pinia-store-mocking.md +159 -0
  272. package/templates/skills/vue-best-practices/rules/script-setup-jsdoc.md +85 -0
  273. package/templates/skills/vue-best-practices/rules/strict-css-modules.md +68 -0
  274. package/templates/skills/vue-best-practices/rules/volar-3-breaking-changes.md +65 -0
  275. package/templates/skills/vue-best-practices/rules/vue-directive-comments.md +73 -0
  276. package/templates/skills/vue-best-practices/rules/vue-router-typed-params.md +81 -0
  277. package/templates/skills/vue-best-practices/rules/vue-tsc-strict-templates.md +69 -0
  278. package/templates/skills/vue-best-practices/rules/with-defaults-union-types.md +102 -0
  279. package/templates/skills/vueuse-functions/LICENSE.md +21 -0
  280. package/templates/skills/vueuse-functions/SKILL.md +418 -0
  281. package/templates/skills/vueuse-functions/SYNC.md +5 -0
  282. package/templates/skills/vueuse-functions/references/computedAsync.md +159 -0
  283. package/templates/skills/vueuse-functions/references/computedEager.md +62 -0
  284. package/templates/skills/vueuse-functions/references/computedInject.md +86 -0
  285. package/templates/skills/vueuse-functions/references/computedWithControl.md +100 -0
  286. package/templates/skills/vueuse-functions/references/createEventHook.md +86 -0
  287. package/templates/skills/vueuse-functions/references/createGenericProjection.md +25 -0
  288. package/templates/skills/vueuse-functions/references/createGlobalState.md +95 -0
  289. package/templates/skills/vueuse-functions/references/createInjectionState.md +215 -0
  290. package/templates/skills/vueuse-functions/references/createProjection.md +31 -0
  291. package/templates/skills/vueuse-functions/references/createRef.md +54 -0
  292. package/templates/skills/vueuse-functions/references/createReusableTemplate.md +357 -0
  293. package/templates/skills/vueuse-functions/references/createSharedComposable.md +42 -0
  294. package/templates/skills/vueuse-functions/references/createTemplatePromise.md +259 -0
  295. package/templates/skills/vueuse-functions/references/createUnrefFn.md +51 -0
  296. package/templates/skills/vueuse-functions/references/extendRef.md +76 -0
  297. package/templates/skills/vueuse-functions/references/from.md +48 -0
  298. package/templates/skills/vueuse-functions/references/get.md +30 -0
  299. package/templates/skills/vueuse-functions/references/injectLocal.md +35 -0
  300. package/templates/skills/vueuse-functions/references/isDefined.md +31 -0
  301. package/templates/skills/vueuse-functions/references/logicAnd.md +40 -0
  302. package/templates/skills/vueuse-functions/references/logicNot.md +36 -0
  303. package/templates/skills/vueuse-functions/references/logicOr.md +40 -0
  304. package/templates/skills/vueuse-functions/references/makeDestructurable.md +41 -0
  305. package/templates/skills/vueuse-functions/references/onClickOutside.md +187 -0
  306. package/templates/skills/vueuse-functions/references/onElementRemoval.md +64 -0
  307. package/templates/skills/vueuse-functions/references/onKeyStroke.md +176 -0
  308. package/templates/skills/vueuse-functions/references/onLongPress.md +170 -0
  309. package/templates/skills/vueuse-functions/references/onStartTyping.md +43 -0
  310. package/templates/skills/vueuse-functions/references/provideLocal.md +37 -0
  311. package/templates/skills/vueuse-functions/references/reactify.md +144 -0
  312. package/templates/skills/vueuse-functions/references/reactifyObject.md +61 -0
  313. package/templates/skills/vueuse-functions/references/reactiveComputed.md +34 -0
  314. package/templates/skills/vueuse-functions/references/reactiveOmit.md +86 -0
  315. package/templates/skills/vueuse-functions/references/reactivePick.md +106 -0
  316. package/templates/skills/vueuse-functions/references/refAutoReset.md +44 -0
  317. package/templates/skills/vueuse-functions/references/refDebounced.md +81 -0
  318. package/templates/skills/vueuse-functions/references/refDefault.md +36 -0
  319. package/templates/skills/vueuse-functions/references/refManualReset.md +44 -0
  320. package/templates/skills/vueuse-functions/references/refThrottled.md +99 -0
  321. package/templates/skills/vueuse-functions/references/refWithControl.md +146 -0
  322. package/templates/skills/vueuse-functions/references/set.md +30 -0
  323. package/templates/skills/vueuse-functions/references/syncRef.md +195 -0
  324. package/templates/skills/vueuse-functions/references/syncRefs.md +128 -0
  325. package/templates/skills/vueuse-functions/references/templateRef.md +86 -0
  326. package/templates/skills/vueuse-functions/references/toObserver.md +38 -0
  327. package/templates/skills/vueuse-functions/references/toReactive.md +41 -0
  328. package/templates/skills/vueuse-functions/references/toRef.md +75 -0
  329. package/templates/skills/vueuse-functions/references/toRefs.md +81 -0
  330. package/templates/skills/vueuse-functions/references/tryOnBeforeMount.md +34 -0
  331. package/templates/skills/vueuse-functions/references/tryOnBeforeUnmount.md +32 -0
  332. package/templates/skills/vueuse-functions/references/tryOnMounted.md +34 -0
  333. package/templates/skills/vueuse-functions/references/tryOnScopeDispose.md +31 -0
  334. package/templates/skills/vueuse-functions/references/tryOnUnmounted.md +32 -0
  335. package/templates/skills/vueuse-functions/references/unrefElement.md +54 -0
  336. package/templates/skills/vueuse-functions/references/until.md +165 -0
  337. package/templates/skills/vueuse-functions/references/useAbs.md +31 -0
  338. package/templates/skills/vueuse-functions/references/useActiveElement.md +65 -0
  339. package/templates/skills/vueuse-functions/references/useAnimate.md +140 -0
  340. package/templates/skills/vueuse-functions/references/useArrayDifference.md +84 -0
  341. package/templates/skills/vueuse-functions/references/useArrayEvery.md +59 -0
  342. package/templates/skills/vueuse-functions/references/useArrayFilter.md +63 -0
  343. package/templates/skills/vueuse-functions/references/useArrayFind.md +50 -0
  344. package/templates/skills/vueuse-functions/references/useArrayFindIndex.md +59 -0
  345. package/templates/skills/vueuse-functions/references/useArrayFindLast.md +52 -0
  346. package/templates/skills/vueuse-functions/references/useArrayIncludes.md +63 -0
  347. package/templates/skills/vueuse-functions/references/useArrayJoin.md +74 -0
  348. package/templates/skills/vueuse-functions/references/useArrayMap.md +59 -0
  349. package/templates/skills/vueuse-functions/references/useArrayReduce.md +81 -0
  350. package/templates/skills/vueuse-functions/references/useArraySome.md +59 -0
  351. package/templates/skills/vueuse-functions/references/useArrayUnique.md +76 -0
  352. package/templates/skills/vueuse-functions/references/useAsyncQueue.md +87 -0
  353. package/templates/skills/vueuse-functions/references/useAsyncState.md +140 -0
  354. package/templates/skills/vueuse-functions/references/useAsyncValidator.md +70 -0
  355. package/templates/skills/vueuse-functions/references/useAuth.md +114 -0
  356. package/templates/skills/vueuse-functions/references/useAverage.md +36 -0
  357. package/templates/skills/vueuse-functions/references/useAxios.md +292 -0
  358. package/templates/skills/vueuse-functions/references/useBase64.md +88 -0
  359. package/templates/skills/vueuse-functions/references/useBattery.md +67 -0
  360. package/templates/skills/vueuse-functions/references/useBluetooth.md +161 -0
  361. package/templates/skills/vueuse-functions/references/useBreakpoints.md +128 -0
  362. package/templates/skills/vueuse-functions/references/useBroadcastChannel.md +74 -0
  363. package/templates/skills/vueuse-functions/references/useBrowserLocation.md +83 -0
  364. package/templates/skills/vueuse-functions/references/useCached.md +53 -0
  365. package/templates/skills/vueuse-functions/references/useCeil.md +31 -0
  366. package/templates/skills/vueuse-functions/references/useChangeCase.md +79 -0
  367. package/templates/skills/vueuse-functions/references/useClamp.md +51 -0
  368. package/templates/skills/vueuse-functions/references/useClipboard.md +99 -0
  369. package/templates/skills/vueuse-functions/references/useClipboardItems.md +93 -0
  370. package/templates/skills/vueuse-functions/references/useCloned.md +91 -0
  371. package/templates/skills/vueuse-functions/references/useColorMode.md +171 -0
  372. package/templates/skills/vueuse-functions/references/useConfirmDialog.md +159 -0
  373. package/templates/skills/vueuse-functions/references/useCookies.md +162 -0
  374. package/templates/skills/vueuse-functions/references/useCountdown.md +102 -0
  375. package/templates/skills/vueuse-functions/references/useCounter.md +86 -0
  376. package/templates/skills/vueuse-functions/references/useCssVar.md +50 -0
  377. package/templates/skills/vueuse-functions/references/useCurrentElement.md +61 -0
  378. package/templates/skills/vueuse-functions/references/useCycleList.md +75 -0
  379. package/templates/skills/vueuse-functions/references/useDark.md +142 -0
  380. package/templates/skills/vueuse-functions/references/useDateFormat.md +145 -0
  381. package/templates/skills/vueuse-functions/references/useDebounceFn.md +100 -0
  382. package/templates/skills/vueuse-functions/references/useDebouncedRefHistory.md +40 -0
  383. package/templates/skills/vueuse-functions/references/useDeviceMotion.md +87 -0
  384. package/templates/skills/vueuse-functions/references/useDeviceOrientation.md +62 -0
  385. package/templates/skills/vueuse-functions/references/useDevicePixelRatio.md +44 -0
  386. package/templates/skills/vueuse-functions/references/useDevicesList.md +90 -0
  387. package/templates/skills/vueuse-functions/references/useDisplayMedia.md +71 -0
  388. package/templates/skills/vueuse-functions/references/useDocumentVisibility.md +45 -0
  389. package/templates/skills/vueuse-functions/references/useDraggable.md +210 -0
  390. package/templates/skills/vueuse-functions/references/useDrauu.md +65 -0
  391. package/templates/skills/vueuse-functions/references/useDropZone.md +83 -0
  392. package/templates/skills/vueuse-functions/references/useElementBounding.md +131 -0
  393. package/templates/skills/vueuse-functions/references/useElementByPoint.md +45 -0
  394. package/templates/skills/vueuse-functions/references/useElementHover.md +79 -0
  395. package/templates/skills/vueuse-functions/references/useElementSize.md +78 -0
  396. package/templates/skills/vueuse-functions/references/useElementVisibility.md +126 -0
  397. package/templates/skills/vueuse-functions/references/useEventBus.md +101 -0
  398. package/templates/skills/vueuse-functions/references/useEventListener.md +184 -0
  399. package/templates/skills/vueuse-functions/references/useEventSource.md +204 -0
  400. package/templates/skills/vueuse-functions/references/useExtractedObservable.md +185 -0
  401. package/templates/skills/vueuse-functions/references/useEyeDropper.md +71 -0
  402. package/templates/skills/vueuse-functions/references/useFavicon.md +67 -0
  403. package/templates/skills/vueuse-functions/references/useFetch.md +546 -0
  404. package/templates/skills/vueuse-functions/references/useFileDialog.md +91 -0
  405. package/templates/skills/vueuse-functions/references/useFileSystemAccess.md +162 -0
  406. package/templates/skills/vueuse-functions/references/useFirestore.md +104 -0
  407. package/templates/skills/vueuse-functions/references/useFloor.md +31 -0
  408. package/templates/skills/vueuse-functions/references/useFocus.md +99 -0
  409. package/templates/skills/vueuse-functions/references/useFocusTrap.md +245 -0
  410. package/templates/skills/vueuse-functions/references/useFocusWithin.md +57 -0
  411. package/templates/skills/vueuse-functions/references/useFps.md +28 -0
  412. package/templates/skills/vueuse-functions/references/useFullscreen.md +75 -0
  413. package/templates/skills/vueuse-functions/references/useFuse.md +107 -0
  414. package/templates/skills/vueuse-functions/references/useGamepad.md +223 -0
  415. package/templates/skills/vueuse-functions/references/useGeolocation.md +86 -0
  416. package/templates/skills/vueuse-functions/references/useIDBKeyval.md +93 -0
  417. package/templates/skills/vueuse-functions/references/useIdle.md +89 -0
  418. package/templates/skills/vueuse-functions/references/useImage.md +86 -0
  419. package/templates/skills/vueuse-functions/references/useInfiniteScroll.md +157 -0
  420. package/templates/skills/vueuse-functions/references/useIntersectionObserver.md +118 -0
  421. package/templates/skills/vueuse-functions/references/useInterval.md +69 -0
  422. package/templates/skills/vueuse-functions/references/useIntervalFn.md +50 -0
  423. package/templates/skills/vueuse-functions/references/useIpcRenderer.md +118 -0
  424. package/templates/skills/vueuse-functions/references/useIpcRendererInvoke.md +58 -0
  425. package/templates/skills/vueuse-functions/references/useIpcRendererOn.md +52 -0
  426. package/templates/skills/vueuse-functions/references/useJwt.md +57 -0
  427. package/templates/skills/vueuse-functions/references/useKeyModifier.md +87 -0
  428. package/templates/skills/vueuse-functions/references/useLastChanged.md +63 -0
  429. package/templates/skills/vueuse-functions/references/useLocalStorage.md +41 -0
  430. package/templates/skills/vueuse-functions/references/useMagicKeys.md +217 -0
  431. package/templates/skills/vueuse-functions/references/useManualRefHistory.md +204 -0
  432. package/templates/skills/vueuse-functions/references/useMath.md +47 -0
  433. package/templates/skills/vueuse-functions/references/useMax.md +36 -0
  434. package/templates/skills/vueuse-functions/references/useMediaControls.md +571 -0
  435. package/templates/skills/vueuse-functions/references/useMediaQuery.md +53 -0
  436. package/templates/skills/vueuse-functions/references/useMemoize.md +175 -0
  437. package/templates/skills/vueuse-functions/references/useMemory.md +56 -0
  438. package/templates/skills/vueuse-functions/references/useMin.md +36 -0
  439. package/templates/skills/vueuse-functions/references/useMounted.md +38 -0
  440. package/templates/skills/vueuse-functions/references/useMouse.md +114 -0
  441. package/templates/skills/vueuse-functions/references/useMouseInElement.md +123 -0
  442. package/templates/skills/vueuse-functions/references/useMousePressed.md +112 -0
  443. package/templates/skills/vueuse-functions/references/useMutationObserver.md +62 -0
  444. package/templates/skills/vueuse-functions/references/useNProgress.md +78 -0
  445. package/templates/skills/vueuse-functions/references/useNavigatorLanguage.md +57 -0
  446. package/templates/skills/vueuse-functions/references/useNetwork.md +106 -0
  447. package/templates/skills/vueuse-functions/references/useNow.md +75 -0
  448. package/templates/skills/vueuse-functions/references/useObjectUrl.md +55 -0
  449. package/templates/skills/vueuse-functions/references/useObservable.md +67 -0
  450. package/templates/skills/vueuse-functions/references/useOffsetPagination.md +199 -0
  451. package/templates/skills/vueuse-functions/references/useOnline.md +41 -0
  452. package/templates/skills/vueuse-functions/references/usePageLeave.md +42 -0
  453. package/templates/skills/vueuse-functions/references/useParallax.md +58 -0
  454. package/templates/skills/vueuse-functions/references/useParentElement.md +54 -0
  455. package/templates/skills/vueuse-functions/references/usePerformanceObserver.md +48 -0
  456. package/templates/skills/vueuse-functions/references/usePermission.md +78 -0
  457. package/templates/skills/vueuse-functions/references/usePointer.md +89 -0
  458. package/templates/skills/vueuse-functions/references/usePointerLock.md +60 -0
  459. package/templates/skills/vueuse-functions/references/usePointerSwipe.md +80 -0
  460. package/templates/skills/vueuse-functions/references/usePrecision.md +49 -0
  461. package/templates/skills/vueuse-functions/references/usePreferredColorScheme.md +42 -0
  462. package/templates/skills/vueuse-functions/references/usePreferredContrast.md +42 -0
  463. package/templates/skills/vueuse-functions/references/usePreferredDark.md +41 -0
  464. package/templates/skills/vueuse-functions/references/usePreferredLanguages.md +41 -0
  465. package/templates/skills/vueuse-functions/references/usePreferredReducedMotion.md +42 -0
  466. package/templates/skills/vueuse-functions/references/usePreferredReducedTransparency.md +42 -0
  467. package/templates/skills/vueuse-functions/references/usePrevious.md +40 -0
  468. package/templates/skills/vueuse-functions/references/useProjection.md +38 -0
  469. package/templates/skills/vueuse-functions/references/useQRCode.md +53 -0
  470. package/templates/skills/vueuse-functions/references/useRTDB.md +70 -0
  471. package/templates/skills/vueuse-functions/references/useRafFn.md +68 -0
  472. package/templates/skills/vueuse-functions/references/useRefHistory.md +292 -0
  473. package/templates/skills/vueuse-functions/references/useResizeObserver.md +110 -0
  474. package/templates/skills/vueuse-functions/references/useRound.md +31 -0
  475. package/templates/skills/vueuse-functions/references/useRouteHash.md +27 -0
  476. package/templates/skills/vueuse-functions/references/useRouteParams.md +38 -0
  477. package/templates/skills/vueuse-functions/references/useRouteQuery.md +38 -0
  478. package/templates/skills/vueuse-functions/references/useSSRWidth.md +47 -0
  479. package/templates/skills/vueuse-functions/references/useScreenOrientation.md +96 -0
  480. package/templates/skills/vueuse-functions/references/useScreenSafeArea.md +60 -0
  481. package/templates/skills/vueuse-functions/references/useScriptTag.md +116 -0
  482. package/templates/skills/vueuse-functions/references/useScroll.md +238 -0
  483. package/templates/skills/vueuse-functions/references/useScrollLock.md +66 -0
  484. package/templates/skills/vueuse-functions/references/useSessionStorage.md +41 -0
  485. package/templates/skills/vueuse-functions/references/useShare.md +68 -0
  486. package/templates/skills/vueuse-functions/references/useSortable.md +177 -0
  487. package/templates/skills/vueuse-functions/references/useSorted.md +90 -0
  488. package/templates/skills/vueuse-functions/references/useSpeechRecognition.md +94 -0
  489. package/templates/skills/vueuse-functions/references/useSpeechSynthesis.md +105 -0
  490. package/templates/skills/vueuse-functions/references/useStepper.md +137 -0
  491. package/templates/skills/vueuse-functions/references/useStorage.md +219 -0
  492. package/templates/skills/vueuse-functions/references/useStorageAsync.md +134 -0
  493. package/templates/skills/vueuse-functions/references/useStyleTag.md +131 -0
  494. package/templates/skills/vueuse-functions/references/useSubject.md +52 -0
  495. package/templates/skills/vueuse-functions/references/useSubscription.md +33 -0
  496. package/templates/skills/vueuse-functions/references/useSum.md +36 -0
  497. package/templates/skills/vueuse-functions/references/useSupported.md +29 -0
  498. package/templates/skills/vueuse-functions/references/useSwipe.md +75 -0
  499. package/templates/skills/vueuse-functions/references/useTemplateRefsList.md +37 -0
  500. package/templates/skills/vueuse-functions/references/useTextDirection.md +75 -0
  501. package/templates/skills/vueuse-functions/references/useTextSelection.md +40 -0
  502. package/templates/skills/vueuse-functions/references/useTextareaAutosize.md +97 -0
  503. package/templates/skills/vueuse-functions/references/useThrottleFn.md +57 -0
  504. package/templates/skills/vueuse-functions/references/useThrottledRefHistory.md +47 -0
  505. package/templates/skills/vueuse-functions/references/useTimeAgo.md +152 -0
  506. package/templates/skills/vueuse-functions/references/useTimeAgoIntl.md +116 -0
  507. package/templates/skills/vueuse-functions/references/useTimeout.md +75 -0
  508. package/templates/skills/vueuse-functions/references/useTimeoutFn.md +51 -0
  509. package/templates/skills/vueuse-functions/references/useTimeoutPoll.md +47 -0
  510. package/templates/skills/vueuse-functions/references/useTimestamp.md +85 -0
  511. package/templates/skills/vueuse-functions/references/useTitle.md +113 -0
  512. package/templates/skills/vueuse-functions/references/useToNumber.md +54 -0
  513. package/templates/skills/vueuse-functions/references/useToString.md +34 -0
  514. package/templates/skills/vueuse-functions/references/useToggle.md +56 -0
  515. package/templates/skills/vueuse-functions/references/useTransition.md +265 -0
  516. package/templates/skills/vueuse-functions/references/useTrunc.md +33 -0
  517. package/templates/skills/vueuse-functions/references/useUrlSearchParams.md +121 -0
  518. package/templates/skills/vueuse-functions/references/useUserMedia.md +1138 -0
  519. package/templates/skills/vueuse-functions/references/useVModel.md +116 -0
  520. package/templates/skills/vueuse-functions/references/useVModels.md +67 -0
  521. package/templates/skills/vueuse-functions/references/useVibrate.md +83 -0
  522. package/templates/skills/vueuse-functions/references/useVirtualList.md +184 -0
  523. package/templates/skills/vueuse-functions/references/useWakeLock.md +50 -0
  524. package/templates/skills/vueuse-functions/references/useWebNotification.md +177 -0
  525. package/templates/skills/vueuse-functions/references/useWebSocket.md +268 -0
  526. package/templates/skills/vueuse-functions/references/useWebWorker.md +60 -0
  527. package/templates/skills/vueuse-functions/references/useWebWorkerFn.md +102 -0
  528. package/templates/skills/vueuse-functions/references/useWindowFocus.md +46 -0
  529. package/templates/skills/vueuse-functions/references/useWindowScroll.md +62 -0
  530. package/templates/skills/vueuse-functions/references/useWindowSize.md +76 -0
  531. package/templates/skills/vueuse-functions/references/useZoomFactor.md +53 -0
  532. package/templates/skills/vueuse-functions/references/useZoomLevel.md +53 -0
  533. package/templates/skills/vueuse-functions/references/watchArray.md +53 -0
  534. package/templates/skills/vueuse-functions/references/watchAtMost.md +54 -0
  535. package/templates/skills/vueuse-functions/references/watchDebounced.md +72 -0
  536. package/templates/skills/vueuse-functions/references/watchDeep.md +54 -0
  537. package/templates/skills/vueuse-functions/references/watchExtractedObservable.md +167 -0
  538. package/templates/skills/vueuse-functions/references/watchIgnorable.md +120 -0
  539. package/templates/skills/vueuse-functions/references/watchImmediate.md +44 -0
  540. package/templates/skills/vueuse-functions/references/watchOnce.md +41 -0
  541. package/templates/skills/vueuse-functions/references/watchPausable.md +86 -0
  542. package/templates/skills/vueuse-functions/references/watchThrottled.md +73 -0
  543. package/templates/skills/vueuse-functions/references/watchTriggerable.md +97 -0
  544. package/templates/skills/vueuse-functions/references/watchWithFilter.md +55 -0
  545. package/templates/skills/vueuse-functions/references/whenever.md +100 -0
  546. package/templates/skills/web-design-guidelines/SKILL.md +39 -0
  547. package/templates/skills/web-design-guidelines/SYNC.md +5 -0
@@ -0,0 +1,348 @@
1
+ # Configuration Gotchas
2
+
3
+ Common mistakes and how to fix them.
4
+
5
+ ## #1 Root Scripts Not Using `turbo run`
6
+
7
+ Root `package.json` scripts for turbo tasks MUST use `turbo run`, not direct commands.
8
+
9
+ ```json
10
+ // WRONG - bypasses turbo, no parallelization or caching
11
+ {
12
+ "scripts": {
13
+ "build": "bun build",
14
+ "dev": "bun dev"
15
+ }
16
+ }
17
+
18
+ // CORRECT - delegates to turbo
19
+ {
20
+ "scripts": {
21
+ "build": "turbo run build",
22
+ "dev": "turbo run dev"
23
+ }
24
+ }
25
+ ```
26
+
27
+ **Why this matters:** Running `bun build` or `npm run build` at root bypasses Turborepo entirely - no parallelization, no caching, no dependency graph awareness.
28
+
29
+ ## #2 Using `&&` to Chain Turbo Tasks
30
+
31
+ Don't use `&&` to chain tasks that turbo should orchestrate.
32
+
33
+ ```json
34
+ // WRONG - changeset:publish chains turbo task with non-turbo command
35
+ {
36
+ "scripts": {
37
+ "changeset:publish": "bun build && changeset publish"
38
+ }
39
+ }
40
+
41
+ // CORRECT - use turbo run, let turbo handle dependencies
42
+ {
43
+ "scripts": {
44
+ "changeset:publish": "turbo run build && changeset publish"
45
+ }
46
+ }
47
+ ```
48
+
49
+ If the second command (`changeset publish`) depends on build outputs, the turbo task should run through turbo to get caching and parallelization benefits.
50
+
51
+ ## #3 Overly Broad globalDependencies
52
+
53
+ `globalDependencies` affects hash for ALL tasks in ALL packages. Be specific.
54
+
55
+ ```json
56
+ // WRONG - affects all hashes
57
+ {
58
+ "globalDependencies": ["**/.env.*local"]
59
+ }
60
+
61
+ // CORRECT - move to specific tasks that need it
62
+ {
63
+ "globalDependencies": [".env"],
64
+ "tasks": {
65
+ "build": {
66
+ "inputs": ["$TURBO_DEFAULT$", ".env*"],
67
+ "outputs": ["dist/**"]
68
+ }
69
+ }
70
+ }
71
+ ```
72
+
73
+ **Why this matters:** `**/.env.*local` matches .env files in ALL packages, causing unnecessary cache invalidation. Instead:
74
+
75
+ - Use `globalDependencies` only for truly global files (root `.env`)
76
+ - Use task-level `inputs` for package-specific .env files with `$TURBO_DEFAULT$` to preserve default behavior
77
+
78
+ ## #4 Repetitive Task Configuration
79
+
80
+ Look for repeated configuration across tasks that can be collapsed.
81
+
82
+ ```json
83
+ // WRONG - repetitive env and inputs across tasks
84
+ {
85
+ "tasks": {
86
+ "build": {
87
+ "env": ["API_URL", "DATABASE_URL"],
88
+ "inputs": ["$TURBO_DEFAULT$", ".env*"]
89
+ },
90
+ "test": {
91
+ "env": ["API_URL", "DATABASE_URL"],
92
+ "inputs": ["$TURBO_DEFAULT$", ".env*"]
93
+ }
94
+ }
95
+ }
96
+
97
+ // BETTER - use globalEnv and globalDependencies
98
+ {
99
+ "globalEnv": ["API_URL", "DATABASE_URL"],
100
+ "globalDependencies": [".env*"],
101
+ "tasks": {
102
+ "build": {},
103
+ "test": {}
104
+ }
105
+ }
106
+ ```
107
+
108
+ **When to use global vs task-level:**
109
+
110
+ - `globalEnv` / `globalDependencies` - affects ALL tasks, use for truly shared config
111
+ - Task-level `env` / `inputs` - use when only specific tasks need it
112
+
113
+ ## #5 Using `../` to Traverse Out of Package in `inputs`
114
+
115
+ Don't use relative paths like `../` to reference files outside the package. Use `$TURBO_ROOT$` instead.
116
+
117
+ ```json
118
+ // WRONG - traversing out of package
119
+ {
120
+ "tasks": {
121
+ "build": {
122
+ "inputs": ["$TURBO_DEFAULT$", "../shared-config.json"]
123
+ }
124
+ }
125
+ }
126
+
127
+ // CORRECT - use $TURBO_ROOT$ for repo root
128
+ {
129
+ "tasks": {
130
+ "build": {
131
+ "inputs": ["$TURBO_DEFAULT$", "$TURBO_ROOT$/shared-config.json"]
132
+ }
133
+ }
134
+ }
135
+ ```
136
+
137
+ ## #6 MOST COMMON MISTAKE: Creating Root Tasks
138
+
139
+ **DO NOT create Root Tasks. ALWAYS create package tasks.**
140
+
141
+ When you need to create a task (build, lint, test, typecheck, etc.):
142
+
143
+ 1. Add the script to **each relevant package's** `package.json`
144
+ 2. Register the task in root `turbo.json`
145
+ 3. Root `package.json` only contains `turbo run <task>`
146
+
147
+ ```json
148
+ // WRONG - DO NOT DO THIS
149
+ // Root package.json with task logic
150
+ {
151
+ "scripts": {
152
+ "build": "cd apps/web && next build && cd ../api && tsc",
153
+ "lint": "eslint apps/ packages/",
154
+ "test": "vitest"
155
+ }
156
+ }
157
+
158
+ // CORRECT - DO THIS
159
+ // apps/web/package.json
160
+ { "scripts": { "build": "next build", "lint": "eslint .", "test": "vitest" } }
161
+
162
+ // apps/api/package.json
163
+ { "scripts": { "build": "tsc", "lint": "eslint .", "test": "vitest" } }
164
+
165
+ // packages/ui/package.json
166
+ { "scripts": { "build": "tsc", "lint": "eslint .", "test": "vitest" } }
167
+
168
+ // Root package.json - ONLY delegates
169
+ { "scripts": { "build": "turbo run build", "lint": "turbo run lint", "test": "turbo run test" } }
170
+
171
+ // turbo.json - register tasks
172
+ {
173
+ "tasks": {
174
+ "build": { "dependsOn": ["^build"], "outputs": ["dist/**"] },
175
+ "lint": {},
176
+ "test": {}
177
+ }
178
+ }
179
+ ```
180
+
181
+ **Why this matters:**
182
+
183
+ - Package tasks run in **parallel** across all packages
184
+ - Each package's output is cached **individually**
185
+ - You can **filter** to specific packages: `turbo run test --filter=web`
186
+
187
+ Root Tasks (`//#taskname`) defeat all these benefits. Only use them for tasks that truly cannot exist in any package (extremely rare).
188
+
189
+ ## #7 Tasks That Need Parallel Execution + Cache Invalidation
190
+
191
+ Some tasks can run in parallel (don't need built output from dependencies) but must still invalidate cache when dependency source code changes. Using `dependsOn: ["^taskname"]` forces sequential execution. Using no dependencies breaks cache invalidation.
192
+
193
+ **Use Transit Nodes for these tasks:**
194
+
195
+ ```json
196
+ // WRONG - forces sequential execution (SLOW)
197
+ "my-task": {
198
+ "dependsOn": ["^my-task"]
199
+ }
200
+
201
+ // ALSO WRONG - no dependency awareness (INCORRECT CACHING)
202
+ "my-task": {}
203
+
204
+ // CORRECT - use Transit Nodes for parallel + correct caching
205
+ {
206
+ "tasks": {
207
+ "transit": { "dependsOn": ["^transit"] },
208
+ "my-task": { "dependsOn": ["transit"] }
209
+ }
210
+ }
211
+ ```
212
+
213
+ **Why Transit Nodes work:**
214
+
215
+ - `transit` creates dependency relationships without matching any actual script
216
+ - Tasks that depend on `transit` gain dependency awareness
217
+ - Since `transit` completes instantly (no script), tasks run in parallel
218
+ - Cache correctly invalidates when dependency source code changes
219
+
220
+ **How to identify tasks that need this pattern:** Look for tasks that read source files from dependencies but don't need their build outputs.
221
+
222
+ ## Missing outputs for File-Producing Tasks
223
+
224
+ **Before flagging missing `outputs`, check what the task actually produces:**
225
+
226
+ 1. Read the package's script (e.g., `"build": "tsc"`, `"test": "vitest"`)
227
+ 2. Determine if it writes files to disk or only outputs to stdout
228
+ 3. Only flag if the task produces files that should be cached
229
+
230
+ ```json
231
+ // WRONG - build produces files but they're not cached
232
+ "build": {
233
+ "dependsOn": ["^build"]
234
+ }
235
+
236
+ // CORRECT - outputs are cached
237
+ "build": {
238
+ "dependsOn": ["^build"],
239
+ "outputs": ["dist/**"]
240
+ }
241
+ ```
242
+
243
+ No `outputs` key is fine for stdout-only tasks. For file-producing tasks, missing `outputs` means Turbo has nothing to cache.
244
+
245
+ ## Forgetting ^ in dependsOn
246
+
247
+ ```json
248
+ // WRONG - looks for "build" in SAME package (infinite loop or missing)
249
+ "build": {
250
+ "dependsOn": ["build"]
251
+ }
252
+
253
+ // CORRECT - runs dependencies' build first
254
+ "build": {
255
+ "dependsOn": ["^build"]
256
+ }
257
+ ```
258
+
259
+ The `^` means "in dependency packages", not "in this package".
260
+
261
+ ## Missing persistent on Dev Tasks
262
+
263
+ ```json
264
+ // WRONG - dependent tasks hang waiting for dev to "finish"
265
+ "dev": {
266
+ "cache": false
267
+ }
268
+
269
+ // CORRECT
270
+ "dev": {
271
+ "cache": false,
272
+ "persistent": true
273
+ }
274
+ ```
275
+
276
+ ## Package Config Missing extends
277
+
278
+ ```json
279
+ // WRONG - packages/web/turbo.json
280
+ {
281
+ "tasks": {
282
+ "build": { "outputs": [".next/**"] }
283
+ }
284
+ }
285
+
286
+ // CORRECT
287
+ {
288
+ "extends": ["//"],
289
+ "tasks": {
290
+ "build": { "outputs": [".next/**"] }
291
+ }
292
+ }
293
+ ```
294
+
295
+ Without `"extends": ["//"]`, Package Configurations are invalid.
296
+
297
+ ## Root Tasks Need Special Syntax
298
+
299
+ To run a task defined only in root `package.json`:
300
+
301
+ ```bash
302
+ # WRONG
303
+ turbo run format
304
+
305
+ # CORRECT
306
+ turbo run //#format
307
+ ```
308
+
309
+ And in dependsOn:
310
+
311
+ ```json
312
+ "build": {
313
+ "dependsOn": ["//#codegen"] // Root package's codegen
314
+ }
315
+ ```
316
+
317
+ ## Overwriting Default Inputs
318
+
319
+ ```json
320
+ // WRONG - only watches test files, ignores source changes
321
+ "test": {
322
+ "inputs": ["tests/**"]
323
+ }
324
+
325
+ // CORRECT - extends defaults, adds test files
326
+ "test": {
327
+ "inputs": ["$TURBO_DEFAULT$", "tests/**"]
328
+ }
329
+ ```
330
+
331
+ Without `$TURBO_DEFAULT$`, you replace all default file watching.
332
+
333
+ ## Caching Tasks with Side Effects
334
+
335
+ ```json
336
+ // WRONG - deploy might be skipped on cache hit
337
+ "deploy": {
338
+ "dependsOn": ["build"]
339
+ }
340
+
341
+ // CORRECT
342
+ "deploy": {
343
+ "dependsOn": ["build"],
344
+ "cache": false
345
+ }
346
+ ```
347
+
348
+ Always disable cache for deploy, publish, or mutation tasks.
@@ -0,0 +1,285 @@
1
+ # Task Configuration Reference
2
+
3
+ Full docs: https://turborepo.dev/docs/reference/configuration#tasks
4
+
5
+ ## dependsOn
6
+
7
+ Controls task execution order.
8
+
9
+ ```json
10
+ {
11
+ "tasks": {
12
+ "build": {
13
+ "dependsOn": [
14
+ "^build", // Dependencies' build tasks first
15
+ "codegen", // Same package's codegen task first
16
+ "shared#build" // Specific package's build task
17
+ ]
18
+ }
19
+ }
20
+ }
21
+ ```
22
+
23
+ | Syntax | Meaning |
24
+ | ---------- | ------------------------------------ |
25
+ | `^task` | Run `task` in all dependencies first |
26
+ | `task` | Run `task` in same package first |
27
+ | `pkg#task` | Run specific package's task first |
28
+
29
+ The `^` prefix is crucial - without it, you're referencing the same package.
30
+
31
+ ### Transit Nodes for Parallel Tasks
32
+
33
+ For tasks like `lint` and `check-types` that can run in parallel but need dependency-aware caching:
34
+
35
+ ```json
36
+ {
37
+ "tasks": {
38
+ "transit": { "dependsOn": ["^transit"] },
39
+ "lint": { "dependsOn": ["transit"] },
40
+ "check-types": { "dependsOn": ["transit"] }
41
+ }
42
+ }
43
+ ```
44
+
45
+ **DO NOT use `dependsOn: ["^lint"]`** - this forces sequential execution.
46
+ **DO NOT use `dependsOn: []`** - this breaks cache invalidation.
47
+
48
+ The `transit` task creates dependency relationships without running anything (no matching script), so tasks run in parallel with correct caching.
49
+
50
+ ## outputs
51
+
52
+ Glob patterns for files to cache. **If omitted, nothing is cached.**
53
+
54
+ ```json
55
+ {
56
+ "tasks": {
57
+ "build": {
58
+ "outputs": ["dist/**", "build/**"]
59
+ }
60
+ }
61
+ }
62
+ ```
63
+
64
+ **Framework examples:**
65
+
66
+ ```json
67
+ // Next.js
68
+ "outputs": [".next/**", "!.next/cache/**"]
69
+
70
+ // Vite
71
+ "outputs": ["dist/**"]
72
+
73
+ // TypeScript (tsc)
74
+ "outputs": ["dist/**", "*.tsbuildinfo"]
75
+
76
+ // No file outputs (lint, typecheck)
77
+ "outputs": []
78
+ ```
79
+
80
+ Use `!` prefix to exclude patterns from caching.
81
+
82
+ ## inputs
83
+
84
+ Files considered when calculating task hash. Defaults to all tracked files in package.
85
+
86
+ ```json
87
+ {
88
+ "tasks": {
89
+ "test": {
90
+ "inputs": ["src/**", "tests/**", "vitest.config.ts"]
91
+ }
92
+ }
93
+ }
94
+ ```
95
+
96
+ **Special values:**
97
+
98
+ | Value | Meaning |
99
+ | --------------------- | --------------------------------------- |
100
+ | `$TURBO_DEFAULT$` | Include default inputs, then add/remove |
101
+ | `$TURBO_ROOT$/<path>` | Reference files from repo root |
102
+
103
+ ```json
104
+ {
105
+ "tasks": {
106
+ "build": {
107
+ "inputs": [
108
+ "$TURBO_DEFAULT$",
109
+ "!README.md",
110
+ "$TURBO_ROOT$/tsconfig.base.json"
111
+ ]
112
+ }
113
+ }
114
+ }
115
+ ```
116
+
117
+ ## env
118
+
119
+ Environment variables to include in task hash.
120
+
121
+ ```json
122
+ {
123
+ "tasks": {
124
+ "build": {
125
+ "env": [
126
+ "API_URL",
127
+ "NEXT_PUBLIC_*", // Wildcard matching
128
+ "!DEBUG" // Exclude from hash
129
+ ]
130
+ }
131
+ }
132
+ }
133
+ ```
134
+
135
+ Variables listed here affect cache hits - changing the value invalidates cache.
136
+
137
+ ## cache
138
+
139
+ Enable/disable caching for a task. Default: `true`.
140
+
141
+ ```json
142
+ {
143
+ "tasks": {
144
+ "dev": { "cache": false },
145
+ "deploy": { "cache": false }
146
+ }
147
+ }
148
+ ```
149
+
150
+ Disable for: dev servers, deploy commands, tasks with side effects.
151
+
152
+ ## persistent
153
+
154
+ Mark long-running tasks that don't exit. Default: `false`.
155
+
156
+ ```json
157
+ {
158
+ "tasks": {
159
+ "dev": {
160
+ "cache": false,
161
+ "persistent": true
162
+ }
163
+ }
164
+ }
165
+ ```
166
+
167
+ Required for dev servers - without it, dependent tasks wait forever.
168
+
169
+ ## interactive
170
+
171
+ Allow task to receive stdin input. Default: `false`.
172
+
173
+ ```json
174
+ {
175
+ "tasks": {
176
+ "login": {
177
+ "cache": false,
178
+ "interactive": true
179
+ }
180
+ }
181
+ }
182
+ ```
183
+
184
+ ## outputLogs
185
+
186
+ Control when logs are shown. Options: `full`, `hash-only`, `new-only`, `errors-only`, `none`.
187
+
188
+ ```json
189
+ {
190
+ "tasks": {
191
+ "build": {
192
+ "outputLogs": "new-only" // Only show logs on cache miss
193
+ }
194
+ }
195
+ }
196
+ ```
197
+
198
+ ## with
199
+
200
+ Run tasks alongside this task. For long-running tasks that need runtime dependencies.
201
+
202
+ ```json
203
+ {
204
+ "tasks": {
205
+ "dev": {
206
+ "with": ["api#dev"],
207
+ "persistent": true,
208
+ "cache": false
209
+ }
210
+ }
211
+ }
212
+ ```
213
+
214
+ Unlike `dependsOn`, `with` runs tasks concurrently (not sequentially). Use for dev servers that need other services running.
215
+
216
+ ## interruptible
217
+
218
+ Allow `turbo watch` to restart the task on changes. Default: `false`.
219
+
220
+ ```json
221
+ {
222
+ "tasks": {
223
+ "dev": {
224
+ "persistent": true,
225
+ "interruptible": true,
226
+ "cache": false
227
+ }
228
+ }
229
+ }
230
+ ```
231
+
232
+ Use for dev servers that don't automatically detect dependency changes.
233
+
234
+ ## description (Pre-release)
235
+
236
+ Human-readable description of the task.
237
+
238
+ ```json
239
+ {
240
+ "tasks": {
241
+ "build": {
242
+ "description": "Compiles the application for production deployment"
243
+ }
244
+ }
245
+ }
246
+ ```
247
+
248
+ For documentation only - doesn't affect execution or caching.
249
+
250
+ ## passThroughEnv
251
+
252
+ Environment variables available at runtime but NOT included in cache hash.
253
+
254
+ ```json
255
+ {
256
+ "tasks": {
257
+ "build": {
258
+ "passThroughEnv": ["AWS_SECRET_KEY", "GITHUB_TOKEN"]
259
+ }
260
+ }
261
+ }
262
+ ```
263
+
264
+ **Warning**: Changes to these vars won't cause cache misses. Use `env` if changes should invalidate cache.
265
+
266
+ ## extends (Package Configuration only)
267
+
268
+ Control task inheritance in Package Configurations.
269
+
270
+ ```json
271
+ // packages/ui/turbo.json
272
+ {
273
+ "extends": ["//"],
274
+ "tasks": {
275
+ "lint": {
276
+ "extends": false // Exclude from this package
277
+ }
278
+ }
279
+ }
280
+ ```
281
+
282
+ | Value | Behavior |
283
+ | ---------------- | -------------------------------------------------------------- |
284
+ | `true` (default) | Inherit from root turbo.json |
285
+ | `false` | Exclude task from package, or define fresh without inheritance |
@@ -0,0 +1,96 @@
1
+ # Environment Variables in Turborepo
2
+
3
+ Turborepo provides fine-grained control over which environment variables affect task hashing and runtime availability.
4
+
5
+ ## Configuration Keys
6
+
7
+ ### `env` - Task-Specific Variables
8
+
9
+ Variables that affect a specific task's hash. When these change, only that task rebuilds.
10
+
11
+ ```json
12
+ {
13
+ "tasks": {
14
+ "build": {
15
+ "env": ["DATABASE_URL", "API_KEY"]
16
+ }
17
+ }
18
+ }
19
+ ```
20
+
21
+ ### `globalEnv` - Variables Affecting All Tasks
22
+
23
+ Variables that affect EVERY task's hash. When these change, all tasks rebuild.
24
+
25
+ ```json
26
+ {
27
+ "globalEnv": ["CI", "NODE_ENV"]
28
+ }
29
+ ```
30
+
31
+ ### `passThroughEnv` - Runtime-Only Variables (Not Hashed)
32
+
33
+ Variables available at runtime but NOT included in hash. **Use with caution** - changes won't trigger rebuilds.
34
+
35
+ ```json
36
+ {
37
+ "tasks": {
38
+ "deploy": {
39
+ "passThroughEnv": ["AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY"]
40
+ }
41
+ }
42
+ }
43
+ ```
44
+
45
+ ### `globalPassThroughEnv` - Global Runtime Variables
46
+
47
+ Same as `passThroughEnv` but for all tasks.
48
+
49
+ ```json
50
+ {
51
+ "globalPassThroughEnv": ["GITHUB_TOKEN"]
52
+ }
53
+ ```
54
+
55
+ ## Wildcards and Negation
56
+
57
+ ### Wildcards
58
+
59
+ Match multiple variables with `*`:
60
+
61
+ ```json
62
+ {
63
+ "env": ["MY_API_*", "FEATURE_FLAG_*"]
64
+ }
65
+ ```
66
+
67
+ This matches `MY_API_URL`, `MY_API_KEY`, `FEATURE_FLAG_DARK_MODE`, etc.
68
+
69
+ ### Negation
70
+
71
+ Exclude variables (useful with framework inference):
72
+
73
+ ```json
74
+ {
75
+ "env": ["!NEXT_PUBLIC_ANALYTICS_ID"]
76
+ }
77
+ ```
78
+
79
+ ## Complete Example
80
+
81
+ ```json
82
+ {
83
+ "$schema": "https://turborepo.dev/schema.v2.json",
84
+ "globalEnv": ["CI", "NODE_ENV"],
85
+ "globalPassThroughEnv": ["GITHUB_TOKEN", "NPM_TOKEN"],
86
+ "tasks": {
87
+ "build": {
88
+ "env": ["DATABASE_URL", "API_*"],
89
+ "passThroughEnv": ["SENTRY_AUTH_TOKEN"]
90
+ },
91
+ "test": {
92
+ "env": ["TEST_DATABASE_URL"]
93
+ }
94
+ }
95
+ }
96
+ ```