Skills Agentes

Vueuse Functions

Aplica composables de VueUse donde corresponda para construir funcionalidades Vue.js / Nuxt concisas y mantenibles.

Reemplaza a: Código bespoke/custom para tareas comunes de estado, DOM, sensores y utilidades en Vue

Estrellas
5.9k

en todo el repo

Actividad
52

0–100, la ruta de este skill

Actualizado
hace 3 meses

último commit aquí

Commits
1

últimos 90 días

Contexto
9.3k tok

24 tok en reposo

Paquete
269 archivos

637 KB

Instalar

Funciona con cualquier agente que lea SKILL.md

npx -y skills add antfu/skills --skill vueuse-functions --agent claude-code

Se instala solo en este repositorio.

Qué hace

  • Mapea requisitos de Vue.js/Nuxt a la función VueUse más adecuada y aplica su patrón de uso correcto
  • Prefiere composables de VueUse sobre código a medida para mejorar legibilidad, mantenibilidad y rendimiento
  • Consulta el documento correspondiente en ./references para detalles de uso y declaraciones de tipos antes de usar cualquier función
  • Sigue la regla de invocación de cada función: AUTO, EXTERNAL o EXPLICIT_ONLY

Úsalo cuando

  • Siempre que se asista en desarrollo en Vue.js / Nuxt
  • Antes de escribir código a medida, para comprobar primero si una función VueUse puede implementar el requisito

