ads-fe 0.0.1 → 0.0.2
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/README.md +16 -4
- package/dist/cli.js +57 -61
- package/dist/meta.js +1 -1
- package/package.json +2 -2
- /package/{skills → skill-data}/core/SKILL.md +0 -0
- /package/{skills → skill-data}/core/references/app-development.md +0 -0
- /package/{skills → skill-data}/core/references/git.md +0 -0
- /package/{skills → skill-data}/core/references/monorepo.md +0 -0
- /package/{skills → skill-data}/element-plus-vue3/LICENSE.md +0 -0
- /package/{skills → skill-data}/element-plus-vue3/LICENSE.txt +0 -0
- /package/{skills → skill-data}/element-plus-vue3/SKILL.md +0 -0
- /package/{skills → skill-data}/element-plus-vue3/SYNC.md +0 -0
- /package/{skills → skill-data}/element-plus-vue3/api/component-api.md +0 -0
- /package/{skills → skill-data}/element-plus-vue3/api/global-config.md +0 -0
- /package/{skills → skill-data}/element-plus-vue3/api/props-and-events.md +0 -0
- /package/{skills → skill-data}/element-plus-vue3/examples/components/button.md +0 -0
- /package/{skills → skill-data}/element-plus-vue3/examples/components/date-picker.md +0 -0
- /package/{skills → skill-data}/element-plus-vue3/examples/components/dialog.md +0 -0
- /package/{skills → skill-data}/element-plus-vue3/examples/components/form.md +0 -0
- /package/{skills → skill-data}/element-plus-vue3/examples/components/input.md +0 -0
- /package/{skills → skill-data}/element-plus-vue3/examples/components/message.md +0 -0
- /package/{skills → skill-data}/element-plus-vue3/examples/components/overview.md +0 -0
- /package/{skills → skill-data}/element-plus-vue3/examples/components/select.md +0 -0
- /package/{skills → skill-data}/element-plus-vue3/examples/components/table.md +0 -0
- /package/{skills → skill-data}/element-plus-vue3/examples/guide/design.md +0 -0
- /package/{skills → skill-data}/element-plus-vue3/examples/guide/global-config.md +0 -0
- /package/{skills → skill-data}/element-plus-vue3/examples/guide/i18n.md +0 -0
- /package/{skills → skill-data}/element-plus-vue3/examples/guide/installation.md +0 -0
- /package/{skills → skill-data}/element-plus-vue3/examples/guide/quick-start.md +0 -0
- /package/{skills → skill-data}/element-plus-vue3/examples/guide/theme.md +0 -0
- /package/{skills → skill-data}/element-plus-vue3/templates/component-usage.md +0 -0
- /package/{skills → skill-data}/element-plus-vue3/templates/installation.md +0 -0
- /package/{skills → skill-data}/element-plus-vue3/templates/project-setup.md +0 -0
- /package/{skills → skill-data}/node/LICENSE.md +0 -0
- /package/{skills → skill-data}/node/SKILL.md +0 -0
- /package/{skills → skill-data}/node/SYNC.md +0 -0
- /package/{skills → skill-data}/node/rules/assets/graceful-server.test.ts +0 -0
- /package/{skills → skill-data}/node/rules/assets/graceful-server.ts +0 -0
- /package/{skills → skill-data}/node/rules/async-patterns.md +0 -0
- /package/{skills → skill-data}/node/rules/caching.md +0 -0
- /package/{skills → skill-data}/node/rules/environment.md +0 -0
- /package/{skills → skill-data}/node/rules/error-handling.md +0 -0
- /package/{skills → skill-data}/node/rules/flaky-tests.md +0 -0
- /package/{skills → skill-data}/node/rules/graceful-shutdown.md +0 -0
- /package/{skills → skill-data}/node/rules/logging.md +0 -0
- /package/{skills → skill-data}/node/rules/modules.md +0 -0
- /package/{skills → skill-data}/node/rules/node-modules-exploration.md +0 -0
- /package/{skills → skill-data}/node/rules/performance.md +0 -0
- /package/{skills → skill-data}/node/rules/profiling.md +0 -0
- /package/{skills → skill-data}/node/rules/streams.md +0 -0
- /package/{skills → skill-data}/node/rules/stuck-processes-and-tests.md +0 -0
- /package/{skills → skill-data}/node/rules/testing.md +0 -0
- /package/{skills → skill-data}/node/rules/typescript.md +0 -0
- /package/{skills → skill-data}/node/tile.json +0 -0
- /package/{skills → skill-data}/nuxt/GENERATION.md +0 -0
- /package/{skills → skill-data}/nuxt/LICENSE.md +0 -0
- /package/{skills → skill-data}/nuxt/SKILL.md +0 -0
- /package/{skills → skill-data}/nuxt/SYNC.md +0 -0
- /package/{skills → skill-data}/nuxt/references/advanced-hooks.md +0 -0
- /package/{skills → skill-data}/nuxt/references/advanced-layers.md +0 -0
- /package/{skills → skill-data}/nuxt/references/advanced-module-authoring.md +0 -0
- /package/{skills → skill-data}/nuxt/references/best-practices-data-fetching.md +0 -0
- /package/{skills → skill-data}/nuxt/references/best-practices-ssr.md +0 -0
- /package/{skills → skill-data}/nuxt/references/core-cli.md +0 -0
- /package/{skills → skill-data}/nuxt/references/core-config.md +0 -0
- /package/{skills → skill-data}/nuxt/references/core-data-fetching.md +0 -0
- /package/{skills → skill-data}/nuxt/references/core-deployment.md +0 -0
- /package/{skills → skill-data}/nuxt/references/core-directory-structure.md +0 -0
- /package/{skills → skill-data}/nuxt/references/core-modules.md +0 -0
- /package/{skills → skill-data}/nuxt/references/core-routing.md +0 -0
- /package/{skills → skill-data}/nuxt/references/features-components-autoimport.md +0 -0
- /package/{skills → skill-data}/nuxt/references/features-components.md +0 -0
- /package/{skills → skill-data}/nuxt/references/features-composables.md +0 -0
- /package/{skills → skill-data}/nuxt/references/features-server.md +0 -0
- /package/{skills → skill-data}/nuxt/references/features-state.md +0 -0
- /package/{skills → skill-data}/nuxt/references/rendering-modes.md +0 -0
- /package/{skills → skill-data}/pinia/GENERATION.md +0 -0
- /package/{skills → skill-data}/pinia/LICENSE.md +0 -0
- /package/{skills → skill-data}/pinia/SKILL.md +0 -0
- /package/{skills → skill-data}/pinia/SYNC.md +0 -0
- /package/{skills → skill-data}/pinia/references/advanced-hmr.md +0 -0
- /package/{skills → skill-data}/pinia/references/advanced-nuxt.md +0 -0
- /package/{skills → skill-data}/pinia/references/advanced-ssr.md +0 -0
- /package/{skills → skill-data}/pinia/references/best-practices-outside-component.md +0 -0
- /package/{skills → skill-data}/pinia/references/best-practices-testing.md +0 -0
- /package/{skills → skill-data}/pinia/references/core-stores.md +0 -0
- /package/{skills → skill-data}/pinia/references/features-composables.md +0 -0
- /package/{skills → skill-data}/pinia/references/features-composing-stores.md +0 -0
- /package/{skills → skill-data}/pinia/references/features-plugins.md +0 -0
- /package/{skills → skill-data}/pnpm/GENERATION.md +0 -0
- /package/{skills → skill-data}/pnpm/LICENSE.md +0 -0
- /package/{skills → skill-data}/pnpm/SKILL.md +0 -0
- /package/{skills → skill-data}/pnpm/SYNC.md +0 -0
- /package/{skills → skill-data}/pnpm/references/best-practices-ci.md +0 -0
- /package/{skills → skill-data}/pnpm/references/best-practices-migration.md +0 -0
- /package/{skills → skill-data}/pnpm/references/best-practices-performance.md +0 -0
- /package/{skills → skill-data}/pnpm/references/core-cli.md +0 -0
- /package/{skills → skill-data}/pnpm/references/core-config.md +0 -0
- /package/{skills → skill-data}/pnpm/references/core-store.md +0 -0
- /package/{skills → skill-data}/pnpm/references/core-workspaces.md +0 -0
- /package/{skills → skill-data}/pnpm/references/features-aliases.md +0 -0
- /package/{skills → skill-data}/pnpm/references/features-catalogs.md +0 -0
- /package/{skills → skill-data}/pnpm/references/features-hooks.md +0 -0
- /package/{skills → skill-data}/pnpm/references/features-overrides.md +0 -0
- /package/{skills → skill-data}/pnpm/references/features-patches.md +0 -0
- /package/{skills → skill-data}/pnpm/references/features-peer-deps.md +0 -0
- /package/{skills → skill-data}/slidev/LICENSE.md +0 -0
- /package/{skills → skill-data}/slidev/README.md +0 -0
- /package/{skills → skill-data}/slidev/SKILL.md +0 -0
- /package/{skills → skill-data}/slidev/SYNC.md +0 -0
- /package/{skills → skill-data}/slidev/references/animation-click-marker.md +0 -0
- /package/{skills → skill-data}/slidev/references/animation-drawing.md +0 -0
- /package/{skills → skill-data}/slidev/references/animation-rough-marker.md +0 -0
- /package/{skills → skill-data}/slidev/references/api-slide-hooks.md +0 -0
- /package/{skills → skill-data}/slidev/references/build-og-image.md +0 -0
- /package/{skills → skill-data}/slidev/references/build-pdf.md +0 -0
- /package/{skills → skill-data}/slidev/references/build-remote-assets.md +0 -0
- /package/{skills → skill-data}/slidev/references/build-seo-meta.md +0 -0
- /package/{skills → skill-data}/slidev/references/code-groups.md +0 -0
- /package/{skills → skill-data}/slidev/references/code-import-snippet.md +0 -0
- /package/{skills → skill-data}/slidev/references/code-line-highlighting.md +0 -0
- /package/{skills → skill-data}/slidev/references/code-line-numbers.md +0 -0
- /package/{skills → skill-data}/slidev/references/code-magic-move.md +0 -0
- /package/{skills → skill-data}/slidev/references/code-max-height.md +0 -0
- /package/{skills → skill-data}/slidev/references/code-twoslash.md +0 -0
- /package/{skills → skill-data}/slidev/references/core-animations.md +0 -0
- /package/{skills → skill-data}/slidev/references/core-cli.md +0 -0
- /package/{skills → skill-data}/slidev/references/core-components.md +0 -0
- /package/{skills → skill-data}/slidev/references/core-exporting.md +0 -0
- /package/{skills → skill-data}/slidev/references/core-frontmatter.md +0 -0
- /package/{skills → skill-data}/slidev/references/core-global-context.md +0 -0
- /package/{skills → skill-data}/slidev/references/core-headmatter.md +0 -0
- /package/{skills → skill-data}/slidev/references/core-hosting.md +0 -0
- /package/{skills → skill-data}/slidev/references/core-layouts.md +0 -0
- /package/{skills → skill-data}/slidev/references/core-syntax.md +0 -0
- /package/{skills → skill-data}/slidev/references/diagram-latex.md +0 -0
- /package/{skills → skill-data}/slidev/references/diagram-mermaid.md +0 -0
- /package/{skills → skill-data}/slidev/references/diagram-plantuml.md +0 -0
- /package/{skills → skill-data}/slidev/references/editor-monaco-run.md +0 -0
- /package/{skills → skill-data}/slidev/references/editor-monaco-write.md +0 -0
- /package/{skills → skill-data}/slidev/references/editor-monaco.md +0 -0
- /package/{skills → skill-data}/slidev/references/editor-prettier.md +0 -0
- /package/{skills → skill-data}/slidev/references/editor-side.md +0 -0
- /package/{skills → skill-data}/slidev/references/editor-vscode.md +0 -0
- /package/{skills → skill-data}/slidev/references/layout-canvas-size.md +0 -0
- /package/{skills → skill-data}/slidev/references/layout-draggable.md +0 -0
- /package/{skills → skill-data}/slidev/references/layout-global-layers.md +0 -0
- /package/{skills → skill-data}/slidev/references/layout-slots.md +0 -0
- /package/{skills → skill-data}/slidev/references/layout-transform.md +0 -0
- /package/{skills → skill-data}/slidev/references/layout-zoom.md +0 -0
- /package/{skills → skill-data}/slidev/references/presenter-notes-ruby.md +0 -0
- /package/{skills → skill-data}/slidev/references/presenter-recording.md +0 -0
- /package/{skills → skill-data}/slidev/references/presenter-remote.md +0 -0
- /package/{skills → skill-data}/slidev/references/presenter-timer.md +0 -0
- /package/{skills → skill-data}/slidev/references/style-direction.md +0 -0
- /package/{skills → skill-data}/slidev/references/style-icons.md +0 -0
- /package/{skills → skill-data}/slidev/references/style-scoped.md +0 -0
- /package/{skills → skill-data}/slidev/references/syntax-block-frontmatter.md +0 -0
- /package/{skills → skill-data}/slidev/references/syntax-comark.md +0 -0
- /package/{skills → skill-data}/slidev/references/syntax-frontmatter-merging.md +0 -0
- /package/{skills → skill-data}/slidev/references/syntax-importing-slides.md +0 -0
- /package/{skills → skill-data}/slidev/references/tool-eject-theme.md +0 -0
- /package/{skills → skill-data}/tsdown/LICENSE.md +0 -0
- /package/{skills → skill-data}/tsdown/README.md +0 -0
- /package/{skills → skill-data}/tsdown/SKILL.md +0 -0
- /package/{skills → skill-data}/tsdown/SYNC.md +0 -0
- /package/{skills → skill-data}/tsdown/references/README.md +0 -0
- /package/{skills → skill-data}/tsdown/references/advanced-benchmark.md +0 -0
- /package/{skills → skill-data}/tsdown/references/advanced-ci.md +0 -0
- /package/{skills → skill-data}/tsdown/references/advanced-hooks.md +0 -0
- /package/{skills → skill-data}/tsdown/references/advanced-plugins.md +0 -0
- /package/{skills → skill-data}/tsdown/references/advanced-programmatic.md +0 -0
- /package/{skills → skill-data}/tsdown/references/advanced-rolldown-options.md +0 -0
- /package/{skills → skill-data}/tsdown/references/guide-getting-started.md +0 -0
- /package/{skills → skill-data}/tsdown/references/guide-introduction.md +0 -0
- /package/{skills → skill-data}/tsdown/references/guide-migrate-from-tsup.md +0 -0
- /package/{skills → skill-data}/tsdown/references/option-cjs-default.md +0 -0
- /package/{skills → skill-data}/tsdown/references/option-cleaning.md +0 -0
- /package/{skills → skill-data}/tsdown/references/option-config-file.md +0 -0
- /package/{skills → skill-data}/tsdown/references/option-css.md +0 -0
- /package/{skills → skill-data}/tsdown/references/option-dependencies.md +0 -0
- /package/{skills → skill-data}/tsdown/references/option-dts.md +0 -0
- /package/{skills → skill-data}/tsdown/references/option-entry.md +0 -0
- /package/{skills → skill-data}/tsdown/references/option-exe.md +0 -0
- /package/{skills → skill-data}/tsdown/references/option-lint.md +0 -0
- /package/{skills → skill-data}/tsdown/references/option-log-level.md +0 -0
- /package/{skills → skill-data}/tsdown/references/option-minification.md +0 -0
- /package/{skills → skill-data}/tsdown/references/option-output-directory.md +0 -0
- /package/{skills → skill-data}/tsdown/references/option-output-format.md +0 -0
- /package/{skills → skill-data}/tsdown/references/option-package-exports.md +0 -0
- /package/{skills → skill-data}/tsdown/references/option-platform.md +0 -0
- /package/{skills → skill-data}/tsdown/references/option-root.md +0 -0
- /package/{skills → skill-data}/tsdown/references/option-shims.md +0 -0
- /package/{skills → skill-data}/tsdown/references/option-sourcemap.md +0 -0
- /package/{skills → skill-data}/tsdown/references/option-target.md +0 -0
- /package/{skills → skill-data}/tsdown/references/option-tree-shaking.md +0 -0
- /package/{skills → skill-data}/tsdown/references/option-unbundle.md +0 -0
- /package/{skills → skill-data}/tsdown/references/option-watch-mode.md +0 -0
- /package/{skills → skill-data}/tsdown/references/recipe-react.md +0 -0
- /package/{skills → skill-data}/tsdown/references/recipe-solid.md +0 -0
- /package/{skills → skill-data}/tsdown/references/recipe-svelte.md +0 -0
- /package/{skills → skill-data}/tsdown/references/recipe-vue.md +0 -0
- /package/{skills → skill-data}/tsdown/references/recipe-wasm.md +0 -0
- /package/{skills → skill-data}/tsdown/references/reference-cli.md +0 -0
- /package/{skills → skill-data}/turborepo/LICENSE.md +0 -0
- /package/{skills → skill-data}/turborepo/SKILL.md +0 -0
- /package/{skills → skill-data}/turborepo/SYNC.md +0 -0
- /package/{skills → skill-data}/turborepo/command/turborepo.md +0 -0
- /package/{skills → skill-data}/turborepo/references/best-practices/RULE.md +0 -0
- /package/{skills → skill-data}/turborepo/references/best-practices/dependencies.md +0 -0
- /package/{skills → skill-data}/turborepo/references/best-practices/packages.md +0 -0
- /package/{skills → skill-data}/turborepo/references/best-practices/structure.md +0 -0
- /package/{skills → skill-data}/turborepo/references/boundaries/RULE.md +0 -0
- /package/{skills → skill-data}/turborepo/references/caching/RULE.md +0 -0
- /package/{skills → skill-data}/turborepo/references/caching/gotchas.md +0 -0
- /package/{skills → skill-data}/turborepo/references/caching/remote-cache.md +0 -0
- /package/{skills → skill-data}/turborepo/references/ci/RULE.md +0 -0
- /package/{skills → skill-data}/turborepo/references/ci/github-actions.md +0 -0
- /package/{skills → skill-data}/turborepo/references/ci/patterns.md +0 -0
- /package/{skills → skill-data}/turborepo/references/ci/vercel.md +0 -0
- /package/{skills → skill-data}/turborepo/references/cli/RULE.md +0 -0
- /package/{skills → skill-data}/turborepo/references/cli/commands.md +0 -0
- /package/{skills → skill-data}/turborepo/references/configuration/RULE.md +0 -0
- /package/{skills → skill-data}/turborepo/references/configuration/global-options.md +0 -0
- /package/{skills → skill-data}/turborepo/references/configuration/gotchas.md +0 -0
- /package/{skills → skill-data}/turborepo/references/configuration/tasks.md +0 -0
- /package/{skills → skill-data}/turborepo/references/environment/RULE.md +0 -0
- /package/{skills → skill-data}/turborepo/references/environment/gotchas.md +0 -0
- /package/{skills → skill-data}/turborepo/references/environment/modes.md +0 -0
- /package/{skills → skill-data}/turborepo/references/filtering/RULE.md +0 -0
- /package/{skills → skill-data}/turborepo/references/filtering/patterns.md +0 -0
- /package/{skills → skill-data}/turborepo/references/watch/RULE.md +0 -0
- /package/{skills → skill-data}/vite/GENERATION.md +0 -0
- /package/{skills → skill-data}/vite/LICENSE.md +0 -0
- /package/{skills → skill-data}/vite/SKILL.md +0 -0
- /package/{skills → skill-data}/vite/SYNC.md +0 -0
- /package/{skills → skill-data}/vite/references/build-and-ssr.md +0 -0
- /package/{skills → skill-data}/vite/references/core-config.md +0 -0
- /package/{skills → skill-data}/vite/references/core-features.md +0 -0
- /package/{skills → skill-data}/vite/references/core-plugin-api.md +0 -0
- /package/{skills → skill-data}/vite/references/environment-api.md +0 -0
- /package/{skills → skill-data}/vite/references/rolldown-migration.md +0 -0
- /package/{skills → skill-data}/vitepress/GENERATION.md +0 -0
- /package/{skills → skill-data}/vitepress/LICENSE.md +0 -0
- /package/{skills → skill-data}/vitepress/SKILL.md +0 -0
- /package/{skills → skill-data}/vitepress/SYNC.md +0 -0
- /package/{skills → skill-data}/vitepress/references/advanced-i18n.md +0 -0
- /package/{skills → skill-data}/vitepress/references/advanced-ssr.md +0 -0
- /package/{skills → skill-data}/vitepress/references/core-cli.md +0 -0
- /package/{skills → skill-data}/vitepress/references/core-config.md +0 -0
- /package/{skills → skill-data}/vitepress/references/core-markdown.md +0 -0
- /package/{skills → skill-data}/vitepress/references/core-routing.md +0 -0
- /package/{skills → skill-data}/vitepress/references/features-code-blocks.md +0 -0
- /package/{skills → skill-data}/vitepress/references/features-data-loading.md +0 -0
- /package/{skills → skill-data}/vitepress/references/features-dynamic-routes.md +0 -0
- /package/{skills → skill-data}/vitepress/references/features-vue.md +0 -0
- /package/{skills → skill-data}/vitepress/references/recipes-deploy.md +0 -0
- /package/{skills → skill-data}/vitepress/references/theme-config.md +0 -0
- /package/{skills → skill-data}/vitepress/references/theme-custom.md +0 -0
- /package/{skills → skill-data}/vitepress/references/theme-customization.md +0 -0
- /package/{skills → skill-data}/vitest/GENERATION.md +0 -0
- /package/{skills → skill-data}/vitest/LICENSE.md +0 -0
- /package/{skills → skill-data}/vitest/SKILL.md +0 -0
- /package/{skills → skill-data}/vitest/SYNC.md +0 -0
- /package/{skills → skill-data}/vitest/references/advanced-environments.md +0 -0
- /package/{skills → skill-data}/vitest/references/advanced-projects.md +0 -0
- /package/{skills → skill-data}/vitest/references/advanced-type-testing.md +0 -0
- /package/{skills → skill-data}/vitest/references/advanced-vi.md +0 -0
- /package/{skills → skill-data}/vitest/references/core-cli.md +0 -0
- /package/{skills → skill-data}/vitest/references/core-config.md +0 -0
- /package/{skills → skill-data}/vitest/references/core-describe.md +0 -0
- /package/{skills → skill-data}/vitest/references/core-expect.md +0 -0
- /package/{skills → skill-data}/vitest/references/core-hooks.md +0 -0
- /package/{skills → skill-data}/vitest/references/core-test-api.md +0 -0
- /package/{skills → skill-data}/vitest/references/features-concurrency.md +0 -0
- /package/{skills → skill-data}/vitest/references/features-context.md +0 -0
- /package/{skills → skill-data}/vitest/references/features-coverage.md +0 -0
- /package/{skills → skill-data}/vitest/references/features-filtering.md +0 -0
- /package/{skills → skill-data}/vitest/references/features-mocking.md +0 -0
- /package/{skills → skill-data}/vitest/references/features-snapshots.md +0 -0
- /package/{skills → skill-data}/vue/GENERATION.md +0 -0
- /package/{skills → skill-data}/vue/LICENSE.md +0 -0
- /package/{skills → skill-data}/vue/SKILL.md +0 -0
- /package/{skills → skill-data}/vue/SYNC.md +0 -0
- /package/{skills → skill-data}/vue/references/advanced-patterns.md +0 -0
- /package/{skills → skill-data}/vue/references/core-new-apis.md +0 -0
- /package/{skills → skill-data}/vue/references/script-setup-macros.md +0 -0
- /package/{skills → skill-data}/vue-best-practices/LICENSE.md +0 -0
- /package/{skills → skill-data}/vue-best-practices/SKILL.md +0 -0
- /package/{skills → skill-data}/vue-best-practices/SYNC.md +0 -0
- /package/{skills → skill-data}/vue-best-practices/references/animation-class-based-technique.md +0 -0
- /package/{skills → skill-data}/vue-best-practices/references/animation-state-driven-technique.md +0 -0
- /package/{skills → skill-data}/vue-best-practices/references/component-async.md +0 -0
- /package/{skills → skill-data}/vue-best-practices/references/component-data-flow.md +0 -0
- /package/{skills → skill-data}/vue-best-practices/references/component-fallthrough-attrs.md +0 -0
- /package/{skills → skill-data}/vue-best-practices/references/component-keep-alive.md +0 -0
- /package/{skills → skill-data}/vue-best-practices/references/component-slots.md +0 -0
- /package/{skills → skill-data}/vue-best-practices/references/component-suspense.md +0 -0
- /package/{skills → skill-data}/vue-best-practices/references/component-teleport.md +0 -0
- /package/{skills → skill-data}/vue-best-practices/references/component-transition-group.md +0 -0
- /package/{skills → skill-data}/vue-best-practices/references/component-transition.md +0 -0
- /package/{skills → skill-data}/vue-best-practices/references/composables.md +0 -0
- /package/{skills → skill-data}/vue-best-practices/references/directives.md +0 -0
- /package/{skills → skill-data}/vue-best-practices/references/perf-avoid-component-abstraction-in-lists.md +0 -0
- /package/{skills → skill-data}/vue-best-practices/references/perf-v-once-v-memo-directives.md +0 -0
- /package/{skills → skill-data}/vue-best-practices/references/perf-virtualize-large-lists.md +0 -0
- /package/{skills → skill-data}/vue-best-practices/references/plugins.md +0 -0
- /package/{skills → skill-data}/vue-best-practices/references/reactivity.md +0 -0
- /package/{skills → skill-data}/vue-best-practices/references/render-functions.md +0 -0
- /package/{skills → skill-data}/vue-best-practices/references/sfc.md +0 -0
- /package/{skills → skill-data}/vue-best-practices/references/state-management.md +0 -0
- /package/{skills → skill-data}/vue-best-practices/references/updated-hook-performance.md +0 -0
- /package/{skills → skill-data}/vue-router-best-practices/LICENSE.md +0 -0
- /package/{skills → skill-data}/vue-router-best-practices/SKILL.md +0 -0
- /package/{skills → skill-data}/vue-router-best-practices/SYNC.md +0 -0
- /package/{skills → skill-data}/vue-router-best-practices/reference/router-beforeenter-no-param-trigger.md +0 -0
- /package/{skills → skill-data}/vue-router-best-practices/reference/router-beforerouteenter-no-this.md +0 -0
- /package/{skills → skill-data}/vue-router-best-practices/reference/router-guard-async-await-pattern.md +0 -0
- /package/{skills → skill-data}/vue-router-best-practices/reference/router-navigation-guard-infinite-loop.md +0 -0
- /package/{skills → skill-data}/vue-router-best-practices/reference/router-navigation-guard-next-deprecated.md +0 -0
- /package/{skills → skill-data}/vue-router-best-practices/reference/router-param-change-no-lifecycle.md +0 -0
- /package/{skills → skill-data}/vue-router-best-practices/reference/router-simple-routing-cleanup.md +0 -0
- /package/{skills → skill-data}/vue-router-best-practices/reference/router-use-vue-router-for-production.md +0 -0
- /package/{skills → skill-data}/vue-testing-best-practices/LICENSE.md +0 -0
- /package/{skills → skill-data}/vue-testing-best-practices/SKILL.md +0 -0
- /package/{skills → skill-data}/vue-testing-best-practices/SYNC.md +0 -0
- /package/{skills → skill-data}/vue-testing-best-practices/reference/async-component-testing.md +0 -0
- /package/{skills → skill-data}/vue-testing-best-practices/reference/teleport-testing-complexity.md +0 -0
- /package/{skills → skill-data}/vue-testing-best-practices/reference/testing-async-await-flushpromises.md +0 -0
- /package/{skills → skill-data}/vue-testing-best-practices/reference/testing-browser-vs-node-runners.md +0 -0
- /package/{skills → skill-data}/vue-testing-best-practices/reference/testing-component-blackbox-approach.md +0 -0
- /package/{skills → skill-data}/vue-testing-best-practices/reference/testing-composables-helper-wrapper.md +0 -0
- /package/{skills → skill-data}/vue-testing-best-practices/reference/testing-e2e-playwright-recommended.md +0 -0
- /package/{skills → skill-data}/vue-testing-best-practices/reference/testing-no-snapshot-only.md +0 -0
- /package/{skills → skill-data}/vue-testing-best-practices/reference/testing-pinia-store-setup.md +0 -0
- /package/{skills → skill-data}/vue-testing-best-practices/reference/testing-suspense-async-components.md +0 -0
- /package/{skills → skill-data}/vue-testing-best-practices/reference/testing-vitest-recommended-for-vue.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/LICENSE.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/SKILL.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/SYNC.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/computedAsync.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/computedEager.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/computedInject.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/computedWithControl.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/createEventHook.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/createGenericProjection.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/createGlobalState.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/createInjectionState.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/createProjection.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/createRef.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/createReusableTemplate.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/createSharedComposable.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/createTemplatePromise.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/createUnrefFn.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/extendRef.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/from.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/get.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/injectLocal.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/isDefined.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/logicAnd.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/logicNot.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/logicOr.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/makeDestructurable.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/onClickOutside.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/onElementRemoval.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/onKeyStroke.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/onLongPress.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/onStartTyping.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/provideLocal.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/reactify.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/reactifyObject.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/reactiveComputed.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/reactiveOmit.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/reactivePick.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/refAutoReset.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/refDebounced.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/refDefault.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/refManualReset.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/refThrottled.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/refWithControl.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/set.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/syncRef.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/syncRefs.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/templateRef.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/toObserver.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/toReactive.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/toRef.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/toRefs.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/tryOnBeforeMount.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/tryOnBeforeUnmount.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/tryOnMounted.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/tryOnScopeDispose.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/tryOnUnmounted.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/unrefElement.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/until.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useAbs.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useActiveElement.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useAnimate.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useArrayDifference.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useArrayEvery.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useArrayFilter.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useArrayFind.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useArrayFindIndex.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useArrayFindLast.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useArrayIncludes.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useArrayJoin.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useArrayMap.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useArrayReduce.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useArraySome.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useArrayUnique.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useAsyncQueue.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useAsyncState.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useAsyncValidator.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useAuth.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useAverage.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useAxios.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useBase64.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useBattery.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useBluetooth.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useBreakpoints.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useBroadcastChannel.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useBrowserLocation.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useCached.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useCeil.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useChangeCase.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useClamp.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useClipboard.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useClipboardItems.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useCloned.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useColorMode.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useConfirmDialog.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useCookies.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useCountdown.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useCounter.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useCssSupports.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useCssVar.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useCurrentElement.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useCycleList.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useDark.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useDateFormat.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useDebounceFn.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useDebouncedRefHistory.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useDeviceMotion.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useDeviceOrientation.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useDevicePixelRatio.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useDevicesList.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useDisplayMedia.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useDocumentVisibility.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useDraggable.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useDrauu.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useDropZone.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useElementBounding.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useElementByPoint.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useElementHover.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useElementSize.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useElementVisibility.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useEventBus.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useEventListener.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useEventSource.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useExtractedObservable.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useEyeDropper.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useFavicon.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useFetch.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useFileDialog.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useFileSystemAccess.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useFirestore.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useFloor.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useFocus.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useFocusTrap.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useFocusWithin.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useFps.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useFullscreen.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useFuse.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useGamepad.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useGeolocation.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useIDBKeyval.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useIdle.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useImage.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useInfiniteScroll.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useIntersectionObserver.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useInterval.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useIntervalFn.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useIpcRenderer.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useIpcRendererInvoke.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useIpcRendererOn.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useJwt.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useKeyModifier.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useLastChanged.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useLocalStorage.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useMagicKeys.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useManualRefHistory.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useMath.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useMax.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useMediaControls.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useMediaQuery.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useMemoize.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useMemory.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useMin.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useMounted.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useMouse.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useMouseInElement.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useMousePressed.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useMutationObserver.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useNProgress.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useNavigatorLanguage.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useNetwork.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useNow.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useObjectUrl.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useObservable.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useOffsetPagination.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useOnline.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/usePageLeave.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useParallax.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useParentElement.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/usePerformanceObserver.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/usePermission.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/usePointer.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/usePointerLock.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/usePointerSwipe.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/usePrecision.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/usePreferredColorScheme.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/usePreferredContrast.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/usePreferredDark.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/usePreferredLanguages.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/usePreferredReducedMotion.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/usePreferredReducedTransparency.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/usePrevious.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useProjection.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useQRCode.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useRTDB.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useRafFn.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useRefHistory.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useResizeObserver.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useRound.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useRouteHash.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useRouteParams.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useRouteQuery.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useSSRWidth.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useScreenOrientation.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useScreenSafeArea.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useScriptTag.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useScroll.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useScrollLock.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useSessionStorage.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useShare.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useSortable.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useSorted.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useSpeechRecognition.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useSpeechSynthesis.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useStepper.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useStorage.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useStorageAsync.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useStyleTag.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useSubject.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useSubscription.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useSum.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useSupported.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useSwipe.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useTemplateRefsList.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useTextDirection.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useTextSelection.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useTextareaAutosize.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useThrottleFn.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useThrottledRefHistory.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useTimeAgo.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useTimeAgoIntl.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useTimeout.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useTimeoutFn.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useTimeoutPoll.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useTimestamp.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useTitle.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useToNumber.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useToString.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useToggle.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useTransition.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useTrunc.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useUrlSearchParams.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useUserMedia.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useVModel.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useVModels.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useVibrate.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useVirtualList.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useWakeLock.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useWebNotification.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useWebSocket.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useWebWorker.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useWebWorkerFn.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useWindowFocus.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useWindowScroll.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useWindowSize.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useZoomFactor.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/useZoomLevel.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/watchArray.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/watchAtMost.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/watchDebounced.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/watchDeep.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/watchExtractedObservable.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/watchIgnorable.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/watchImmediate.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/watchOnce.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/watchPausable.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/watchThrottled.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/watchTriggerable.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/watchWithFilter.md +0 -0
- /package/{skills → skill-data}/vueuse-functions/references/whenever.md +0 -0
- /package/{skills → skill-data}/web-design-guidelines/SKILL.md +0 -0
- /package/{skills → skill-data}/web-design-guidelines/SYNC.md +0 -0
package/README.md
CHANGED
|
@@ -38,6 +38,15 @@ ads-fe init cursor --project
|
|
|
38
38
|
|
|
39
39
|
`ads-fe init <agent>` 会把这个包内置的 skill 安装到 AI agent 中。
|
|
40
40
|
|
|
41
|
+
安装路径:
|
|
42
|
+
|
|
43
|
+
- Codex 全局:`~/.codex/skills/ads-fe/SKILL.md`
|
|
44
|
+
- Claude 全局:`~/.claude/skills/ads-fe/SKILL.md`
|
|
45
|
+
- Cursor 全局:`~/.cursor/skills/ads-fe/SKILL.md`
|
|
46
|
+
- Cursor 项目级:`.cursor/skills/ads-fe/SKILL.md`
|
|
47
|
+
|
|
48
|
+
Cursor 使用 Agent Skills 目录结构,不再安装到 `.cursor/rules`。
|
|
49
|
+
|
|
41
50
|
`ads-fe skill init` 与上面的命令不同:它会初始化外部 skill 源仓库,这些仓库用于维护本包。
|
|
42
51
|
|
|
43
52
|
## 命令
|
|
@@ -47,6 +56,9 @@ ads-fe init codex # skill 安装到 codex 全局
|
|
|
47
56
|
ads-fe init claude # skill 安装到 claude code 全局
|
|
48
57
|
ads-fe init cursor # skill 安装到 cursor 全局
|
|
49
58
|
ads-fe init all --project # 项目级安装
|
|
59
|
+
ads-fe remove all # 移除 codex/claude/cursor 全局 skill
|
|
60
|
+
ads-fe remove codex # 只移除 codex 全局 skill
|
|
61
|
+
ads-fe skill remove all # remove 的等价别名
|
|
50
62
|
|
|
51
63
|
# for ai
|
|
52
64
|
ads-fe skill list # 内置 skill 列表
|
|
@@ -70,8 +82,8 @@ ads-fe skill cleanup --dry-run
|
|
|
70
82
|
|
|
71
83
|
发现顺序:
|
|
72
84
|
|
|
73
|
-
1. 如果设置了 `
|
|
74
|
-
2. 否则扫描项目根目录下的 `
|
|
85
|
+
1. 如果设置了 `ADSPOWER_SKILL_DATA_DIR`,则按操作系统的路径分隔符拆分,并优先扫描这些目录。
|
|
86
|
+
2. 否则扫描项目根目录下的 `skill-data/`。
|
|
75
87
|
|
|
76
88
|
对于每个子目录,如果存在 `SKILL.md`,就会在运行时被发现。
|
|
77
89
|
Frontmatter 字段:
|
|
@@ -90,10 +102,10 @@ Frontmatter 字段:
|
|
|
90
102
|
外部仓库定义在 `src/meta.ts` 中。
|
|
91
103
|
|
|
92
104
|
- `skill init` 会添加缺失的 `sources/<name>` 和 `vendor/<name>` git submodule。
|
|
93
|
-
- `skill sync` 会更新 submodule,然后把配置的 `vendor/<name>/skills/<source>` 目录复制到 `
|
|
105
|
+
- `skill sync` 会更新 submodule,然后把配置的 `vendor/<name>/skills/<source>` 目录复制到 `skill-data/<output>`。
|
|
94
106
|
- `skill sync --no-update` 会从当前本地 vendor checkout 复制,不执行拉取。
|
|
95
107
|
- `skill update` 是显式的更新并同步命令。
|
|
96
108
|
- `skill check` 会 fetch 已初始化的 submodule,并报告每个 submodule 落后 upstream 多少个 commit。
|
|
97
|
-
- `skill cleanup`
|
|
109
|
+
- `skill cleanup` 会删除 `skill-data/` 中不再列在 `src/meta.ts` 中的陈旧生成项;来自 `manual` 的手动 skills 会被保留。
|
|
98
110
|
|
|
99
111
|
每个同步得到的 skill 都会获得一个 `SYNC.md` 文件,其中包含来源路径、git SHA 和同步日期。如果 vendor 仓库根目录存在 license 文件,它会被复制为 `LICENSE.md`。
|
package/dist/cli.js
CHANGED
|
@@ -6,10 +6,11 @@ import path from 'node:path';
|
|
|
6
6
|
import { fileURLToPath } from 'node:url';
|
|
7
7
|
import { Command } from 'commander';
|
|
8
8
|
import { manual, submodules, vendors } from './meta.js';
|
|
9
|
-
const
|
|
9
|
+
const SKILL_DATA_DIR = 'skill-data';
|
|
10
|
+
const SKILL_DIRS = [SKILL_DATA_DIR];
|
|
10
11
|
const SKILL_FILE = 'SKILL.md';
|
|
11
|
-
const
|
|
12
|
-
const GENERATED_SKILL_DIR =
|
|
12
|
+
const ENV_SKILL_DATA_DIR = 'ADSPOWER_SKILL_DATA_DIR';
|
|
13
|
+
const GENERATED_SKILL_DIR = SKILL_DATA_DIR;
|
|
13
14
|
function readFrontmatter(content) {
|
|
14
15
|
const fmMatch = content.match(/^---\n([\s\S]*?)\n---\n?/);
|
|
15
16
|
if (!fmMatch)
|
|
@@ -112,13 +113,6 @@ function copyDirectory(sourceDir, outputDir) {
|
|
|
112
113
|
function removePath(target) {
|
|
113
114
|
fs.rmSync(target, { recursive: true, force: true });
|
|
114
115
|
}
|
|
115
|
-
function copyDirectoryIfExists(sourceDir, outputDir) {
|
|
116
|
-
if (!fs.existsSync(sourceDir) || !fs.statSync(sourceDir).isDirectory())
|
|
117
|
-
return false;
|
|
118
|
-
removePath(outputDir);
|
|
119
|
-
copyDirectory(sourceDir, outputDir);
|
|
120
|
-
return true;
|
|
121
|
-
}
|
|
122
116
|
function writeFileEnsured(filePath, content) {
|
|
123
117
|
fs.mkdirSync(path.dirname(filePath), { recursive: true });
|
|
124
118
|
fs.writeFileSync(filePath, content);
|
|
@@ -126,15 +120,8 @@ function writeFileEnsured(filePath, content) {
|
|
|
126
120
|
function userHome() {
|
|
127
121
|
return os.homedir();
|
|
128
122
|
}
|
|
129
|
-
function
|
|
130
|
-
|
|
131
|
-
return path.join(userHome(), 'Library', 'Application Support', 'Cursor', 'User', 'rules');
|
|
132
|
-
if (process.platform === 'win32') {
|
|
133
|
-
const base = process.env.APPDATA || path.join(userHome(), 'AppData', 'Roaming');
|
|
134
|
-
return path.join(base, 'Cursor', 'User', 'rules');
|
|
135
|
-
}
|
|
136
|
-
const base = process.env.XDG_CONFIG_HOME || path.join(userHome(), '.config');
|
|
137
|
-
return path.join(base, 'Cursor', 'User', 'rules');
|
|
123
|
+
function cursorUserSkillsDir() {
|
|
124
|
+
return path.join(userHome(), '.cursor', 'skills');
|
|
138
125
|
}
|
|
139
126
|
function agentSkillDir(agent, scope) {
|
|
140
127
|
if (scope === 'project') {
|
|
@@ -142,13 +129,13 @@ function agentSkillDir(agent, scope) {
|
|
|
142
129
|
return path.join(process.cwd(), '.claude', 'skills', 'ads-fe');
|
|
143
130
|
if (agent === 'codex')
|
|
144
131
|
return path.join(process.cwd(), '.codex', 'skills', 'ads-fe');
|
|
145
|
-
return path.join(process.cwd(), '.cursor', '
|
|
132
|
+
return path.join(process.cwd(), '.cursor', 'skills', 'ads-fe');
|
|
146
133
|
}
|
|
147
134
|
if (agent === 'claude')
|
|
148
135
|
return path.join(userHome(), '.claude', 'skills', 'ads-fe');
|
|
149
136
|
if (agent === 'codex')
|
|
150
137
|
return path.join(userHome(), '.codex', 'skills', 'ads-fe');
|
|
151
|
-
return
|
|
138
|
+
return path.join(cursorUserSkillsDir(), 'ads-fe');
|
|
152
139
|
}
|
|
153
140
|
function readRootSkill(root) {
|
|
154
141
|
const skillPath = path.join(root, 'skill.md');
|
|
@@ -162,44 +149,21 @@ function installSkillDirectory(agent, scope, root) {
|
|
|
162
149
|
removePath(targetDir);
|
|
163
150
|
fs.mkdirSync(targetDir, { recursive: true });
|
|
164
151
|
fs.copyFileSync(path.join(root, 'skill.md'), path.join(targetDir, SKILL_FILE));
|
|
165
|
-
if (!copyDirectoryIfExists(path.join(root, 'skills'), path.join(targetDir, 'skills'))) {
|
|
166
|
-
warnings.push(`Missing skills directory: ${path.join(root, 'skills')}`);
|
|
167
|
-
}
|
|
168
152
|
return { agent, scope, paths: [targetDir], warnings };
|
|
169
153
|
}
|
|
170
|
-
function cursorRuleContent(rootSkill, dataPath, isProject) {
|
|
171
|
-
const relOrAbsDataPath = isProject ? '.cursor/rules/ads-fe-skills' : dataPath;
|
|
172
|
-
return `---
|
|
173
|
-
description: AdsPower frontend skill
|
|
174
|
-
globs:
|
|
175
|
-
alwaysApply: true
|
|
176
|
-
---
|
|
177
|
-
|
|
178
|
-
# AdsPower Frontend Skill
|
|
179
|
-
|
|
180
|
-
Supporting skill data is installed at \`${relOrAbsDataPath}\`.
|
|
181
|
-
|
|
182
|
-
${rootSkill.trim()}
|
|
183
|
-
`;
|
|
184
|
-
}
|
|
185
|
-
function installCursor(scope, root) {
|
|
186
|
-
const targetBase = agentSkillDir('cursor', scope);
|
|
187
|
-
const rulePath = path.join(targetBase, scope === 'project' ? 'ads-fe.mdc' : 'ads-fe.md');
|
|
188
|
-
const dataPath = path.join(targetBase, 'ads-fe-skills');
|
|
189
|
-
const warnings = [];
|
|
190
|
-
const rootSkill = readRootSkill(root);
|
|
191
|
-
if (!copyDirectoryIfExists(path.join(root, 'skills'), dataPath)) {
|
|
192
|
-
warnings.push(`Missing skills directory: ${path.join(root, 'skills')}`);
|
|
193
|
-
}
|
|
194
|
-
writeFileEnsured(rulePath, cursorRuleContent(rootSkill, dataPath, scope === 'project'));
|
|
195
|
-
return { agent: 'cursor', scope, paths: [rulePath, dataPath], warnings };
|
|
196
|
-
}
|
|
197
154
|
function installAgent(agent, scope, root) {
|
|
198
|
-
if (agent === 'cursor')
|
|
199
|
-
return installCursor(scope, root);
|
|
200
155
|
readRootSkill(root);
|
|
201
156
|
return installSkillDirectory(agent, scope, root);
|
|
202
157
|
}
|
|
158
|
+
function cursorInstallPaths(scope) {
|
|
159
|
+
return [agentSkillDir('cursor', scope)];
|
|
160
|
+
}
|
|
161
|
+
function removeAgent(agent, scope) {
|
|
162
|
+
const paths = agent === 'cursor' ? cursorInstallPaths(scope) : [agentSkillDir(agent, scope)];
|
|
163
|
+
for (const targetPath of paths)
|
|
164
|
+
removePath(targetPath);
|
|
165
|
+
return { agent, scope, paths };
|
|
166
|
+
}
|
|
203
167
|
function getGitSha(dir) {
|
|
204
168
|
return runGitSafe(['rev-parse', 'HEAD'], dir);
|
|
205
169
|
}
|
|
@@ -252,7 +216,7 @@ function expectedGeneratedSkillNames() {
|
|
|
252
216
|
return expected;
|
|
253
217
|
}
|
|
254
218
|
function findSkillDirs() {
|
|
255
|
-
const fromEnv = process.env[
|
|
219
|
+
const fromEnv = process.env[ENV_SKILL_DATA_DIR];
|
|
256
220
|
if (fromEnv) {
|
|
257
221
|
const dirs = fromEnv
|
|
258
222
|
.split(path.delimiter)
|
|
@@ -263,10 +227,19 @@ function findSkillDirs() {
|
|
|
263
227
|
if (dirs.length > 0)
|
|
264
228
|
return dirs;
|
|
265
229
|
}
|
|
266
|
-
const
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
230
|
+
const roots = [detectPackageRoot(), detectSkillPackageRoot()];
|
|
231
|
+
const seen = new Set();
|
|
232
|
+
const dirs = [];
|
|
233
|
+
for (const root of roots) {
|
|
234
|
+
for (const dir of SKILL_DIRS) {
|
|
235
|
+
const candidate = path.join(root, dir);
|
|
236
|
+
if (seen.has(candidate) || !fs.existsSync(candidate) || !fs.statSync(candidate).isDirectory())
|
|
237
|
+
continue;
|
|
238
|
+
seen.add(candidate);
|
|
239
|
+
dirs.push(candidate);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
return dirs;
|
|
270
243
|
}
|
|
271
244
|
function discoverSkills(includeHidden = false) {
|
|
272
245
|
const dirs = findSkillDirs();
|
|
@@ -320,6 +293,27 @@ function collectFilesRecursive(dir) {
|
|
|
320
293
|
}
|
|
321
294
|
const program = new Command();
|
|
322
295
|
program.name('ads-fe');
|
|
296
|
+
function addRemoveCommand(parent) {
|
|
297
|
+
parent
|
|
298
|
+
.command('remove <agent>')
|
|
299
|
+
.description('Remove the AdsPower skill from claude, codex, cursor, or all')
|
|
300
|
+
.option('--project', 'Remove from the current project instead of the global user location')
|
|
301
|
+
.action((agent, opts) => {
|
|
302
|
+
const allowed = new Set(['claude', 'codex', 'cursor', 'all']);
|
|
303
|
+
if (!allowed.has(agent)) {
|
|
304
|
+
process.stderr.write(`Unknown agent: ${agent}. Expected one of: claude, codex, cursor, all\n`);
|
|
305
|
+
process.exitCode = 1;
|
|
306
|
+
return;
|
|
307
|
+
}
|
|
308
|
+
const scope = opts.project ? 'project' : 'global';
|
|
309
|
+
const agents = agent === 'all' ? ['claude', 'codex', 'cursor'] : [agent];
|
|
310
|
+
for (const targetAgent of agents) {
|
|
311
|
+
const result = removeAgent(targetAgent, scope);
|
|
312
|
+
for (const targetPath of result.paths)
|
|
313
|
+
process.stdout.write(`Removed ${result.agent} ${result.scope}: ${targetPath}\n`);
|
|
314
|
+
}
|
|
315
|
+
});
|
|
316
|
+
}
|
|
323
317
|
program
|
|
324
318
|
.command('init <agent>')
|
|
325
319
|
.description('Install the bundled AdsPower skill into claude, codex, cursor, or all')
|
|
@@ -350,6 +344,8 @@ program
|
|
|
350
344
|
}
|
|
351
345
|
});
|
|
352
346
|
const skill = program.command('skill').description('Manage skills');
|
|
347
|
+
addRemoveCommand(program);
|
|
348
|
+
addRemoveCommand(skill);
|
|
353
349
|
skill
|
|
354
350
|
.command('init')
|
|
355
351
|
.description('Add missing external skill repositories as git submodules')
|
|
@@ -369,7 +365,7 @@ skill
|
|
|
369
365
|
});
|
|
370
366
|
skill
|
|
371
367
|
.command('sync')
|
|
372
|
-
.description('Sync configured vendor skills into
|
|
368
|
+
.description('Sync configured vendor skills into skill-data')
|
|
373
369
|
.option('--no-update', 'Skip git submodule update before copying skills')
|
|
374
370
|
.option('--json', 'Output JSON')
|
|
375
371
|
.action((opts) => {
|
|
@@ -389,7 +385,7 @@ skill
|
|
|
389
385
|
});
|
|
390
386
|
skill
|
|
391
387
|
.command('update')
|
|
392
|
-
.description('Update external repositories and sync vendor skills into
|
|
388
|
+
.description('Update external repositories and sync vendor skills into skill-data')
|
|
393
389
|
.option('--json', 'Output JSON')
|
|
394
390
|
.action((opts) => {
|
|
395
391
|
runGit(['submodule', 'update', '--remote', '--merge'], detectPackageRoot());
|
|
@@ -433,7 +429,7 @@ skill
|
|
|
433
429
|
});
|
|
434
430
|
skill
|
|
435
431
|
.command('cleanup')
|
|
436
|
-
.description('Remove generated
|
|
432
|
+
.description('Remove generated skill-data entries that are no longer listed in src/meta.ts')
|
|
437
433
|
.option('--dry-run', 'Print stale generated skills without removing them')
|
|
438
434
|
.action((opts) => {
|
|
439
435
|
const root = detectPackageRoot();
|
package/dist/meta.js
CHANGED
|
@@ -13,7 +13,7 @@ export const submodules = {
|
|
|
13
13
|
// nitro: 'https://github.com/nitrojs/nitro',
|
|
14
14
|
};
|
|
15
15
|
/**
|
|
16
|
-
* Already generated skills, sync
|
|
16
|
+
* Already generated skills, sync from each vendor's `skills/` directory into `skill-data/`
|
|
17
17
|
*/
|
|
18
18
|
export const vendors = {
|
|
19
19
|
'vue': {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ads-fe",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.2",
|
|
4
4
|
"description": "Dynamic skill discovery CLI",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"dist/cli.js",
|
|
28
28
|
"dist/meta.js",
|
|
29
29
|
"skill.md",
|
|
30
|
-
"
|
|
30
|
+
"skill-data",
|
|
31
31
|
"README.md"
|
|
32
32
|
],
|
|
33
33
|
"license": "ISC",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|