aico-cli 2.1.1 → 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.
- package/bin/cli/README.md +1 -1
- package/bin/cli/cli.js +9391 -3999
- package/bin/cli/package.json +1 -1
- package/bin/cli/sdk-tools.d.ts +83 -15
- package/dist/chunks/simple-config.mjs +1 -1
- package/package.json +2 -2
- package/templates/cursor.md +72 -15
- package/templates/personality.md +37 -13
- package/templates/skills/antfu/SKILL.md +222 -0
- package/templates/skills/antfu/references/antfu-eslint-config.md +328 -0
- package/templates/skills/antfu/references/app-development.md +60 -0
- package/templates/skills/antfu/references/github-actions.md +68 -0
- package/templates/skills/antfu/references/gitignore.md +29 -0
- package/templates/skills/antfu/references/library-development.md +85 -0
- package/templates/skills/antfu/references/monorepo.md +126 -0
- package/templates/skills/antfu/references/vscode-extensions.md +34 -0
- package/templates/skills/nuxt/GENERATION.md +5 -0
- package/templates/skills/nuxt/SKILL.md +55 -0
- package/templates/skills/nuxt/references/advanced-hooks.md +289 -0
- package/templates/skills/nuxt/references/advanced-layers.md +299 -0
- package/templates/skills/nuxt/references/advanced-module-authoring.md +554 -0
- package/templates/skills/nuxt/references/best-practices-data-fetching.md +357 -0
- package/templates/skills/nuxt/references/best-practices-ssr.md +355 -0
- package/templates/skills/nuxt/references/core-cli.md +263 -0
- package/templates/skills/nuxt/references/core-config.md +162 -0
- package/templates/skills/nuxt/references/core-data-fetching.md +236 -0
- package/templates/skills/nuxt/references/core-deployment.md +224 -0
- package/templates/skills/nuxt/references/core-directory-structure.md +269 -0
- package/templates/skills/nuxt/references/core-modules.md +292 -0
- package/templates/skills/nuxt/references/core-routing.md +226 -0
- package/templates/skills/nuxt/references/features-components-autoimport.md +328 -0
- package/templates/skills/nuxt/references/features-components.md +264 -0
- package/templates/skills/nuxt/references/features-composables.md +276 -0
- package/templates/skills/nuxt/references/features-server.md +265 -0
- package/templates/skills/nuxt/references/features-state.md +194 -0
- package/templates/skills/nuxt/references/rendering-modes.md +237 -0
- package/templates/skills/pinia/GENERATION.md +5 -0
- package/templates/skills/pinia/SKILL.md +59 -0
- package/templates/skills/pinia/references/advanced-hmr.md +61 -0
- package/templates/skills/pinia/references/advanced-nuxt.md +119 -0
- package/templates/skills/pinia/references/advanced-ssr.md +121 -0
- package/templates/skills/pinia/references/best-practices-outside-component.md +115 -0
- package/templates/skills/pinia/references/best-practices-testing.md +212 -0
- package/templates/skills/pinia/references/core-stores.md +389 -0
- package/templates/skills/pinia/references/features-composables.md +114 -0
- package/templates/skills/pinia/references/features-composing-stores.md +134 -0
- package/templates/skills/pinia/references/features-plugins.md +203 -0
- package/templates/skills/pnpm/GENERATION.md +5 -0
- package/templates/skills/pnpm/SKILL.md +42 -0
- package/templates/skills/pnpm/references/best-practices-ci.md +285 -0
- package/templates/skills/pnpm/references/best-practices-migration.md +291 -0
- package/templates/skills/pnpm/references/best-practices-performance.md +284 -0
- package/templates/skills/pnpm/references/core-cli.md +229 -0
- package/templates/skills/pnpm/references/core-config.md +188 -0
- package/templates/skills/pnpm/references/core-store.md +179 -0
- package/templates/skills/pnpm/references/core-workspaces.md +205 -0
- package/templates/skills/pnpm/references/features-aliases.md +168 -0
- package/templates/skills/pnpm/references/features-catalogs.md +159 -0
- package/templates/skills/pnpm/references/features-hooks.md +233 -0
- package/templates/skills/pnpm/references/features-overrides.md +184 -0
- package/templates/skills/pnpm/references/features-patches.md +201 -0
- package/templates/skills/pnpm/references/features-peer-deps.md +250 -0
- package/templates/skills/slidev/LICENSE.md +21 -0
- package/templates/skills/slidev/README.md +61 -0
- package/templates/skills/slidev/SKILL.md +183 -0
- package/templates/skills/slidev/SYNC.md +5 -0
- package/templates/skills/slidev/references/animation-click-marker.md +37 -0
- package/templates/skills/slidev/references/animation-drawing.md +68 -0
- package/templates/skills/slidev/references/animation-rough-marker.md +53 -0
- package/templates/skills/slidev/references/api-slide-hooks.md +37 -0
- package/templates/skills/slidev/references/build-og-image.md +36 -0
- package/templates/skills/slidev/references/build-pdf.md +40 -0
- package/templates/skills/slidev/references/build-remote-assets.md +34 -0
- package/templates/skills/slidev/references/build-seo-meta.md +43 -0
- package/templates/skills/slidev/references/code-groups.md +64 -0
- package/templates/skills/slidev/references/code-import-snippet.md +55 -0
- package/templates/skills/slidev/references/code-line-highlighting.md +50 -0
- package/templates/skills/slidev/references/code-line-numbers.md +46 -0
- package/templates/skills/slidev/references/code-magic-move.md +57 -0
- package/templates/skills/slidev/references/code-max-height.md +37 -0
- package/templates/skills/slidev/references/code-twoslash.md +42 -0
- package/templates/skills/slidev/references/core-animations.md +196 -0
- package/templates/skills/slidev/references/core-cli.md +140 -0
- package/templates/skills/slidev/references/core-components.md +197 -0
- package/templates/skills/slidev/references/core-exporting.md +148 -0
- package/templates/skills/slidev/references/core-frontmatter.md +195 -0
- package/templates/skills/slidev/references/core-global-context.md +155 -0
- package/templates/skills/slidev/references/core-headmatter.md +188 -0
- package/templates/skills/slidev/references/core-hosting.md +152 -0
- package/templates/skills/slidev/references/core-layouts.md +286 -0
- package/templates/skills/slidev/references/core-syntax.md +155 -0
- package/templates/skills/slidev/references/diagram-latex.md +55 -0
- package/templates/skills/slidev/references/diagram-mermaid.md +44 -0
- package/templates/skills/slidev/references/diagram-plantuml.md +45 -0
- package/templates/skills/slidev/references/editor-monaco-run.md +44 -0
- package/templates/skills/slidev/references/editor-monaco-write.md +24 -0
- package/templates/skills/slidev/references/editor-monaco.md +50 -0
- package/templates/skills/slidev/references/editor-prettier.md +40 -0
- package/templates/skills/slidev/references/editor-side.md +23 -0
- package/templates/skills/slidev/references/editor-vscode.md +55 -0
- package/templates/skills/slidev/references/layout-canvas-size.md +25 -0
- package/templates/skills/slidev/references/layout-draggable.md +57 -0
- package/templates/skills/slidev/references/layout-global-layers.md +50 -0
- package/templates/skills/slidev/references/layout-slots.md +75 -0
- package/templates/skills/slidev/references/layout-transform.md +33 -0
- package/templates/skills/slidev/references/layout-zoom.md +39 -0
- package/templates/skills/slidev/references/presenter-notes-ruby.md +35 -0
- package/templates/skills/slidev/references/presenter-recording.md +30 -0
- package/templates/skills/slidev/references/presenter-remote.md +40 -0
- package/templates/skills/slidev/references/presenter-timer.md +34 -0
- package/templates/skills/slidev/references/style-direction.md +34 -0
- package/templates/skills/slidev/references/style-icons.md +46 -0
- package/templates/skills/slidev/references/style-scoped.md +50 -0
- package/templates/skills/slidev/references/syntax-block-frontmatter.md +39 -0
- package/templates/skills/slidev/references/syntax-frontmatter-merging.md +49 -0
- package/templates/skills/slidev/references/syntax-importing-slides.md +60 -0
- package/templates/skills/slidev/references/syntax-mdc.md +51 -0
- package/templates/skills/slidev/references/tool-eject-theme.md +27 -0
- package/templates/skills/tech-whitepaper/SKILL.md +102 -15
- package/templates/skills/tsdown/GENERATION.md +5 -0
- package/templates/skills/tsdown/SKILL.md +59 -0
- package/templates/skills/tsdown/references/advanced-hooks.md +87 -0
- package/templates/skills/tsdown/references/advanced-plugins.md +97 -0
- package/templates/skills/tsdown/references/advanced-programmatic.md +78 -0
- package/templates/skills/tsdown/references/advanced-rolldown-options.md +114 -0
- package/templates/skills/tsdown/references/core-cli.md +116 -0
- package/templates/skills/tsdown/references/core-config.md +86 -0
- package/templates/skills/tsdown/references/core-entry.md +74 -0
- package/templates/skills/tsdown/references/features-optimization.md +83 -0
- package/templates/skills/tsdown/references/features-shims.md +92 -0
- package/templates/skills/tsdown/references/features-unbundle.md +63 -0
- package/templates/skills/tsdown/references/features-watch.md +60 -0
- package/templates/skills/tsdown/references/options-dependencies.md +88 -0
- package/templates/skills/tsdown/references/options-dts.md +104 -0
- package/templates/skills/tsdown/references/options-output.md +124 -0
- package/templates/skills/tsdown/references/options-package-exports.md +114 -0
- package/templates/skills/tsdown/references/recipes-frameworks.md +109 -0
- package/templates/skills/tsdown/references/recipes-migration.md +84 -0
- package/templates/skills/turborepo/LICENSE.md +7 -0
- package/templates/skills/turborepo/SKILL.md +914 -0
- package/templates/skills/turborepo/SYNC.md +5 -0
- package/templates/skills/turborepo/command/turborepo.md +70 -0
- package/templates/skills/turborepo/references/best-practices/README.md +241 -0
- package/templates/skills/turborepo/references/best-practices/dependencies.md +246 -0
- package/templates/skills/turborepo/references/best-practices/packages.md +335 -0
- package/templates/skills/turborepo/references/best-practices/structure.md +269 -0
- package/templates/skills/turborepo/references/boundaries/README.md +126 -0
- package/templates/skills/turborepo/references/caching/README.md +107 -0
- package/templates/skills/turborepo/references/caching/gotchas.md +169 -0
- package/templates/skills/turborepo/references/caching/remote-cache.md +127 -0
- package/templates/skills/turborepo/references/ci/README.md +79 -0
- package/templates/skills/turborepo/references/ci/github-actions.md +162 -0
- package/templates/skills/turborepo/references/ci/patterns.md +145 -0
- package/templates/skills/turborepo/references/ci/vercel.md +103 -0
- package/templates/skills/turborepo/references/cli/README.md +100 -0
- package/templates/skills/turborepo/references/cli/commands.md +297 -0
- package/templates/skills/turborepo/references/configuration/README.md +211 -0
- package/templates/skills/turborepo/references/configuration/global-options.md +195 -0
- package/templates/skills/turborepo/references/configuration/gotchas.md +348 -0
- package/templates/skills/turborepo/references/configuration/tasks.md +285 -0
- package/templates/skills/turborepo/references/environment/README.md +96 -0
- package/templates/skills/turborepo/references/environment/gotchas.md +145 -0
- package/templates/skills/turborepo/references/environment/modes.md +101 -0
- package/templates/skills/turborepo/references/filtering/README.md +148 -0
- package/templates/skills/turborepo/references/filtering/patterns.md +152 -0
- package/templates/skills/turborepo/references/watch/README.md +99 -0
- package/templates/skills/unocss/GENERATION.md +5 -0
- package/templates/skills/unocss/SKILL.md +64 -0
- package/templates/skills/unocss/references/core-config.md +187 -0
- package/templates/skills/unocss/references/core-extracting.md +137 -0
- package/templates/skills/unocss/references/core-layers.md +104 -0
- package/templates/skills/unocss/references/core-rules.md +166 -0
- package/templates/skills/unocss/references/core-safelist.md +105 -0
- package/templates/skills/unocss/references/core-shortcuts.md +89 -0
- package/templates/skills/unocss/references/core-theme.md +172 -0
- package/templates/skills/unocss/references/core-variants.md +175 -0
- package/templates/skills/unocss/references/integrations-nuxt.md +199 -0
- package/templates/skills/unocss/references/integrations-vite.md +283 -0
- package/templates/skills/unocss/references/preset-attributify.md +142 -0
- package/templates/skills/unocss/references/preset-icons.md +184 -0
- package/templates/skills/unocss/references/preset-mini.md +158 -0
- package/templates/skills/unocss/references/preset-rem-to-px.md +97 -0
- package/templates/skills/unocss/references/preset-tagify.md +134 -0
- package/templates/skills/unocss/references/preset-typography.md +95 -0
- package/templates/skills/unocss/references/preset-web-fonts.md +91 -0
- package/templates/skills/unocss/references/preset-wind3.md +194 -0
- package/templates/skills/unocss/references/preset-wind4.md +247 -0
- package/templates/skills/unocss/references/transformer-attributify-jsx.md +156 -0
- package/templates/skills/unocss/references/transformer-compile-class.md +128 -0
- package/templates/skills/unocss/references/transformer-directives.md +157 -0
- package/templates/skills/unocss/references/transformer-variant-group.md +97 -0
- package/templates/skills/vite/GENERATION.md +5 -0
- package/templates/skills/vite/SKILL.md +50 -0
- package/templates/skills/vite/references/advanced-api.md +218 -0
- package/templates/skills/vite/references/advanced-backend.md +164 -0
- package/templates/skills/vite/references/advanced-performance.md +168 -0
- package/templates/skills/vite/references/advanced-plugin-api.md +258 -0
- package/templates/skills/vite/references/build-library.md +172 -0
- package/templates/skills/vite/references/build-production.md +220 -0
- package/templates/skills/vite/references/build-ssr.md +194 -0
- package/templates/skills/vite/references/core-cli.md +137 -0
- package/templates/skills/vite/references/core-config.md +176 -0
- package/templates/skills/vite/references/core-features.md +170 -0
- package/templates/skills/vite/references/core-plugins.md +154 -0
- package/templates/skills/vite/references/features-assets.md +138 -0
- package/templates/skills/vite/references/features-css.md +215 -0
- package/templates/skills/vite/references/features-dep-bundling.md +148 -0
- package/templates/skills/vite/references/features-env.md +161 -0
- package/templates/skills/vite/references/features-glob-import.md +161 -0
- package/templates/skills/vite/references/features-hmr.md +200 -0
- package/templates/skills/vite/references/features-workers.md +115 -0
- package/templates/skills/vitepress/GENERATION.md +5 -0
- package/templates/skills/vitepress/SKILL.md +65 -0
- package/templates/skills/vitepress/references/advanced-i18n.md +299 -0
- package/templates/skills/vitepress/references/advanced-ssr.md +228 -0
- package/templates/skills/vitepress/references/core-cli.md +119 -0
- package/templates/skills/vitepress/references/core-config.md +189 -0
- package/templates/skills/vitepress/references/core-markdown.md +277 -0
- package/templates/skills/vitepress/references/core-routing.md +169 -0
- package/templates/skills/vitepress/references/features-code-blocks.md +243 -0
- package/templates/skills/vitepress/references/features-data-loading.md +220 -0
- package/templates/skills/vitepress/references/features-dynamic-routes.md +235 -0
- package/templates/skills/vitepress/references/features-vue.md +224 -0
- package/templates/skills/vitepress/references/recipes-deploy.md +240 -0
- package/templates/skills/vitepress/references/theme-config.md +315 -0
- package/templates/skills/vitepress/references/theme-custom.md +269 -0
- package/templates/skills/vitepress/references/theme-customization.md +290 -0
- package/templates/skills/vitest/GENERATION.md +5 -0
- package/templates/skills/vitest/SKILL.md +52 -0
- package/templates/skills/vitest/references/advanced-environments.md +264 -0
- package/templates/skills/vitest/references/advanced-projects.md +300 -0
- package/templates/skills/vitest/references/advanced-type-testing.md +237 -0
- package/templates/skills/vitest/references/advanced-vi.md +249 -0
- package/templates/skills/vitest/references/core-cli.md +166 -0
- package/templates/skills/vitest/references/core-config.md +174 -0
- package/templates/skills/vitest/references/core-describe.md +193 -0
- package/templates/skills/vitest/references/core-expect.md +219 -0
- package/templates/skills/vitest/references/core-hooks.md +244 -0
- package/templates/skills/vitest/references/core-test-api.md +233 -0
- package/templates/skills/vitest/references/features-concurrency.md +250 -0
- package/templates/skills/vitest/references/features-context.md +238 -0
- package/templates/skills/vitest/references/features-coverage.md +207 -0
- package/templates/skills/vitest/references/features-filtering.md +211 -0
- package/templates/skills/vitest/references/features-mocking.md +265 -0
- package/templates/skills/vitest/references/features-snapshots.md +207 -0
- package/templates/skills/vue/GENERATION.md +5 -0
- package/templates/skills/vue/SKILL.md +63 -0
- package/templates/skills/vue/references/advanced-async-suspense.md +246 -0
- package/templates/skills/vue/references/advanced-provide-inject.md +174 -0
- package/templates/skills/vue/references/components-emits.md +139 -0
- package/templates/skills/vue/references/components-lifecycle.md +192 -0
- package/templates/skills/vue/references/components-props.md +211 -0
- package/templates/skills/vue/references/components-slots.md +201 -0
- package/templates/skills/vue/references/components-v-model.md +183 -0
- package/templates/skills/vue/references/core-reactivity.md +289 -0
- package/templates/skills/vue/references/features-composables.md +262 -0
- package/templates/skills/vue/references/features-directives.md +224 -0
- package/templates/skills/vue/references/features-script-setup.md +247 -0
- package/templates/skills/vue/references/features-template-refs.md +212 -0
- package/templates/skills/vue/references/features-typescript.md +274 -0
- package/templates/skills/vue-best-practices/LICENSE.md +21 -0
- package/templates/skills/vue-best-practices/SKILL.md +38 -0
- package/templates/skills/vue-best-practices/SYNC.md +5 -0
- package/templates/skills/vue-best-practices/rules/codeactions-save-performance.md +79 -0
- package/templates/skills/vue-best-practices/rules/data-attributes-config.md +74 -0
- package/templates/skills/vue-best-practices/rules/deep-watch-numeric.md +97 -0
- package/templates/skills/vue-best-practices/rules/define-model-update-event.md +79 -0
- package/templates/skills/vue-best-practices/rules/duplicate-plugin-detection.md +102 -0
- package/templates/skills/vue-best-practices/rules/extract-component-props.md +57 -0
- package/templates/skills/vue-best-practices/rules/fallthrough-attributes.md +63 -0
- package/templates/skills/vue-best-practices/rules/hmr-vue-ssr.md +124 -0
- package/templates/skills/vue-best-practices/rules/module-resolution-bundler.md +81 -0
- package/templates/skills/vue-best-practices/rules/pinia-store-mocking.md +159 -0
- package/templates/skills/vue-best-practices/rules/script-setup-jsdoc.md +85 -0
- package/templates/skills/vue-best-practices/rules/strict-css-modules.md +68 -0
- package/templates/skills/vue-best-practices/rules/volar-3-breaking-changes.md +65 -0
- package/templates/skills/vue-best-practices/rules/vue-directive-comments.md +73 -0
- package/templates/skills/vue-best-practices/rules/vue-router-typed-params.md +81 -0
- package/templates/skills/vue-best-practices/rules/vue-tsc-strict-templates.md +69 -0
- package/templates/skills/vue-best-practices/rules/with-defaults-union-types.md +102 -0
- package/templates/skills/vueuse-functions/LICENSE.md +21 -0
- package/templates/skills/vueuse-functions/SKILL.md +418 -0
- package/templates/skills/vueuse-functions/SYNC.md +5 -0
- package/templates/skills/vueuse-functions/references/computedAsync.md +159 -0
- package/templates/skills/vueuse-functions/references/computedEager.md +62 -0
- package/templates/skills/vueuse-functions/references/computedInject.md +86 -0
- package/templates/skills/vueuse-functions/references/computedWithControl.md +100 -0
- package/templates/skills/vueuse-functions/references/createEventHook.md +86 -0
- package/templates/skills/vueuse-functions/references/createGenericProjection.md +25 -0
- package/templates/skills/vueuse-functions/references/createGlobalState.md +95 -0
- package/templates/skills/vueuse-functions/references/createInjectionState.md +215 -0
- package/templates/skills/vueuse-functions/references/createProjection.md +31 -0
- package/templates/skills/vueuse-functions/references/createRef.md +54 -0
- package/templates/skills/vueuse-functions/references/createReusableTemplate.md +357 -0
- package/templates/skills/vueuse-functions/references/createSharedComposable.md +42 -0
- package/templates/skills/vueuse-functions/references/createTemplatePromise.md +259 -0
- package/templates/skills/vueuse-functions/references/createUnrefFn.md +51 -0
- package/templates/skills/vueuse-functions/references/extendRef.md +76 -0
- package/templates/skills/vueuse-functions/references/from.md +48 -0
- package/templates/skills/vueuse-functions/references/get.md +30 -0
- package/templates/skills/vueuse-functions/references/injectLocal.md +35 -0
- package/templates/skills/vueuse-functions/references/isDefined.md +31 -0
- package/templates/skills/vueuse-functions/references/logicAnd.md +40 -0
- package/templates/skills/vueuse-functions/references/logicNot.md +36 -0
- package/templates/skills/vueuse-functions/references/logicOr.md +40 -0
- package/templates/skills/vueuse-functions/references/makeDestructurable.md +41 -0
- package/templates/skills/vueuse-functions/references/onClickOutside.md +187 -0
- package/templates/skills/vueuse-functions/references/onElementRemoval.md +64 -0
- package/templates/skills/vueuse-functions/references/onKeyStroke.md +176 -0
- package/templates/skills/vueuse-functions/references/onLongPress.md +170 -0
- package/templates/skills/vueuse-functions/references/onStartTyping.md +43 -0
- package/templates/skills/vueuse-functions/references/provideLocal.md +37 -0
- package/templates/skills/vueuse-functions/references/reactify.md +144 -0
- package/templates/skills/vueuse-functions/references/reactifyObject.md +61 -0
- package/templates/skills/vueuse-functions/references/reactiveComputed.md +34 -0
- package/templates/skills/vueuse-functions/references/reactiveOmit.md +86 -0
- package/templates/skills/vueuse-functions/references/reactivePick.md +106 -0
- package/templates/skills/vueuse-functions/references/refAutoReset.md +44 -0
- package/templates/skills/vueuse-functions/references/refDebounced.md +81 -0
- package/templates/skills/vueuse-functions/references/refDefault.md +36 -0
- package/templates/skills/vueuse-functions/references/refManualReset.md +44 -0
- package/templates/skills/vueuse-functions/references/refThrottled.md +99 -0
- package/templates/skills/vueuse-functions/references/refWithControl.md +146 -0
- package/templates/skills/vueuse-functions/references/set.md +30 -0
- package/templates/skills/vueuse-functions/references/syncRef.md +195 -0
- package/templates/skills/vueuse-functions/references/syncRefs.md +128 -0
- package/templates/skills/vueuse-functions/references/templateRef.md +86 -0
- package/templates/skills/vueuse-functions/references/toObserver.md +38 -0
- package/templates/skills/vueuse-functions/references/toReactive.md +41 -0
- package/templates/skills/vueuse-functions/references/toRef.md +75 -0
- package/templates/skills/vueuse-functions/references/toRefs.md +81 -0
- package/templates/skills/vueuse-functions/references/tryOnBeforeMount.md +34 -0
- package/templates/skills/vueuse-functions/references/tryOnBeforeUnmount.md +32 -0
- package/templates/skills/vueuse-functions/references/tryOnMounted.md +34 -0
- package/templates/skills/vueuse-functions/references/tryOnScopeDispose.md +31 -0
- package/templates/skills/vueuse-functions/references/tryOnUnmounted.md +32 -0
- package/templates/skills/vueuse-functions/references/unrefElement.md +54 -0
- package/templates/skills/vueuse-functions/references/until.md +165 -0
- package/templates/skills/vueuse-functions/references/useAbs.md +31 -0
- package/templates/skills/vueuse-functions/references/useActiveElement.md +65 -0
- package/templates/skills/vueuse-functions/references/useAnimate.md +140 -0
- package/templates/skills/vueuse-functions/references/useArrayDifference.md +84 -0
- package/templates/skills/vueuse-functions/references/useArrayEvery.md +59 -0
- package/templates/skills/vueuse-functions/references/useArrayFilter.md +63 -0
- package/templates/skills/vueuse-functions/references/useArrayFind.md +50 -0
- package/templates/skills/vueuse-functions/references/useArrayFindIndex.md +59 -0
- package/templates/skills/vueuse-functions/references/useArrayFindLast.md +52 -0
- package/templates/skills/vueuse-functions/references/useArrayIncludes.md +63 -0
- package/templates/skills/vueuse-functions/references/useArrayJoin.md +74 -0
- package/templates/skills/vueuse-functions/references/useArrayMap.md +59 -0
- package/templates/skills/vueuse-functions/references/useArrayReduce.md +81 -0
- package/templates/skills/vueuse-functions/references/useArraySome.md +59 -0
- package/templates/skills/vueuse-functions/references/useArrayUnique.md +76 -0
- package/templates/skills/vueuse-functions/references/useAsyncQueue.md +87 -0
- package/templates/skills/vueuse-functions/references/useAsyncState.md +140 -0
- package/templates/skills/vueuse-functions/references/useAsyncValidator.md +70 -0
- package/templates/skills/vueuse-functions/references/useAuth.md +114 -0
- package/templates/skills/vueuse-functions/references/useAverage.md +36 -0
- package/templates/skills/vueuse-functions/references/useAxios.md +292 -0
- package/templates/skills/vueuse-functions/references/useBase64.md +88 -0
- package/templates/skills/vueuse-functions/references/useBattery.md +67 -0
- package/templates/skills/vueuse-functions/references/useBluetooth.md +161 -0
- package/templates/skills/vueuse-functions/references/useBreakpoints.md +128 -0
- package/templates/skills/vueuse-functions/references/useBroadcastChannel.md +74 -0
- package/templates/skills/vueuse-functions/references/useBrowserLocation.md +83 -0
- package/templates/skills/vueuse-functions/references/useCached.md +53 -0
- package/templates/skills/vueuse-functions/references/useCeil.md +31 -0
- package/templates/skills/vueuse-functions/references/useChangeCase.md +79 -0
- package/templates/skills/vueuse-functions/references/useClamp.md +51 -0
- package/templates/skills/vueuse-functions/references/useClipboard.md +99 -0
- package/templates/skills/vueuse-functions/references/useClipboardItems.md +93 -0
- package/templates/skills/vueuse-functions/references/useCloned.md +91 -0
- package/templates/skills/vueuse-functions/references/useColorMode.md +171 -0
- package/templates/skills/vueuse-functions/references/useConfirmDialog.md +159 -0
- package/templates/skills/vueuse-functions/references/useCookies.md +162 -0
- package/templates/skills/vueuse-functions/references/useCountdown.md +102 -0
- package/templates/skills/vueuse-functions/references/useCounter.md +86 -0
- package/templates/skills/vueuse-functions/references/useCssVar.md +50 -0
- package/templates/skills/vueuse-functions/references/useCurrentElement.md +61 -0
- package/templates/skills/vueuse-functions/references/useCycleList.md +75 -0
- package/templates/skills/vueuse-functions/references/useDark.md +142 -0
- package/templates/skills/vueuse-functions/references/useDateFormat.md +145 -0
- package/templates/skills/vueuse-functions/references/useDebounceFn.md +100 -0
- package/templates/skills/vueuse-functions/references/useDebouncedRefHistory.md +40 -0
- package/templates/skills/vueuse-functions/references/useDeviceMotion.md +87 -0
- package/templates/skills/vueuse-functions/references/useDeviceOrientation.md +62 -0
- package/templates/skills/vueuse-functions/references/useDevicePixelRatio.md +44 -0
- package/templates/skills/vueuse-functions/references/useDevicesList.md +90 -0
- package/templates/skills/vueuse-functions/references/useDisplayMedia.md +71 -0
- package/templates/skills/vueuse-functions/references/useDocumentVisibility.md +45 -0
- package/templates/skills/vueuse-functions/references/useDraggable.md +210 -0
- package/templates/skills/vueuse-functions/references/useDrauu.md +65 -0
- package/templates/skills/vueuse-functions/references/useDropZone.md +83 -0
- package/templates/skills/vueuse-functions/references/useElementBounding.md +131 -0
- package/templates/skills/vueuse-functions/references/useElementByPoint.md +45 -0
- package/templates/skills/vueuse-functions/references/useElementHover.md +79 -0
- package/templates/skills/vueuse-functions/references/useElementSize.md +78 -0
- package/templates/skills/vueuse-functions/references/useElementVisibility.md +126 -0
- package/templates/skills/vueuse-functions/references/useEventBus.md +101 -0
- package/templates/skills/vueuse-functions/references/useEventListener.md +184 -0
- package/templates/skills/vueuse-functions/references/useEventSource.md +204 -0
- package/templates/skills/vueuse-functions/references/useExtractedObservable.md +185 -0
- package/templates/skills/vueuse-functions/references/useEyeDropper.md +71 -0
- package/templates/skills/vueuse-functions/references/useFavicon.md +67 -0
- package/templates/skills/vueuse-functions/references/useFetch.md +546 -0
- package/templates/skills/vueuse-functions/references/useFileDialog.md +91 -0
- package/templates/skills/vueuse-functions/references/useFileSystemAccess.md +162 -0
- package/templates/skills/vueuse-functions/references/useFirestore.md +104 -0
- package/templates/skills/vueuse-functions/references/useFloor.md +31 -0
- package/templates/skills/vueuse-functions/references/useFocus.md +99 -0
- package/templates/skills/vueuse-functions/references/useFocusTrap.md +245 -0
- package/templates/skills/vueuse-functions/references/useFocusWithin.md +57 -0
- package/templates/skills/vueuse-functions/references/useFps.md +28 -0
- package/templates/skills/vueuse-functions/references/useFullscreen.md +75 -0
- package/templates/skills/vueuse-functions/references/useFuse.md +107 -0
- package/templates/skills/vueuse-functions/references/useGamepad.md +223 -0
- package/templates/skills/vueuse-functions/references/useGeolocation.md +86 -0
- package/templates/skills/vueuse-functions/references/useIDBKeyval.md +93 -0
- package/templates/skills/vueuse-functions/references/useIdle.md +89 -0
- package/templates/skills/vueuse-functions/references/useImage.md +86 -0
- package/templates/skills/vueuse-functions/references/useInfiniteScroll.md +157 -0
- package/templates/skills/vueuse-functions/references/useIntersectionObserver.md +118 -0
- package/templates/skills/vueuse-functions/references/useInterval.md +69 -0
- package/templates/skills/vueuse-functions/references/useIntervalFn.md +50 -0
- package/templates/skills/vueuse-functions/references/useIpcRenderer.md +118 -0
- package/templates/skills/vueuse-functions/references/useIpcRendererInvoke.md +58 -0
- package/templates/skills/vueuse-functions/references/useIpcRendererOn.md +52 -0
- package/templates/skills/vueuse-functions/references/useJwt.md +57 -0
- package/templates/skills/vueuse-functions/references/useKeyModifier.md +87 -0
- package/templates/skills/vueuse-functions/references/useLastChanged.md +63 -0
- package/templates/skills/vueuse-functions/references/useLocalStorage.md +41 -0
- package/templates/skills/vueuse-functions/references/useMagicKeys.md +217 -0
- package/templates/skills/vueuse-functions/references/useManualRefHistory.md +204 -0
- package/templates/skills/vueuse-functions/references/useMath.md +47 -0
- package/templates/skills/vueuse-functions/references/useMax.md +36 -0
- package/templates/skills/vueuse-functions/references/useMediaControls.md +571 -0
- package/templates/skills/vueuse-functions/references/useMediaQuery.md +53 -0
- package/templates/skills/vueuse-functions/references/useMemoize.md +175 -0
- package/templates/skills/vueuse-functions/references/useMemory.md +56 -0
- package/templates/skills/vueuse-functions/references/useMin.md +36 -0
- package/templates/skills/vueuse-functions/references/useMounted.md +38 -0
- package/templates/skills/vueuse-functions/references/useMouse.md +114 -0
- package/templates/skills/vueuse-functions/references/useMouseInElement.md +123 -0
- package/templates/skills/vueuse-functions/references/useMousePressed.md +112 -0
- package/templates/skills/vueuse-functions/references/useMutationObserver.md +62 -0
- package/templates/skills/vueuse-functions/references/useNProgress.md +78 -0
- package/templates/skills/vueuse-functions/references/useNavigatorLanguage.md +57 -0
- package/templates/skills/vueuse-functions/references/useNetwork.md +106 -0
- package/templates/skills/vueuse-functions/references/useNow.md +75 -0
- package/templates/skills/vueuse-functions/references/useObjectUrl.md +55 -0
- package/templates/skills/vueuse-functions/references/useObservable.md +67 -0
- package/templates/skills/vueuse-functions/references/useOffsetPagination.md +199 -0
- package/templates/skills/vueuse-functions/references/useOnline.md +41 -0
- package/templates/skills/vueuse-functions/references/usePageLeave.md +42 -0
- package/templates/skills/vueuse-functions/references/useParallax.md +58 -0
- package/templates/skills/vueuse-functions/references/useParentElement.md +54 -0
- package/templates/skills/vueuse-functions/references/usePerformanceObserver.md +48 -0
- package/templates/skills/vueuse-functions/references/usePermission.md +78 -0
- package/templates/skills/vueuse-functions/references/usePointer.md +89 -0
- package/templates/skills/vueuse-functions/references/usePointerLock.md +60 -0
- package/templates/skills/vueuse-functions/references/usePointerSwipe.md +80 -0
- package/templates/skills/vueuse-functions/references/usePrecision.md +49 -0
- package/templates/skills/vueuse-functions/references/usePreferredColorScheme.md +42 -0
- package/templates/skills/vueuse-functions/references/usePreferredContrast.md +42 -0
- package/templates/skills/vueuse-functions/references/usePreferredDark.md +41 -0
- package/templates/skills/vueuse-functions/references/usePreferredLanguages.md +41 -0
- package/templates/skills/vueuse-functions/references/usePreferredReducedMotion.md +42 -0
- package/templates/skills/vueuse-functions/references/usePreferredReducedTransparency.md +42 -0
- package/templates/skills/vueuse-functions/references/usePrevious.md +40 -0
- package/templates/skills/vueuse-functions/references/useProjection.md +38 -0
- package/templates/skills/vueuse-functions/references/useQRCode.md +53 -0
- package/templates/skills/vueuse-functions/references/useRTDB.md +70 -0
- package/templates/skills/vueuse-functions/references/useRafFn.md +68 -0
- package/templates/skills/vueuse-functions/references/useRefHistory.md +292 -0
- package/templates/skills/vueuse-functions/references/useResizeObserver.md +110 -0
- package/templates/skills/vueuse-functions/references/useRound.md +31 -0
- package/templates/skills/vueuse-functions/references/useRouteHash.md +27 -0
- package/templates/skills/vueuse-functions/references/useRouteParams.md +38 -0
- package/templates/skills/vueuse-functions/references/useRouteQuery.md +38 -0
- package/templates/skills/vueuse-functions/references/useSSRWidth.md +47 -0
- package/templates/skills/vueuse-functions/references/useScreenOrientation.md +96 -0
- package/templates/skills/vueuse-functions/references/useScreenSafeArea.md +60 -0
- package/templates/skills/vueuse-functions/references/useScriptTag.md +116 -0
- package/templates/skills/vueuse-functions/references/useScroll.md +238 -0
- package/templates/skills/vueuse-functions/references/useScrollLock.md +66 -0
- package/templates/skills/vueuse-functions/references/useSessionStorage.md +41 -0
- package/templates/skills/vueuse-functions/references/useShare.md +68 -0
- package/templates/skills/vueuse-functions/references/useSortable.md +177 -0
- package/templates/skills/vueuse-functions/references/useSorted.md +90 -0
- package/templates/skills/vueuse-functions/references/useSpeechRecognition.md +94 -0
- package/templates/skills/vueuse-functions/references/useSpeechSynthesis.md +105 -0
- package/templates/skills/vueuse-functions/references/useStepper.md +137 -0
- package/templates/skills/vueuse-functions/references/useStorage.md +219 -0
- package/templates/skills/vueuse-functions/references/useStorageAsync.md +134 -0
- package/templates/skills/vueuse-functions/references/useStyleTag.md +131 -0
- package/templates/skills/vueuse-functions/references/useSubject.md +52 -0
- package/templates/skills/vueuse-functions/references/useSubscription.md +33 -0
- package/templates/skills/vueuse-functions/references/useSum.md +36 -0
- package/templates/skills/vueuse-functions/references/useSupported.md +29 -0
- package/templates/skills/vueuse-functions/references/useSwipe.md +75 -0
- package/templates/skills/vueuse-functions/references/useTemplateRefsList.md +37 -0
- package/templates/skills/vueuse-functions/references/useTextDirection.md +75 -0
- package/templates/skills/vueuse-functions/references/useTextSelection.md +40 -0
- package/templates/skills/vueuse-functions/references/useTextareaAutosize.md +97 -0
- package/templates/skills/vueuse-functions/references/useThrottleFn.md +57 -0
- package/templates/skills/vueuse-functions/references/useThrottledRefHistory.md +47 -0
- package/templates/skills/vueuse-functions/references/useTimeAgo.md +152 -0
- package/templates/skills/vueuse-functions/references/useTimeAgoIntl.md +116 -0
- package/templates/skills/vueuse-functions/references/useTimeout.md +75 -0
- package/templates/skills/vueuse-functions/references/useTimeoutFn.md +51 -0
- package/templates/skills/vueuse-functions/references/useTimeoutPoll.md +47 -0
- package/templates/skills/vueuse-functions/references/useTimestamp.md +85 -0
- package/templates/skills/vueuse-functions/references/useTitle.md +113 -0
- package/templates/skills/vueuse-functions/references/useToNumber.md +54 -0
- package/templates/skills/vueuse-functions/references/useToString.md +34 -0
- package/templates/skills/vueuse-functions/references/useToggle.md +56 -0
- package/templates/skills/vueuse-functions/references/useTransition.md +265 -0
- package/templates/skills/vueuse-functions/references/useTrunc.md +33 -0
- package/templates/skills/vueuse-functions/references/useUrlSearchParams.md +121 -0
- package/templates/skills/vueuse-functions/references/useUserMedia.md +1138 -0
- package/templates/skills/vueuse-functions/references/useVModel.md +116 -0
- package/templates/skills/vueuse-functions/references/useVModels.md +67 -0
- package/templates/skills/vueuse-functions/references/useVibrate.md +83 -0
- package/templates/skills/vueuse-functions/references/useVirtualList.md +184 -0
- package/templates/skills/vueuse-functions/references/useWakeLock.md +50 -0
- package/templates/skills/vueuse-functions/references/useWebNotification.md +177 -0
- package/templates/skills/vueuse-functions/references/useWebSocket.md +268 -0
- package/templates/skills/vueuse-functions/references/useWebWorker.md +60 -0
- package/templates/skills/vueuse-functions/references/useWebWorkerFn.md +102 -0
- package/templates/skills/vueuse-functions/references/useWindowFocus.md +46 -0
- package/templates/skills/vueuse-functions/references/useWindowScroll.md +62 -0
- package/templates/skills/vueuse-functions/references/useWindowSize.md +76 -0
- package/templates/skills/vueuse-functions/references/useZoomFactor.md +53 -0
- package/templates/skills/vueuse-functions/references/useZoomLevel.md +53 -0
- package/templates/skills/vueuse-functions/references/watchArray.md +53 -0
- package/templates/skills/vueuse-functions/references/watchAtMost.md +54 -0
- package/templates/skills/vueuse-functions/references/watchDebounced.md +72 -0
- package/templates/skills/vueuse-functions/references/watchDeep.md +54 -0
- package/templates/skills/vueuse-functions/references/watchExtractedObservable.md +167 -0
- package/templates/skills/vueuse-functions/references/watchIgnorable.md +120 -0
- package/templates/skills/vueuse-functions/references/watchImmediate.md +44 -0
- package/templates/skills/vueuse-functions/references/watchOnce.md +41 -0
- package/templates/skills/vueuse-functions/references/watchPausable.md +86 -0
- package/templates/skills/vueuse-functions/references/watchThrottled.md +73 -0
- package/templates/skills/vueuse-functions/references/watchTriggerable.md +97 -0
- package/templates/skills/vueuse-functions/references/watchWithFilter.md +55 -0
- package/templates/skills/vueuse-functions/references/whenever.md +100 -0
- package/templates/skills/web-design-guidelines/SKILL.md +39 -0
- package/templates/skills/web-design-guidelines/SYNC.md +5 -0
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
# CI Optimization Patterns
|
|
2
|
+
|
|
3
|
+
Strategies for efficient CI/CD with Turborepo.
|
|
4
|
+
|
|
5
|
+
## PR vs Main Branch Builds
|
|
6
|
+
|
|
7
|
+
### PR Builds: Only Affected
|
|
8
|
+
|
|
9
|
+
Test only what changed in the PR:
|
|
10
|
+
|
|
11
|
+
```yaml
|
|
12
|
+
- name: Test (PR)
|
|
13
|
+
if: github.event_name == 'pull_request'
|
|
14
|
+
run: turbo run build test --affected
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### Main Branch: Full Build
|
|
18
|
+
|
|
19
|
+
Ensure complete validation on merge:
|
|
20
|
+
|
|
21
|
+
```yaml
|
|
22
|
+
- name: Test (Main)
|
|
23
|
+
if: github.ref == 'refs/heads/main'
|
|
24
|
+
run: turbo run build test
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Custom Git Ranges with --filter
|
|
28
|
+
|
|
29
|
+
For advanced scenarios, use `--filter` with git refs:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
# Changes since specific commit
|
|
33
|
+
turbo run test --filter="...[abc123]"
|
|
34
|
+
|
|
35
|
+
# Changes between refs
|
|
36
|
+
turbo run test --filter="...[main...HEAD]"
|
|
37
|
+
|
|
38
|
+
# Changes in last 3 commits
|
|
39
|
+
turbo run test --filter="...[HEAD~3]"
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Caching Strategies
|
|
43
|
+
|
|
44
|
+
### Remote Cache (Recommended)
|
|
45
|
+
|
|
46
|
+
Best performance - shared across all CI runs and developers:
|
|
47
|
+
|
|
48
|
+
```yaml
|
|
49
|
+
env:
|
|
50
|
+
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
|
|
51
|
+
TURBO_TEAM: ${{ vars.TURBO_TEAM }}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### actions/cache Fallback
|
|
55
|
+
|
|
56
|
+
When remote cache isn't available:
|
|
57
|
+
|
|
58
|
+
```yaml
|
|
59
|
+
- uses: actions/cache@v4
|
|
60
|
+
with:
|
|
61
|
+
path: .turbo
|
|
62
|
+
key: turbo-${{ runner.os }}-${{ github.sha }}
|
|
63
|
+
restore-keys: |
|
|
64
|
+
turbo-${{ runner.os }}-${{ github.ref }}-
|
|
65
|
+
turbo-${{ runner.os }}-
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Limitations:
|
|
69
|
+
|
|
70
|
+
- Cache is branch-scoped
|
|
71
|
+
- PRs restore from base branch cache
|
|
72
|
+
- Less efficient than remote cache
|
|
73
|
+
|
|
74
|
+
## Matrix Builds
|
|
75
|
+
|
|
76
|
+
Test across Node versions:
|
|
77
|
+
|
|
78
|
+
```yaml
|
|
79
|
+
strategy:
|
|
80
|
+
matrix:
|
|
81
|
+
node: [18, 20, 22]
|
|
82
|
+
|
|
83
|
+
steps:
|
|
84
|
+
- uses: actions/setup-node@v4
|
|
85
|
+
with:
|
|
86
|
+
node-version: ${{ matrix.node }}
|
|
87
|
+
|
|
88
|
+
- run: turbo run test
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Parallelizing Across Jobs
|
|
92
|
+
|
|
93
|
+
Split tasks into separate jobs:
|
|
94
|
+
|
|
95
|
+
```yaml
|
|
96
|
+
jobs:
|
|
97
|
+
lint:
|
|
98
|
+
runs-on: ubuntu-latest
|
|
99
|
+
steps:
|
|
100
|
+
- run: turbo run lint --affected
|
|
101
|
+
|
|
102
|
+
test:
|
|
103
|
+
runs-on: ubuntu-latest
|
|
104
|
+
steps:
|
|
105
|
+
- run: turbo run test --affected
|
|
106
|
+
|
|
107
|
+
build:
|
|
108
|
+
runs-on: ubuntu-latest
|
|
109
|
+
needs: [lint, test]
|
|
110
|
+
steps:
|
|
111
|
+
- run: turbo run build
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### Cache Considerations
|
|
115
|
+
|
|
116
|
+
When parallelizing:
|
|
117
|
+
|
|
118
|
+
- Each job has separate cache writes
|
|
119
|
+
- Remote cache handles this automatically
|
|
120
|
+
- With actions/cache, use unique keys per job to avoid conflicts
|
|
121
|
+
|
|
122
|
+
```yaml
|
|
123
|
+
- uses: actions/cache@v4
|
|
124
|
+
with:
|
|
125
|
+
path: .turbo
|
|
126
|
+
key: turbo-${{ runner.os }}-${{ github.job }}-${{ github.sha }}
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## Conditional Tasks
|
|
130
|
+
|
|
131
|
+
Skip expensive tasks on draft PRs:
|
|
132
|
+
|
|
133
|
+
```yaml
|
|
134
|
+
- name: E2E Tests
|
|
135
|
+
if: github.event.pull_request.draft == false
|
|
136
|
+
run: turbo run test:e2e --affected
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
Or require label for full test:
|
|
140
|
+
|
|
141
|
+
```yaml
|
|
142
|
+
- name: Full Test Suite
|
|
143
|
+
if: contains(github.event.pull_request.labels.*.name, 'full-test')
|
|
144
|
+
run: turbo run test
|
|
145
|
+
```
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# Vercel Deployment
|
|
2
|
+
|
|
3
|
+
Turborepo integrates seamlessly with Vercel for monorepo deployments.
|
|
4
|
+
|
|
5
|
+
## Remote Cache
|
|
6
|
+
|
|
7
|
+
Remote caching is **automatically enabled** when deploying to Vercel. No configuration needed - Vercel detects Turborepo and enables caching.
|
|
8
|
+
|
|
9
|
+
This means:
|
|
10
|
+
|
|
11
|
+
- No `TURBO_TOKEN` or `TURBO_TEAM` setup required on Vercel
|
|
12
|
+
- Cache is shared across all deployments
|
|
13
|
+
- Preview and production builds benefit from cache
|
|
14
|
+
|
|
15
|
+
## turbo-ignore
|
|
16
|
+
|
|
17
|
+
Skip unnecessary builds when a package hasn't changed using `turbo-ignore`.
|
|
18
|
+
|
|
19
|
+
### Installation
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npx turbo-ignore
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Or install globally in your project:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
pnpm add -D turbo-ignore
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### Setup in Vercel
|
|
32
|
+
|
|
33
|
+
1. Go to your project in Vercel Dashboard
|
|
34
|
+
2. Navigate to Settings > Git > Ignored Build Step
|
|
35
|
+
3. Select "Custom" and enter:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
npx turbo-ignore
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### How It Works
|
|
42
|
+
|
|
43
|
+
`turbo-ignore` checks if the current package (or its dependencies) changed since the last successful deployment:
|
|
44
|
+
|
|
45
|
+
1. Compares current commit to last deployed commit
|
|
46
|
+
2. Uses Turborepo's dependency graph
|
|
47
|
+
3. Returns exit code 0 (skip) if no changes
|
|
48
|
+
4. Returns exit code 1 (build) if changes detected
|
|
49
|
+
|
|
50
|
+
### Options
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
# Check specific package
|
|
54
|
+
npx turbo-ignore web
|
|
55
|
+
|
|
56
|
+
# Use specific comparison ref
|
|
57
|
+
npx turbo-ignore --fallback=HEAD~1
|
|
58
|
+
|
|
59
|
+
# Verbose output
|
|
60
|
+
npx turbo-ignore --verbose
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Environment Variables
|
|
64
|
+
|
|
65
|
+
Set environment variables in Vercel Dashboard:
|
|
66
|
+
|
|
67
|
+
1. Go to Project Settings > Environment Variables
|
|
68
|
+
2. Add variables for each environment (Production, Preview, Development)
|
|
69
|
+
|
|
70
|
+
Common variables:
|
|
71
|
+
|
|
72
|
+
- `DATABASE_URL`
|
|
73
|
+
- `API_KEY`
|
|
74
|
+
- Package-specific config
|
|
75
|
+
|
|
76
|
+
## Monorepo Root Directory
|
|
77
|
+
|
|
78
|
+
For monorepos, set the root directory in Vercel:
|
|
79
|
+
|
|
80
|
+
1. Project Settings > General > Root Directory
|
|
81
|
+
2. Set to the package path (e.g., `apps/web`)
|
|
82
|
+
|
|
83
|
+
Vercel automatically:
|
|
84
|
+
|
|
85
|
+
- Installs dependencies from monorepo root
|
|
86
|
+
- Runs build from the package directory
|
|
87
|
+
- Detects framework settings
|
|
88
|
+
|
|
89
|
+
## Build Command
|
|
90
|
+
|
|
91
|
+
Vercel auto-detects `turbo run build` when `turbo.json` exists at root.
|
|
92
|
+
|
|
93
|
+
Override if needed:
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
turbo run build --filter=web
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Or for production-only optimizations:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
turbo run build --filter=web --env-mode=strict
|
|
103
|
+
```
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# turbo run
|
|
2
|
+
|
|
3
|
+
The primary command for executing tasks across your monorepo.
|
|
4
|
+
|
|
5
|
+
## Basic Usage
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Full form (use in CI, package.json, scripts)
|
|
9
|
+
turbo run <tasks>
|
|
10
|
+
|
|
11
|
+
# Shorthand (only for one-off terminal invocations)
|
|
12
|
+
turbo <tasks>
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## When to Use `turbo run` vs `turbo`
|
|
16
|
+
|
|
17
|
+
**Always use `turbo run` when the command is written into code:**
|
|
18
|
+
|
|
19
|
+
- `package.json` scripts
|
|
20
|
+
- CI/CD workflows (GitHub Actions, etc.)
|
|
21
|
+
- Shell scripts
|
|
22
|
+
- Documentation
|
|
23
|
+
- Any static/committed configuration
|
|
24
|
+
|
|
25
|
+
**Only use `turbo` (shorthand) for:**
|
|
26
|
+
|
|
27
|
+
- One-off commands typed directly in terminal
|
|
28
|
+
- Ad-hoc invocations by humans or agents
|
|
29
|
+
|
|
30
|
+
```json
|
|
31
|
+
// package.json - ALWAYS use "turbo run"
|
|
32
|
+
{
|
|
33
|
+
"scripts": {
|
|
34
|
+
"build": "turbo run build",
|
|
35
|
+
"dev": "turbo run dev",
|
|
36
|
+
"lint": "turbo run lint",
|
|
37
|
+
"test": "turbo run test"
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
```yaml
|
|
43
|
+
# CI workflow - ALWAYS use "turbo run"
|
|
44
|
+
- run: turbo run build --affected
|
|
45
|
+
- run: turbo run test --affected
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
# Terminal one-off - shorthand OK
|
|
50
|
+
turbo build --filter=web
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Running Tasks
|
|
54
|
+
|
|
55
|
+
Tasks must be defined in `turbo.json` before running.
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
# Single task
|
|
59
|
+
turbo build
|
|
60
|
+
|
|
61
|
+
# Multiple tasks
|
|
62
|
+
turbo run build lint test
|
|
63
|
+
|
|
64
|
+
# See available tasks (run without arguments)
|
|
65
|
+
turbo run
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Passing Arguments to Scripts
|
|
69
|
+
|
|
70
|
+
Use `--` to pass arguments through to the underlying package scripts:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
turbo run build -- --sourcemap
|
|
74
|
+
turbo test -- --watch
|
|
75
|
+
turbo lint -- --fix
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Everything after `--` goes directly to the task's script.
|
|
79
|
+
|
|
80
|
+
## Package Selection
|
|
81
|
+
|
|
82
|
+
By default, turbo runs tasks in all packages. Use `--filter` to narrow scope:
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
turbo build --filter=web
|
|
86
|
+
turbo test --filter=./apps/*
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
See `filtering/` for complete filter syntax.
|
|
90
|
+
|
|
91
|
+
## Quick Reference
|
|
92
|
+
|
|
93
|
+
| Goal | Command |
|
|
94
|
+
| ------------------- | -------------------------- |
|
|
95
|
+
| Build everything | `turbo build` |
|
|
96
|
+
| Build one package | `turbo build --filter=web` |
|
|
97
|
+
| Multiple tasks | `turbo build lint test` |
|
|
98
|
+
| Pass args to script | `turbo build -- --arg` |
|
|
99
|
+
| Preview run | `turbo build --dry` |
|
|
100
|
+
| Force rebuild | `turbo build --force` |
|
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
# turbo run Flags Reference
|
|
2
|
+
|
|
3
|
+
Full docs: https://turborepo.dev/docs/reference/run
|
|
4
|
+
|
|
5
|
+
## Package Selection
|
|
6
|
+
|
|
7
|
+
### `--filter` / `-F`
|
|
8
|
+
|
|
9
|
+
Select specific packages to run tasks in.
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
turbo build --filter=web
|
|
13
|
+
turbo build -F=@repo/ui -F=@repo/utils
|
|
14
|
+
turbo test --filter=./apps/*
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
See `filtering/` for complete syntax (globs, dependencies, git ranges).
|
|
18
|
+
|
|
19
|
+
### Task Identifier Syntax (v2.2.4+)
|
|
20
|
+
|
|
21
|
+
Run specific package tasks directly:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
turbo run web#build # Build web package
|
|
25
|
+
turbo run web#build docs#lint # Multiple specific tasks
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### `--affected`
|
|
29
|
+
|
|
30
|
+
Run only in packages changed since the base branch.
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
turbo build --affected
|
|
34
|
+
turbo test --affected --filter=./apps/* # combine with filter
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
**How it works:**
|
|
38
|
+
|
|
39
|
+
- Default: compares `main...HEAD`
|
|
40
|
+
- In GitHub Actions: auto-detects `GITHUB_BASE_REF`
|
|
41
|
+
- Override base: `TURBO_SCM_BASE=development turbo build --affected`
|
|
42
|
+
- Override head: `TURBO_SCM_HEAD=your-branch turbo build --affected`
|
|
43
|
+
|
|
44
|
+
**Requires git history** - shallow clones may fall back to running all tasks.
|
|
45
|
+
|
|
46
|
+
## Execution Control
|
|
47
|
+
|
|
48
|
+
### `--dry` / `--dry=json`
|
|
49
|
+
|
|
50
|
+
Preview what would run without executing.
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
turbo build --dry # human-readable
|
|
54
|
+
turbo build --dry=json # machine-readable
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### `--force`
|
|
58
|
+
|
|
59
|
+
Ignore all cached artifacts, re-run everything.
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
turbo build --force
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### `--concurrency`
|
|
66
|
+
|
|
67
|
+
Limit parallel task execution.
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
turbo build --concurrency=4 # max 4 tasks
|
|
71
|
+
turbo build --concurrency=50% # 50% of CPU cores
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### `--continue`
|
|
75
|
+
|
|
76
|
+
Keep running other tasks when one fails.
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
turbo build test --continue
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### `--only`
|
|
83
|
+
|
|
84
|
+
Run only the specified task, skip its dependencies.
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
turbo build --only # skip running dependsOn tasks
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### `--parallel` (Discouraged)
|
|
91
|
+
|
|
92
|
+
Ignores task graph dependencies, runs all tasks simultaneously. **Avoid using this flag**—if tasks need to run in parallel, configure `dependsOn` correctly instead. Using `--parallel` bypasses Turborepo's dependency graph, which can cause race conditions and incorrect builds.
|
|
93
|
+
|
|
94
|
+
## Cache Control
|
|
95
|
+
|
|
96
|
+
### `--cache`
|
|
97
|
+
|
|
98
|
+
Fine-grained cache behavior control.
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
# Default: read/write both local and remote
|
|
102
|
+
turbo build --cache=local:rw,remote:rw
|
|
103
|
+
|
|
104
|
+
# Read-only local, no remote
|
|
105
|
+
turbo build --cache=local:r,remote:
|
|
106
|
+
|
|
107
|
+
# Disable local, read-only remote
|
|
108
|
+
turbo build --cache=local:,remote:r
|
|
109
|
+
|
|
110
|
+
# Disable all caching
|
|
111
|
+
turbo build --cache=local:,remote:
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Output & Debugging
|
|
115
|
+
|
|
116
|
+
### `--graph`
|
|
117
|
+
|
|
118
|
+
Generate task graph visualization.
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
turbo build --graph # opens in browser
|
|
122
|
+
turbo build --graph=graph.svg # SVG file
|
|
123
|
+
turbo build --graph=graph.png # PNG file
|
|
124
|
+
turbo build --graph=graph.json # JSON data
|
|
125
|
+
turbo build --graph=graph.mermaid # Mermaid diagram
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### `--summarize`
|
|
129
|
+
|
|
130
|
+
Generate JSON run summary for debugging.
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
turbo build --summarize
|
|
134
|
+
# creates .turbo/runs/<run-id>.json
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### `--output-logs`
|
|
138
|
+
|
|
139
|
+
Control log output verbosity.
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
turbo build --output-logs=full # all logs (default)
|
|
143
|
+
turbo build --output-logs=new-only # only cache misses
|
|
144
|
+
turbo build --output-logs=errors-only # only failures
|
|
145
|
+
turbo build --output-logs=none # silent
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### `--profile`
|
|
149
|
+
|
|
150
|
+
Generate Chrome tracing profile for performance analysis.
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
turbo build --profile=profile.json
|
|
154
|
+
# open chrome://tracing and load the file
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
### `--verbosity` / `-v`
|
|
158
|
+
|
|
159
|
+
Control turbo's own log level.
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
turbo build -v # verbose
|
|
163
|
+
turbo build -vv # more verbose
|
|
164
|
+
turbo build -vvv # maximum verbosity
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
## Environment
|
|
168
|
+
|
|
169
|
+
### `--env-mode`
|
|
170
|
+
|
|
171
|
+
Control environment variable handling.
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
turbo build --env-mode=strict # only declared env vars (default)
|
|
175
|
+
turbo build --env-mode=loose # include all env vars in hash
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
## UI
|
|
179
|
+
|
|
180
|
+
### `--ui`
|
|
181
|
+
|
|
182
|
+
Select output interface.
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
turbo build --ui=tui # interactive terminal UI (default in TTY)
|
|
186
|
+
turbo build --ui=stream # streaming logs (default in CI)
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
# turbo-ignore
|
|
192
|
+
|
|
193
|
+
Full docs: https://turborepo.dev/docs/reference/turbo-ignore
|
|
194
|
+
|
|
195
|
+
Skip CI work when nothing relevant changed. Useful for skipping container setup.
|
|
196
|
+
|
|
197
|
+
## Basic Usage
|
|
198
|
+
|
|
199
|
+
```bash
|
|
200
|
+
# Check if build is needed for current package (uses Automatic Package Scoping)
|
|
201
|
+
npx turbo-ignore
|
|
202
|
+
|
|
203
|
+
# Check specific package
|
|
204
|
+
npx turbo-ignore web
|
|
205
|
+
|
|
206
|
+
# Check specific task
|
|
207
|
+
npx turbo-ignore --task=test
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
## Exit Codes
|
|
211
|
+
|
|
212
|
+
- `0`: No changes detected - skip CI work
|
|
213
|
+
- `1`: Changes detected - proceed with CI
|
|
214
|
+
|
|
215
|
+
## CI Integration Example
|
|
216
|
+
|
|
217
|
+
```yaml
|
|
218
|
+
# GitHub Actions
|
|
219
|
+
- name: Check for changes
|
|
220
|
+
id: turbo-ignore
|
|
221
|
+
run: npx turbo-ignore web
|
|
222
|
+
continue-on-error: true
|
|
223
|
+
|
|
224
|
+
- name: Build
|
|
225
|
+
if: steps.turbo-ignore.outcome == 'failure' # changes detected
|
|
226
|
+
run: pnpm build
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
## Comparison Depth
|
|
230
|
+
|
|
231
|
+
Default: compares to parent commit (`HEAD^1`).
|
|
232
|
+
|
|
233
|
+
```bash
|
|
234
|
+
# Compare to specific commit
|
|
235
|
+
npx turbo-ignore --fallback=abc123
|
|
236
|
+
|
|
237
|
+
# Compare to branch
|
|
238
|
+
npx turbo-ignore --fallback=main
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
---
|
|
242
|
+
|
|
243
|
+
# Other Commands
|
|
244
|
+
|
|
245
|
+
## turbo boundaries
|
|
246
|
+
|
|
247
|
+
Check workspace violations (experimental).
|
|
248
|
+
|
|
249
|
+
```bash
|
|
250
|
+
turbo boundaries
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
See `references/boundaries/` for configuration.
|
|
254
|
+
|
|
255
|
+
## turbo watch
|
|
256
|
+
|
|
257
|
+
Re-run tasks on file changes.
|
|
258
|
+
|
|
259
|
+
```bash
|
|
260
|
+
turbo watch build test
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
See `references/watch/` for details.
|
|
264
|
+
|
|
265
|
+
## turbo prune
|
|
266
|
+
|
|
267
|
+
Create sparse checkout for Docker.
|
|
268
|
+
|
|
269
|
+
```bash
|
|
270
|
+
turbo prune web --docker
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
## turbo link / unlink
|
|
274
|
+
|
|
275
|
+
Connect/disconnect Remote Cache.
|
|
276
|
+
|
|
277
|
+
```bash
|
|
278
|
+
turbo link # connect to Vercel Remote Cache
|
|
279
|
+
turbo unlink # disconnect
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
## turbo login / logout
|
|
283
|
+
|
|
284
|
+
Authenticate with Remote Cache provider.
|
|
285
|
+
|
|
286
|
+
```bash
|
|
287
|
+
turbo login # authenticate
|
|
288
|
+
turbo logout # log out
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
## turbo generate
|
|
292
|
+
|
|
293
|
+
Scaffold new packages.
|
|
294
|
+
|
|
295
|
+
```bash
|
|
296
|
+
turbo generate
|
|
297
|
+
```
|