No lo uses cuando

    Qué lo activa

    Di cualquiera de estas frases y el agente debería cargar este skill.

    • “Necesito una función que trackee el tamaño de un elemento HTML de forma reactiva”
    • “Cómo implemento drag and drop reactivo en mi componente Vue”
    • “Quiero persistir un estado en localStorage de forma reactiva en Nuxt”
    • “Ayúdame a crear un composable de debounce para un ref”

    SKILL.md

    En inglés

    VueUse Functions

    This skill is a decision-and-implementation guide for VueUse composables in Vue.js / Nuxt projects. It maps requirements to the most suitable VueUse function, applies the correct usage pattern, and prefers composable-based solutions over bespoke code to keep implementations concise, maintainable, and performant.

    When to Apply

    • Apply this skill whenever assisting user development work in Vue.js / Nuxt.
    • Always check first whether a VueUse function can implement the requirement.
    • Prefer VueUse composables over custom code to improve readability, maintainability, and performance.
    • Map requirements to the most appropriate VueUse function and follow the function’s invocation rule.
    • Please refer to the Invocation field in the below functions table. For example:
      • AUTO: Use automatically when applicable.
      • EXTERNAL: Use only if the user already installed the required external dependency; otherwise reconsider, and ask to install only if truly needed.
      • EXPLICIT_ONLY: Use only when explicitly requested by the user.

      NOTE User instructions in the prompt or AGENTS.md may override a function’s default Invocation rule.

    Functions

    All functions listed below are part of the VueUse library, each section categorizes functions based on their functionality.

    IMPORTANT: Each function entry includes a short Description and a detailed Reference. When using any function, always consult the corresponding document in ./references for Usage details and Type Declarations.

    State

    Function Description Invocation
    createGlobalState Keep states in the global scope to be reusable across Vue instances AUTO
    createInjectionState Create global state that can be injected into components AUTO
    createSharedComposable Make a composable function usable with multiple Vue instances AUTO
    injectLocal Extended inject with ability to call provideLocal to provide the value in the same component AUTO
    provideLocal Extended provide with ability to call injectLocal to obtain the value in the same component AUTO
    useAsyncState Reactive async state AUTO
    useDebouncedRefHistory Shorthand for useRefHistory with debounced filter AUTO
    useLastChanged Records the timestamp of the last change AUTO
    useLocalStorage Reactive LocalStorage AUTO
    useManualRefHistory Manually track the change history of a ref when the user calls commit() AUTO
    useRefHistory Track the change history of a ref AUTO
    useSessionStorage Reactive SessionStorage AUTO
    useStorage Create a reactive ref that can be used to access & modify LocalStorage or SessionStorage AUTO
    useStorageAsync Reactive Storage with async support AUTO
    useThrottledRefHistory Shorthand for useRefHistory with throttled filter AUTO

    Elements

    Function Description Invocation
    useActiveElement Reactive document.activeElement AUTO
    useDocumentVisibility Reactively track document.visibilityState AUTO
    useDraggable Make elements draggable AUTO
    useDropZone Create a zone where files can be dropped AUTO
    useElementBounding Reactive bounding box of an HTML element AUTO
    useElementSize Reactive size of an HTML element AUTO
    useElementVisibility Tracks the visibility of an element within the viewport AUTO
    useIntersectionObserver Detects changes to a target element's visibility AUTO
    useMouseInElement Reactive mouse position related to an element AUTO
    useMutationObserver Watch for changes being made to the DOM tree AUTO
    useParentElement Get parent element of the given element AUTO
    useResizeObserver Reports changes to the dimensions of an Element's content or the border-box AUTO
    useWindowFocus Reactively track window focus with window.onfocus and window.onblur events AUTO
    useWindowScroll Reactive window scroll AUTO
    useWindowSize Reactive window size AUTO

    Browser

    Function Description Invocation
    useBluetooth Reactive Web Bluetooth API AUTO
    useBreakpoints Reactive viewport breakpoints AUTO
    useBroadcastChannel Reactive BroadcastChannel API AUTO
    useBrowserLocation Reactive browser location AUTO
    useClipboard Reactive Clipboard API AUTO
    useClipboardItems Reactive Clipboard API AUTO
    useColorMode Reactive color mode (dark / light / customs) with auto data persistence AUTO
    useCssSupports SSR compatible and reactive CSS.supports AUTO
    useCssVar Manipulate CSS variables AUTO
    useDark Reactive dark mode with auto data persistence AUTO
    useEventListener Use EventListener with ease AUTO
    useEyeDropper Reactive EyeDropper API AUTO
    useFavicon Reactive favicon AUTO
    useFileDialog Open file dialog with ease AUTO
    useFileSystemAccess Create and read and write local files with FileSystemAccessAPI AUTO
    useFullscreen Reactive Fullscreen API AUTO
    useGamepad Provides reactive bindings for the Gamepad API AUTO
    useImage Reactive load an image in the browser AUTO
    useMediaControls Reactive media controls for both audio and video elements AUTO
    useMediaQuery Reactive Media Query AUTO
    useMemory Reactive Memory Info AUTO
    useObjectUrl Reactive URL representing an object AUTO
    usePerformanceObserver Observe performance metrics AUTO
    usePermission Reactive Permissions API AUTO
    usePreferredColorScheme Reactive prefers-color-scheme media query AUTO
    usePreferredContrast Reactive prefers-contrast media query AUTO
    usePreferredDark Reactive dark theme preference AUTO
    usePreferredLanguages Reactive Navigator Languages AUTO
    usePreferredReducedMotion Reactive prefers-reduced-motion media query AUTO
    usePreferredReducedTransparency Reactive prefers-reduced-transparency media query AUTO
    useScreenOrientation Reactive Screen Orientation API AUTO
    useScreenSafeArea Reactive env(safe-area-inset-*) AUTO
    useScriptTag Creates a script tag AUTO
    useShare Reactive Web Share API AUTO
    useSSRWidth Used to set a global viewport width which will be used when rendering SSR components that rely on the viewport width like useMediaQuery or useBreakpoints AUTO
    useStyleTag Inject reactive style element in head AUTO
    useTextareaAutosize Automatically update the height of a textarea depending on the content AUTO
    useTextDirection Reactive dir of the element's text AUTO
    useTitle Reactive document title AUTO
    useUrlSearchParams Reactive URLSearchParams AUTO
    useVibrate Reactive Vibration API AUTO
    useWakeLock Reactive Screen Wake Lock API AUTO
    useWebNotification Reactive Notification AUTO
    useWebWorker Simple Web Workers registration and communication AUTO
    useWebWorkerFn Run expensive functions without blocking the UI AUTO

    Sensors

    Function Description Invocation
    onClickOutside Listen for clicks outside of an element AUTO
    onElementRemoval Fires when the element or any element containing it is removed from the DOM AUTO
    onKeyStroke Listen for keyboard keystrokes AUTO
    onLongPress Listen for a long press on an element AUTO
    onStartTyping Fires when users start typing on non-editable elements AUTO
    useBattery Reactive Battery Status API AUTO
    useDeviceMotion Reactive DeviceMotionEvent AUTO
    useDeviceOrientation Reactive DeviceOrientationEvent AUTO
    useDevicePixelRatio Reactively track window.devicePixelRatio AUTO
    useDevicesList Reactive enumerateDevices listing available input/output devices AUTO
    useDisplayMedia Reactive mediaDevices.getDisplayMedia streaming AUTO
    useElementByPoint Reactive element by point AUTO
    useElementHover Reactive element's hover state AUTO
    useFocus Reactive utility to track or set the focus state of a DOM element AUTO
    useFocusWithin Reactive utility to track if an element or one of its descendants has focus AUTO
    useFps Reactive FPS (frames per second) AUTO
    useGeolocation Reactive Geolocation API AUTO
    useIdle Tracks whether the user is being inactive AUTO
    useInfiniteScroll Infinite scrolling of the element AUTO
    useKeyModifier Reactive Modifier State AUTO
    useMagicKeys Reactive keys pressed state AUTO
    useMouse Reactive mouse position AUTO
    useMousePressed Reactive mouse pressing state AUTO
    useNavigatorLanguage Reactive navigator.language AUTO
    useNetwork Reactive Network status AUTO
    useOnline Reactive online state AUTO
    usePageLeave Reactive state to show whether the mouse leaves the page AUTO
    useParallax Create parallax effect easily AUTO
    usePointer Reactive pointer state AUTO
    usePointerLock Reactive pointer lock AUTO
    usePointerSwipe Reactive swipe detection based on PointerEvents AUTO
    useScroll Reactive scroll position and state AUTO
    useScrollLock Lock scrolling of the element AUTO
    useSpeechRecognition Reactive SpeechRecognition AUTO
    useSpeechSynthesis Reactive SpeechSynthesis AUTO
    useSwipe Reactive swipe detection based on TouchEvents AUTO
    useTextSelection Reactively track user text selection based on Window.getSelection AUTO
    useUserMedia Reactive mediaDevices.getUserMedia streaming AUTO

    Network

    Function Description Invocation
    useEventSource An EventSource or Server-Sent-Events instance opens a persistent connection to an HTTP server AUTO
    useFetch Reactive Fetch API provides the ability to abort requests AUTO
    useWebSocket Reactive WebSocket client AUTO

    Animation

    Function Description Invocation
    useAnimate Reactive Web Animations API AUTO
    useInterval Reactive counter that increases on every interval AUTO
    useIntervalFn Wrapper for setInterval with controls AUTO
    useNow Reactive current Date instance AUTO
    useRafFn Call function on every requestAnimationFrame AUTO
    useTimeout Reactive value that becomes true after a given time AUTO
    useTimeoutFn Wrapper for setTimeout with controls AUTO
    useTimestamp Reactive current timestamp AUTO
    useTransition Transition between values AUTO

    Component

    Function Description Invocation
    computedInject Combine computed and inject AUTO
    createReusableTemplate Define and reuse template inside the component scope AUTO
    createTemplatePromise Template as Promise AUTO
    templateRef Shorthand for binding ref to template element AUTO
    tryOnBeforeMount Safe onBeforeMount AUTO
    tryOnBeforeUnmount Safe onBeforeUnmount AUTO
    tryOnMounted Safe onMounted AUTO
    tryOnScopeDispose Safe onScopeDispose AUTO
    tryOnUnmounted Safe onUnmounted AUTO
    unrefElement Retrieves the underlying DOM element from a Vue ref or component instance AUTO
    useCurrentElement Get the DOM element of current component as a ref AUTO
    useMounted Mounted state in ref AUTO
    useTemplateRefsList Shorthand for binding refs to template elements and components inside v-for AUTO
    useVirtualList Create virtual lists with ease AUTO
    useVModel Shorthand for v-model binding AUTO
    useVModels Shorthand for props v-model binding AUTO

    Watch

    Function Description Invocation
    until Promised one-time watch for changes AUTO
    watchArray Watch for an array with additions and removals AUTO
    watchAtMost watch with the number of times triggered AUTO
    watchDebounced Debounced watch AUTO
    watchDeep Shorthand for watching value with {deep: true} AUTO
    watchIgnorable Ignorable watch AUTO
    watchImmediate Shorthand for watching value with {immediate: true} AUTO
    watchOnce Shorthand for watching value with { once: true } AUTO
    watchPausable Pausable watch AUTO
    watchThrottled Throttled watch AUTO
    watchTriggerable Watch that can be triggered manually AUTO
    watchWithFilter watch with additional EventFilter control AUTO
    whenever Shorthand for watching value to be truthy AUTO

    Reactivity

    Function Description Invocation
    computedAsync Computed for async functions AUTO
    computedEager Eager computed without lazy evaluation AUTO
    computedWithControl Explicitly define the dependencies of computed AUTO
    createRef Returns a deepRef or shallowRef depending on the deep param AUTO
    extendRef Add extra attributes to Ref AUTO
    reactify Converts plain functions into reactive functions AUTO
    reactifyObject Apply reactify to an object AUTO
    reactiveComputed Computed reactive object AUTO
    reactiveOmit Reactively omit fields from a reactive object AUTO
    reactivePick Reactively pick fields from a reactive object AUTO
    refAutoReset A ref which will be reset to the default value after some time AUTO
    refDebounced Debounce execution of a ref value AUTO
    refDefault Apply default value to a ref AUTO
    refManualReset Create a ref with manual reset functionality AUTO
    refThrottled Throttle changing of a ref value AUTO
    refWithControl Fine-grained controls over ref and its reactivity AUTO
    syncRef Two-way refs synchronization AUTO
    syncRefs Keep target refs in sync with a source ref AUTO
    toReactive Converts ref to reactive AUTO
    toRef Normalize value/ref/getter to ref or computed EXPLICIT_ONLY
    toRefs Extended toRefs that also accepts refs of an object AUTO

    Array

    Function Description Invocation
    useArrayDifference Reactive get array difference of two arrays AUTO
    useArrayEvery Reactive Array.every AUTO
    useArrayFilter Reactive Array.filter AUTO
    useArrayFind Reactive Array.find AUTO
    useArrayFindIndex Reactive Array.findIndex AUTO
    useArrayFindLast Reactive Array.findLast AUTO
    useArrayIncludes Reactive Array.includes AUTO
    useArrayJoin Reactive Array.join AUTO
    useArrayMap Reactive Array.map AUTO
    useArrayReduce Reactive Array.reduce AUTO
    useArraySome Reactive Array.some AUTO
    useArrayUnique Reactive unique array AUTO
    useSorted Reactive sort array AUTO

    Time

    Function Description Invocation
    useCountdown Reactive countdown timer in seconds AUTO
    useDateFormat Get the formatted date according to the string of tokens passed in AUTO
    useTimeAgo Reactive time ago AUTO
    useTimeAgoIntl Reactive time ago with i18n supported AUTO

    Utilities

    Function Description Invocation
    createDisposableDirective Utility for authoring disposable directives AUTO
    createEventHook Utility for creating event hooks AUTO
    createUnrefFn Make a plain function accepting ref and raw values as arguments AUTO
    get Shorthand for accessing ref.value EXPLICIT_ONLY
    isDefined Non-nullish checking type guard for Ref AUTO
    makeDestructurable Make isomorphic destructurable for object and array at the same time AUTO
    set Shorthand for ref.value = x EXPLICIT_ONLY
    useAsyncQueue Executes each asynchronous task sequentially and passes the current task result to the next task AUTO
    useBase64 Reactive base64 transforming AUTO
    useCached Cache a ref with a custom comparator AUTO
    useCloned Reactive clone of a ref AUTO
    useConfirmDialog Creates event hooks to support modals and confirmation dialog chains AUTO
    useCounter Basic counter with utility functions AUTO
    useCycleList Cycle through a list of items AUTO
    useDebounceFn Debounce execution of a function AUTO
    useEventBus A basic event bus AUTO
    useMemoize Cache results of functions depending on arguments and keep it reactive AUTO
    useOffsetPagination Reactive offset pagination AUTO
    usePrevious Holds the previous value of a ref AUTO
    useStepper Provides helpers for building a multi-step wizard interface AUTO
    useSupported SSR compatibility isSupported AUTO
    useThrottleFn Throttle execution of a function AUTO
    useTimeoutPoll Use timeout to poll something AUTO
    useToggle A boolean switcher with utility functions AUTO
    useToNumber Reactively convert a string ref to number AUTO
    useToString Reactively convert a ref to string AUTO

    @Electron

    Function Description Invocation
    useIpcRenderer Provides ipcRenderer and all of its APIs with Vue reactivity EXTERNAL
    useIpcRendererInvoke Reactive ipcRenderer.invoke API result EXTERNAL
    useIpcRendererOn Use ipcRenderer.on with ease and ipcRenderer.removeListener automatically on unmounted EXTERNAL
    useZoomFactor Reactive WebFrame zoom factor EXTERNAL
    useZoomLevel Reactive WebFrame zoom level EXTERNAL

    @Firebase

    Function Description Invocation
    useAuth Reactive Firebase Auth binding EXTERNAL
    useFirestore Reactive Firestore binding EXTERNAL
    useRTDB Reactive Firebase Realtime Database binding EXTERNAL

    @Head

    Function Description Invocation
    createHead Create the head manager instance. EXTERNAL
    useHead Update head meta tags reactively. EXTERNAL

    @Integrations

    Function Description Invocation
    useAsyncValidator Wrapper for async-validator EXTERNAL
    useAxios Wrapper for axios EXTERNAL
    useChangeCase Reactive wrapper for change-case EXTERNAL
    useCookies Wrapper for universal-cookie EXTERNAL
    useDrauu Reactive instance for drauu EXTERNAL
    useFocusTrap Reactive wrapper for focus-trap EXTERNAL
    useFuse Easily implement fuzzy search using a composable with Fuse.js EXTERNAL
    useIDBKeyval Wrapper for idb-keyval EXTERNAL
    useJwt Wrapper for jwt-decode EXTERNAL
    useNProgress Reactive wrapper for nprogress EXTERNAL
    useQRCode Wrapper for qrcode EXTERNAL
    useSortable Wrapper for sortable EXTERNAL

    @Math

    Function Description Invocation
    createGenericProjection Generic version of createProjection EXTERNAL
    createProjection Reactive numeric projection from one domain to another EXTERNAL
    logicAnd AND condition for refs EXTERNAL
    logicNot NOT condition for ref EXTERNAL
    logicOr OR conditions for refs EXTERNAL
    useAbs Reactive Math.abs EXTERNAL
    useAverage Get the average of an array reactively EXTERNAL
    useCeil Reactive Math.ceil EXTERNAL
    useClamp Reactively clamp a value between two other values EXTERNAL
    useFloor Reactive Math.floor EXTERNAL
    useMath Reactive Math methods EXTERNAL
    useMax Reactive Math.max EXTERNAL
    useMin Reactive Math.min EXTERNAL
    usePrecision Reactively set the precision of a number EXTERNAL
    useProjection Reactive numeric projection from one domain to another EXTERNAL
    useRound Reactive Math.round EXTERNAL
    useSum Get the sum of an array reactively EXTERNAL
    useTrunc Reactive Math.trunc EXTERNAL

    @Motion

    Function Description Invocation
    useElementStyle Sync a reactive object to a target element CSS styling EXTERNAL
    useElementTransform Sync a reactive object to a target element CSS transform. EXTERNAL
    useMotion Putting your components in motion. EXTERNAL
    useMotionProperties Access Motion Properties for a target element. EXTERNAL
    useMotionVariants Handle the Variants state and selection. EXTERNAL
    useSpring Spring animations. EXTERNAL

    @Router

    Function Description Invocation
    useRouteHash Shorthand for a reactive route.hash EXTERNAL
    useRouteParams Shorthand for a reactive route.params EXTERNAL
    useRouteQuery Shorthand for a reactive route.query EXTERNAL

    @RxJS

    Function Description Invocation
    from Wrappers around RxJS's from() and fromEvent() to allow them to accept refs EXTERNAL
    toObserver Sugar function to convert a ref into an RxJS Observer EXTERNAL
    useExtractedObservable Use an RxJS Observable as extracted from one or more composables EXTERNAL
    useObservable Use an RxJS Observable EXTERNAL
    useSubject Bind an RxJS Subject to a ref and propagate value changes both ways EXTERNAL
    useSubscription Use an RxJS Subscription without worrying about unsubscribing from it or creating memory leaks EXTERNAL
    watchExtractedObservable Watch the values of an RxJS Observable as extracted from one or more composables EXTERNAL

    @SchemaOrg

    Function Description Invocation
    createSchemaOrg Create the schema.org manager instance. EXTERNAL
    useSchemaOrg Update schema.org reactively. EXTERNAL

    @Sound

    Function Description Invocation
    useSound Play sound effects reactively. EXTERNAL

    Reproducido de antfu/skills bajo licencia MIT. Leer esta página en markdown.

    Archivos

    269 archivos en el paquete. Solo se lee SKILL.md al activarse — las referencias se cargan si el skill decide que las necesita.

    Antes de instalar

    Requiere un proyecto Vue 3 (o superior) o Nuxt 3 (o superior); algunas funciones EXTERNAL requieren que el usuario ya tenga instalada la dependencia externa correspondiente.

    Detalles

    Creador
    antfu
    Licencia
    MIT
    Recursos incluidos
    referencias
    Repositorio
    antfu/skills
    Código fuente
    Ver SKILL.md

    Etiquetas

    Más de antfu/skills

    Este repo incluye 19 skills. Si instalas uno, normalmente ya tienes los demás. Ver el pack skills entero y su comando de instalación

    Antfu

    5.9k

    Herramientas y convenciones de Anthony Fu para proyectos JavaScript/TypeScript: configuración de ESLint, monorepos y publicación de librerías.

    Costo de contexto al activarse
    1.3k tok
    Tamaño del paquete
    6 archivos
    Última actualización
    hace 3 meses
    herramientas desarrollo

    Convenciones de diseño estilo antfu: tokens semánticos basados en clases con UnoCSS para light/dark, más reglas anti-slop y de micro-interacción para devtools y landing pages.

    Costo de contexto al activarse
    1.3k tok
    Tamaño del paquete
    15 archivos
    Última actualización
    hace 3 meses
    diseno ui

    Nitro

    5.9k

    Nitro es el toolkit de servidor agnóstico de framework (usado por Nuxt) para construir y desplegar servidores web en cualquier lugar: routing, config, caching, tasks, websockets y despliegue en Node/Bun/Deno/Cloudflare/Vercel.

    Costo de contexto al activarse
    880 tok
    Tamaño del paquete
    15 archivos
    Última actualización
    hace 3 meses
    desarrollo apis

    Nuxt

    5.9k

    Framework full-stack Vue con SSR, auto-imports y routing basado en archivos. Úsalo para apps Nuxt, server routes, useFetch, middleware o hybrid rendering.

    Costo de contexto al activarse
    977 tok
    Tamaño del paquete
    20 archivos
    Última actualización
    hace 3 meses
    herramientas desarrollo

    Pnpm

    5.9k

    Gestor de paquetes de Node.js con resolución estricta de dependencias. Úsalo para comandos de pnpm, pnpm-workspace.yaml, catalogs, patches, overrides, config dependencies o el global virtual store.

    Costo de contexto al activarse
    1k tok
    Tamaño del paquete
    18 archivos
    Última actualización
    hace 3 meses
    herramientas desarrollo

    Slidev

    5.9k

    Crea y presenta slidedecks web para desarrolladores con Slidev, usando Markdown, componentes Vue, resaltado de código, animaciones y funciones interactivas.

    Costo de contexto al activarse
    2.2k tok
    Tamaño del paquete
    56 archivos
    Última actualización
    hace 3 meses
    documentos

    Skills relacionados

    Optimiza la configuración del contexto del agente. Úsalo al iniciar una sesión nueva, cuando la calidad del agente empeora, al cambiar de tarea o al configurar archivos de reglas y contexto de un proyecto.

    Costo de contexto al activarse
    3.9k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 29 días
    herramientas desarrollo

    Gestiona la baja y migración de sistemas: retirar APIs o funciones antiguas, migrar usuarios a una nueva implementación, migrar un esquema de BD en producción (expand/contract) sin downtime, o decidir si mantener o retirar código.

    Costo de contexto al activarse
    3.2k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    el mes pasado
    herramientas desarrollo

    Estructura las prácticas de flujo de trabajo en git: commits, ramas, resolver conflictos, dividir trabajo sin confirmar en commits atómicos, PRs, push, trabajo en paralelo, releases, versión semántica, tags y changelog.

    Costo de contexto al activarse
    3.5k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 2 meses
    herramientas desarrollo