Individual skill
c15t
Set up, customize or debug c15t consent management with the c15t umbrella package. Use when the project uses c15t with Next.js, React, TanStack Start, Vue, Nuxt, Astro or plain JavaScript, or when a task mentions a cookie banner, consent dialog, GDPR or CCPA prompts, blocking analytics until consent, Google Consent Mode or IAB TCF.
packages/c15t/SKILL.md
Source commit 0ae883c23306c0ff60eeef26a6cedaa259cc98e1
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- No
- Repository scan complete
- Yes
- Skill scan complete
- Yes
- Observed behavior
- Not checked yet
- Last checked
- Nov 3, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 2,022
- Repository last updated
- Nov 6, 2026
- License
- Apache-2.0
Observed agent integration: codex
- cmp Repository topic
- cookie-banner Repository topic
- typescript Repository topic
- ccpa Repository topic
- consent-mode Repository topic
- cookie-consent Repository topic
- gdpr Repository topic
- iab-tcf Repository topic
- javascript Repository topic
- nextjs Repository topic
- data Derived category
- engineering Derived category
- engineering-web Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
AGENTS.mddoc · 84,844 bytesCHANGELOG.mddoc · 187,165 bytesREADME.mddoc · 12,148 bytesSKILL.mdcore · 3,138 bytes__tests__/facade-parity.test.tsruns · 12,234 bytes__tests__/parity-runner.mjsruns · 3,991 bytesdocs/integrations/cloudflare-zaraz.mddoc · 14,872 bytesknip.jsonasset · 483 bytespackage.jsonruns · 27,243 bytesreadme.jsonasset · 5,949 bytesscripts/copy-distribution-css.tsruns · 2,099 bytesshims/astro.d.tsruns · 138 bytesshims/astro.jsruns · 138 bytesshims/astro/api.d.tsruns · 103 bytesshims/astro/api.jsruns · 103 bytesshims/astro/client.d.tsruns · 106 bytesshims/astro/client.jsruns · 106 bytesshims/astro/components.d.tsruns · 110 bytesshims/astro/components.jsruns · 110 bytesshims/astro/components/consent-script.astro.d.tsruns · 141 bytesshims/astro/components/consent-script.astro.jsruns · 141 bytesshims/astro/components/iab-panel.astro.d.tsruns · 145 bytesshims/astro/components/iab-panel.astro.jsruns · 145 bytesshims/astro/components/iab-prompt.astro.d.tsruns · 145 bytesshims/astro/components/iab-prompt.astro.jsruns · 145 bytesshims/astro/components/panel-link.astro.d.tsruns · 146 bytesshims/astro/components/panel-link.astro.jsruns · 146 bytesshims/astro/components/panel.astro.d.tsruns · 141 bytesshims/astro/components/panel.astro.jsruns · 141 bytesshims/astro/components/prompt-deferred.astro.d.tsruns · 150 bytesshims/astro/components/prompt-deferred.astro.jsruns · 150 bytesshims/astro/components/prompt.astro.d.tsruns · 141 bytesshims/astro/components/prompt.astro.jsruns · 141 bytesshims/astro/middleware.d.tsruns · 160 bytesshims/astro/middleware.jsruns · 160 bytesshims/astro/server.d.tsruns · 106 bytesshims/astro/server.jsruns · 106 bytesshims/astro/ui/react.d.tsruns · 108 bytesshims/astro/ui/react.jsruns · 108 bytesshims/astro/ui/svelte.d.tsruns · 109 bytesshims/astro/ui/svelte.jsruns · 109 bytesshims/astro/ui/vue.d.tsruns · 106 bytesshims/astro/ui/vue.jsruns · 106 bytesshims/build.d.tsruns · 104 bytesshims/build.jsruns · 104 bytesshims/consent-categories.d.tsruns · 117 bytesshims/consent-categories.jsruns · 117 bytesshims/consent-record.d.tsruns · 113 bytesshims/consent-record.jsruns · 113 bytesshims/events.d.tsruns · 105 bytesshims/events.jsruns · 105 bytesshims/experiment.d.tsruns · 109 bytesshims/experiment.jsruns · 109 bytesshims/generated.d.tsruns · 108 bytesshims/generated.jsruns · 108 bytesshims/index.d.tsruns · 98 bytesshims/index.jsruns · 98 bytesshims/libs/generate-subject-id.d.tsruns · 123 bytesshims/libs/generate-subject-id.jsruns · 123 bytesshims/modes.d.tsruns · 104 bytesshims/modes.jsruns · 104 bytesshims/modules/clear-on-revocation.d.tsruns · 126 bytesshims/modules/clear-on-revocation.jsruns · 126 bytesshims/modules/iframe-blocker.d.tsruns · 121 bytesshims/modules/iframe-blocker.jsruns · 121 bytesshims/modules/network-blocker.d.tsruns · 122 bytesshims/modules/network-blocker.jsruns · 122 bytesshims/modules/network-hold.d.tsruns · 119 bytesshims/modules/network-hold.jsruns · 119 bytesshims/modules/persistence.d.tsruns · 118 bytesshims/modules/persistence.jsruns · 118 bytesshims/modules/script-loader.d.tsruns · 120 bytesshims/modules/script-loader.jsruns · 120 bytesshims/modules/window-debug.d.tsruns · 119 bytesshims/modules/window-debug.jsruns · 119 bytesshims/next.d.tsruns · 100 bytesshims/next.jsruns · 100 bytesshims/next/api.d.tsruns · 104 bytesshims/next/api.jsruns · 104 bytesshims/next/build.d.tsruns · 106 bytesshims/next/build.jsruns · 106 bytesshims/next/components/panel-link.d.tsruns · 131 bytesshims/next/components/panel-link.jsruns · 146 bytesshims/next/devtools.d.tsruns · 109 bytesshims/next/devtools.jsruns · 124 bytesshims/next/headless.d.tsruns · 109 bytesshims/next/headless.jsruns · 109 bytesshims/next/middleware.d.tsruns · 111 bytesshims/next/middleware.jsruns · 111 bytesshims/next/pages.d.tsruns · 106 bytesshims/next/pages.jsruns · 106 bytesshims/next/proxy.d.tsruns · 106 bytesshims/next/proxy.jsruns · 106 bytesshims/next/server.d.tsruns · 107 bytesshims/next/server.jsruns · 107 bytesshims/next/static.d.tsruns · 107 bytesshims/next/static.jsruns · 107 bytesshims/postcss-tailwind3.d.tsruns · 168 bytesshims/postcss-tailwind3.jsruns · 168 bytesshims/preference-draft.d.tsruns · 115 bytesshims/preference-draft.jsruns · 115 bytesshims/react.d.tsruns · 274 bytesshims/react.jsruns · 169 bytesshims/react/components/consent-gate.d.tsruns · 123 bytesshims/react/components/consent-gate.jsruns · 138 bytesshims/react/components/frame.d.tsruns · 116 bytesshims/react/components/frame.jsruns · 131 bytesshims/react/components/panel-link.d.tsruns · 130 bytesshims/react/components/panel-link.jsruns · 145 bytesshims/react/components/panel-trigger.d.tsruns · 133 bytesshims/react/components/panel-trigger.jsruns · 148 bytesshims/react/components/panel.d.tsruns · 190 bytesshims/react/components/panel.jsruns · 205 bytesshims/react/components/preferences.d.tsruns · 190 bytesshims/react/components/preferences.jsruns · 205 bytesshims/react/components/prompt.d.tsruns · 190 bytesshims/react/components/prompt.jsruns · 205 bytesshims/react/consent-gate.d.tsruns · 112 bytesshims/react/consent-gate.jsruns · 127 bytesshims/react/context.d.tsruns · 107 bytesshims/react/context.jsruns · 107 bytesshims/react/devtools.d.tsruns · 108 bytesshims/react/devtools.jsruns · 123 bytesshims/react/draft.d.tsruns · 105 bytesshims/react/draft.jsruns · 120 bytesshims/react/frame.d.tsruns · 105 bytesshims/react/frame.jsruns · 120 bytesshims/react/gpp.d.tsruns · 103 bytesshims/react/gpp.jsruns · 118 bytesshims/react/headless.d.tsruns · 108 bytesshims/react/headless.jsruns · 108 bytesshims/react/hooks.d.tsruns · 105 bytesshims/react/hooks.jsruns · 105 bytesshims/react/iab.d.tsruns · 103 bytesshims/react/iab.jsruns · 103 bytesshims/react/modes.d.tsruns · 105 bytesshims/react/modes.jsruns · 105 bytesshims/react/module-hooks.d.tsruns · 112 bytesshims/react/module-hooks.jsruns · 127 bytesshims/react/module-hooks/iframe-blocker.d.tsruns · 127 bytesshims/react/module-hooks/iframe-blocker.jsruns · 142 bytesshims/react/module-hooks/network-blocker.d.tsruns · 128 bytesshims/react/module-hooks/network-blocker.jsruns · 143 bytesshims/react/module-hooks/persistence.d.tsruns · 124 bytesshims/react/module-hooks/persistence.jsruns · 139 bytesshims/react/module-hooks/script-loader.d.tsruns · 126 bytesshims/react/module-hooks/script-loader.jsruns · 141 bytesshims/react/panel-link.d.tsruns · 119 bytesshims/react/panel-link.jsruns · 134 bytesshims/react/panel-trigger.d.tsruns · 122 bytesshims/react/panel-trigger.jsruns · 137 bytesshims/react/panel.d.tsruns · 114 bytesshims/react/panel.jsruns · 129 bytesshims/react/preferences.d.tsruns · 114 bytesshims/react/preferences.jsruns · 129 bytesshims/react/primitives.d.tsruns · 110 bytesshims/react/primitives.jsruns · 110 bytesshims/react/primitives/accordion.d.tsruns · 120 bytesshims/react/primitives/accordion.jsruns · 120 bytesshims/react/primitives/button.d.tsruns · 117 bytesshims/react/primitives/button.jsruns · 117 bytesshims/react/primitives/collapsible.d.tsruns · 122 bytesshims/react/primitives/collapsible.jsruns · 122 bytesshims/react/primitives/dialog.d.tsruns · 117 bytesshims/react/primitives/dialog.jsruns · 117 bytesshims/react/primitives/preference-item.d.tsruns · 126 bytesshims/react/primitives/preference-item.jsruns · 126 bytesshims/react/primitives/switch.d.tsruns · 117 bytesshims/react/primitives/switch.jsruns · 117 bytesshims/react/primitives/tabs.d.tsruns · 115 bytesshims/react/primitives/tabs.jsruns · 115 bytesshims/react/prompt.d.tsruns · 114 bytesshims/react/prompt.jsruns · 129 bytesshims/react/provider.d.tsruns · 108 bytesshims/react/provider.jsruns · 123 bytesshims/react/server.d.tsruns · 106 bytesshims/react/server.jsruns · 106 bytesshims/react/theme.d.tsruns · 105 bytesshims/react/theme.jsruns · 105 bytesshims/react/types.d.tsruns · 105 bytesshims/react/types.jsruns · 105 bytesshims/react/utils.d.tsruns · 105 bytesshims/react/utils.jsruns · 105 bytesshims/runtime.d.tsruns · 106 bytesshims/runtime.jsruns · 106 bytesshims/runtime/client-mode.d.tsruns · 118 bytesshims/runtime/client-mode.jsruns · 118 bytesshims/runtime/controls.d.tsruns · 115 bytesshims/runtime/controls.jsruns · 115 bytesshims/runtime/on-demand-factories.d.tsruns · 126 bytesshims/runtime/on-demand-factories.jsruns · 126 bytesshims/runtime/on-demand.d.tsruns · 116 bytesshims/runtime/on-demand.jsruns · 116 bytesshims/runtime/provider.d.tsruns · 115 bytesshims/runtime/provider.jsruns · 115 bytesshims/runtime/script-server-start.d.tsruns · 126 bytesshims/runtime/script-server-start.jsruns · 126 bytesshims/server.d.tsruns · 105 bytesshims/server.jsruns · 105 bytesshims/static.d.tsruns · 105 bytesshims/static.jsruns · 105 bytesshims/surface-actions.d.tsruns · 114 bytesshims/surface-actions.jsruns · 114 bytesshims/svelte.d.tsruns · 100 bytesshims/svelte.jsruns · 100 bytesshims/svelte/devtools.d.tsruns · 158 bytesshims/svelte/devtools.jsruns · 158 bytesshims/svelte/headless.d.tsruns · 109 bytesshims/svelte/headless.jsruns · 109 bytesshims/svelte/kit.d.tsruns · 104 bytesshims/svelte/kit.jsruns · 104 bytesshims/svelte/kit/locals.d.tsruns · 111 bytesshims/svelte/server.d.tsruns · 107 bytesshims/svelte/server.jsruns · 107 bytesshims/svelte/vite.d.tsruns · 105 bytesshims/svelte/vite.jsruns · 105 bytesshims/tanstack-start.d.tsruns · 108 bytesshims/tanstack-start.jsruns · 108 bytesshims/tanstack-start/api.d.tsruns · 112 bytesshims/tanstack-start/api.jsruns · 112 bytesshims/tanstack-start/build.d.tsruns · 114 bytesshims/tanstack-start/build.jsruns · 114 bytesshims/tanstack-start/components/panel-link.d.tsruns · 139 bytesshims/tanstack-start/components/panel-link.jsruns · 154 bytesshims/tanstack-start/headless.d.tsruns · 117 bytesshims/tanstack-start/headless.jsruns · 117 bytesshims/tanstack-start/middleware.d.tsruns · 119 bytesshims/tanstack-start/middleware.jsruns · 119 bytesshims/tanstack-start/server.d.tsruns · 115 bytesshims/tanstack-start/server.jsruns · 115 bytesshims/tanstack-start/static.d.tsruns · 115 bytesshims/tanstack-start/static.jsruns · 115 bytesshims/transports.d.tsruns · 109 bytesshims/transports.jsruns · 109 bytesshims/transports/manifest-browser.d.tsruns · 126 bytesshims/transports/manifest-browser.jsruns · 126 bytesshims/transports/manifest-cache.d.tsruns · 124 bytesshims/transports/manifest-cache.jsruns · 124 bytesshims/transports/manifest-location.d.tsruns · 127 bytesshims/transports/manifest-location.jsruns · 127 bytesshims/transports/manifest.d.tsruns · 118 bytesshims/transports/manifest.jsruns · 118 bytesshims/vue.d.tsruns · 134 bytesshims/vue.jsruns · 134 bytesshims/vue/composables/activeUI.d.tsruns · 121 bytesshims/vue/composables/activeUI.jsruns · 121 bytesshims/vue/composables/component.d.tsruns · 122 bytesshims/vue/composables/component.jsruns · 122 bytesshims/vue/composables/config.d.tsruns · 119 bytesshims/vue/composables/config.jsruns · 119 bytesshims/vue/composables/consent.d.tsruns · 120 bytesshims/vue/composables/consent.jsruns · 120 bytesshims/vue/composables/draft.d.tsruns · 118 bytesshims/vue/composables/draft.jsruns · 118 bytesshims/vue/composables/event-dispatcher.d.tsruns · 129 bytesshims/vue/composables/event-dispatcher.jsruns · 129 bytesshims/vue/composables/experiment.d.tsruns · 123 bytesshims/vue/composables/experiment.jsruns · 123 bytesshims/vue/composables/iab-translations.d.tsruns · 129 bytesshims/vue/composables/iab-translations.jsruns · 129 bytesshims/vue/composables/iabSelection.d.tsruns · 125 bytesshims/vue/composables/iabSelection.jsruns · 125 bytesshims/vue/composables/index.d.tsruns · 118 bytesshims/vue/composables/index.jsruns · 118 bytesshims/vue/composables/init.d.tsruns · 117 bytesshims/vue/composables/init.jsruns · 117 bytesshims/vue/composables/kernel.d.tsruns · 119 bytesshims/vue/composables/kernel.jsruns · 119 bytesshims/vue/composables/language.d.tsruns · 121 bytesshims/vue/composables/language.jsruns · 121 bytesshims/vue/composables/region.d.tsruns · 119 bytesshims/vue/composables/region.jsruns · 119 bytesshims/vue/composables/stubs/cookie.d.tsruns · 125 bytesshims/vue/composables/stubs/cookie.jsruns · 125 bytesshims/vue/composables/stubs/fetch.d.tsruns · 124 bytesshims/vue/composables/stubs/fetch.jsruns · 124 bytesshims/vue/composables/stubs/requestHeaders.d.tsruns · 133 bytesshims/vue/composables/stubs/requestHeaders.jsruns · 133 bytesshims/vue/composables/stubs/state.d.tsruns · 124 bytesshims/vue/composables/stubs/state.jsruns · 124 bytesshims/vue/composables/use-consent-policy-actions.d.tsruns · 139 bytesshims/vue/composables/use-consent-policy-actions.jsruns · 139 bytesshims/vue/composables/use-consent-scroll-lock.d.tsruns · 136 bytesshims/vue/composables/use-consent-scroll-lock.jsruns · 136 bytesshims/vue/composables/use-devtools-launcher.d.tsruns · 134 bytesshims/vue/composables/use-devtools-launcher.jsruns · 134 bytesshims/vue/composables/use-draggable.d.tsruns · 126 bytesshims/vue/composables/use-draggable.jsruns · 126 bytesshims/vue/composables/use-late-entry.d.tsruns · 127 bytesshims/vue/composables/use-late-entry.jsruns · 127 bytesshims/vue/composables/use-local-storage-ref.d.tsruns · 134 bytesshims/vue/composables/use-local-storage-ref.jsruns · 134 bytesshims/vue/composables/use-mounted.d.tsruns · 124 bytesshims/vue/composables/use-mounted.jsruns · 124 bytesshims/vue/composables/use-surface-translations.d.tsruns · 137 bytesshims/vue/composables/use-surface-translations.jsruns · 137 bytesshims/vue/composables/use-window-size.d.tsruns · 128 bytesshims/vue/composables/use-window-size.jsruns · 128 bytesshims/vue/devtools.d.tsruns · 152 bytesshims/vue/devtools.jsruns · 152 bytesshims/vue/runtime/color-scheme.d.tsruns · 121 bytesshims/vue/runtime/color-scheme.jsruns · 121 bytesshims/vue/runtime/components/actions.d.vue.tsruns · 196 bytesshims/vue/runtime/components/actions.vueasset · 181 bytesshims/vue/runtime/components/actions.vue.d.tsruns · 196 bytesshims/vue/runtime/components/branding-icon.d.vue.tsruns · 208 bytesshims/vue/runtime/components/branding-icon.vueasset · 187 bytesshims/vue/runtime/components/branding-icon.vue.d.tsruns · 208 bytesshims/vue/runtime/components/button.d.vue.tsruns · 194 bytesshims/vue/runtime/components/button.vueasset · 180 bytesshims/vue/runtime/components/button.vue.d.tsruns · 194 bytesshims/vue/runtime/components/consent-actions.vue.d.tsruns · 212 bytesshims/vue/runtime/components/consent-actions.vue.jsruns · 212 bytesshims/vue/runtime/components/consent-branding-icon.vue.d.tsruns · 224 bytesshims/vue/runtime/components/consent-branding-icon.vue.jsruns · 224 bytesshims/vue/runtime/components/consent-button.vue.d.tsruns · 210 bytesshims/vue/runtime/components/consent-button.vue.jsruns · 210 bytesshims/vue/runtime/components/consent-description.vue.d.tsruns · 220 bytesshims/vue/runtime/components/consent-description.vue.jsruns · 220 bytesshims/vue/runtime/components/consent-dialog-link.d.vue.tsruns · 220 bytesshims/vue/runtime/components/consent-dialog-link.vueasset · 193 bytesshims/vue/runtime/components/consent-dialog-link.vue.d.tsruns · 220 bytesshims/vue/runtime/components/consent-gate.d.vue.tsruns · 206 bytesshims/vue/runtime/components/consent-gate.vueasset · 186 bytesshims/vue/runtime/components/consent-gate.vue.d.tsruns · 206 bytesshims/vue/runtime/components/consent-gate.vue.jsruns · 206 bytesshims/vue/runtime/components/consent-legal-links.vue.d.tsruns · 220 bytesshims/vue/runtime/components/consent-legal-links.vue.jsruns · 220 bytesshims/vue/runtime/components/consent-link.vue.d.tsruns · 206 bytesshims/vue/runtime/components/consent-link.vue.jsruns · 206 bytesshims/vue/runtime/components/consent-root.vue.d.tsruns · 206 bytesshims/vue/runtime/components/consent-root.vue.jsruns · 206 bytesshims/vue/runtime/components/consent-switch.vue.d.tsruns · 210 bytesshims/vue/runtime/components/consent-switch.vue.jsruns · 210 bytesshims/vue/runtime/components/consent-tag.vue.d.tsruns · 204 bytesshims/vue/runtime/components/consent-tag.vue.jsruns · 204 bytesshims/vue/runtime/components/description-content.d.vue.tsruns · 220 bytesshims/vue/runtime/components/description-content.vueasset · 193 bytesshims/vue/runtime/components/description-content.vue.d.tsruns · 220 bytesshims/vue/runtime/components/description.d.vue.tsruns · 204 bytesshims/vue/runtime/components/description.vueasset · 185 bytesshims/vue/runtime/components/description.vue.d.tsruns · 204 bytesshims/vue/runtime/components/early-tap-script.d.tsruns · 212 bytesshims/vue/runtime/components/early-tap-script.jsruns · 212 bytesshims/vue/runtime/components/iab-feature-item.d.vue.tsruns · 214 bytesshims/vue/runtime/components/iab-feature-item.vueasset · 190 bytesshims/vue/runtime/components/iab-feature-item.vue.d.tsruns · 214 bytesshims/vue/runtime/components/iab-panel.d.vue.tsruns · 200 bytesshims/vue/runtime/components/iab-panel.vueasset · 183 bytesshims/vue/runtime/components/iab-panel.vue.d.tsruns · 218 bytesshims/vue/runtime/components/iab-panel.vue.jsruns · 218 bytesshims/vue/runtime/components/iab-prompt.d.vue.tsruns · 202 bytesshims/vue/runtime/components/iab-prompt.vueasset · 184 bytesshims/vue/runtime/components/iab-prompt.vue.d.tsruns · 218 bytesshims/vue/runtime/components/iab-prompt.vue.jsruns · 218 bytesshims/vue/runtime/components/iab-purpose-item.d.vue.tsruns · 214 bytesshims/vue/runtime/components/iab-purpose-item.vueasset · 190 bytesshims/vue/runtime/components/iab-purpose-item.vue.d.tsruns · 214 bytesshims/vue/runtime/components/iab-stack-item.d.vue.tsruns · 210 bytesshims/vue/runtime/components/iab-stack-item.vueasset · 188 bytesshims/vue/runtime/components/iab-stack-item.vue.d.tsruns · 210 bytesshims/vue/runtime/components/iab-vendor-list.d.vue.tsruns · 212 bytesshims/vue/runtime/components/iab-vendor-list.vueasset · 189 bytesshims/vue/runtime/components/iab-vendor-list.vue.d.tsruns · 212 bytesshims/vue/runtime/components/icons/chevron-right-icon.d.vue.tsruns · 230 bytesshims/vue/runtime/components/icons/chevron-right-icon.vueasset · 198 bytesshims/vue/runtime/components/icons/chevron-right-icon.vue.d.tsruns · 230 bytesshims/vue/runtime/components/icons/globe-icon.d.vue.tsruns · 214 bytesshims/vue/runtime/components/icons/globe-icon.vueasset · 190 bytesshims/vue/runtime/components/icons/globe-icon.vue.d.tsruns · 214 bytesshims/vue/runtime/components/icons/legitimate-interest-icon.d.vue.tsruns · 242 bytesshims/vue/runtime/components/icons/legitimate-interest-icon.vueasset · 204 bytesshims/vue/runtime/components/icons/legitimate-interest-icon.vue.d.tsruns · 242 bytesshims/vue/runtime/components/icons/lock-icon.d.vue.tsruns · 212 bytesshims/vue/runtime/components/icons/lock-icon.vueasset · 189 bytesshims/vue/runtime/components/icons/lock-icon.vue.d.tsruns · 212 bytesshims/vue/runtime/components/index.d.tsruns · 125 bytesshims/vue/runtime/components/index.jsruns · 125 bytesshims/vue/runtime/components/lazy-surfaces.d.tsruns · 133 bytesshims/vue/runtime/components/lazy-surfaces.jsruns · 133 bytesshims/vue/runtime/components/legal-links.d.vue.tsruns · 204 bytesshims/vue/runtime/components/legal-links.vueasset · 185 bytesshims/vue/runtime/components/legal-links.vue.d.tsruns · 204 bytesshims/vue/runtime/components/link.d.vue.tsruns · 190 bytesshims/vue/runtime/components/link.vueasset · 178 bytesshims/vue/runtime/components/link.vue.d.tsruns · 190 bytesshims/vue/runtime/components/manager.d.vue.tsruns · 196 bytesshims/vue/runtime/components/manager.vueasset · 181 bytesshims/vue/runtime/components/manager.vue.d.tsruns · 212 bytesshims/vue/runtime/components/manager.vue.jsruns · 212 bytesshims/vue/runtime/components/nuxt-consent-root.vue.d.tsruns · 216 bytesshims/vue/runtime/components/nuxt-consent-root.vue.jsruns · 216 bytesshims/vue/runtime/components/nuxt-root.d.vue.tsruns · 200 bytesshims/vue/runtime/components/nuxt-root.vueasset · 183 bytesshims/vue/runtime/components/nuxt-root.vue.d.tsruns · 200 bytesshims/vue/runtime/components/panel-link.vue.d.tsruns · 220 bytesshims/vue/runtime/components/panel-link.vue.jsruns · 220 bytesshims/vue/runtime/components/panel-trigger.d.vue.tsruns · 208 bytesshims/vue/runtime/components/panel-trigger.vueasset · 187 bytesshims/vue/runtime/components/panel-trigger.vue.d.tsruns · 226 bytesshims/vue/runtime/components/panel-trigger.vue.jsruns · 226 bytesshims/vue/runtime/components/preferences-manager-context.d.tsruns · 147 bytesshims/vue/runtime/components/preferences-manager-context.jsruns · 147 bytesshims/vue/runtime/components/preferences-manager-context.js.d.tsruns · 150 bytesshims/vue/runtime/components/preferences-manager-context.js.jsruns · 150 bytesshims/vue/runtime/components/preferences.d.vue.tsruns · 204 bytesshims/vue/runtime/components/preferences.vueasset · 185 bytesshims/vue/runtime/components/preferences.vue.d.tsruns · 210 bytesshims/vue/runtime/components/preferences.vue.jsruns · 210 bytesshims/vue/runtime/components/prompt.d.vue.tsruns · 194 bytesshims/vue/runtime/components/prompt.vueasset · 180 bytesshims/vue/runtime/components/prompt.vue.d.tsruns · 210 bytesshims/vue/runtime/components/prompt.vue.jsruns · 210 bytesshims/vue/runtime/components/root.d.vue.tsruns · 190 bytesshims/vue/runtime/components/root.vueasset · 178 bytesshims/vue/runtime/components/root.vue.d.tsruns · 190 bytesshims/vue/runtime/components/switch.d.vue.tsruns · 194 bytesshims/vue/runtime/components/switch.vueasset · 180 bytesshims/vue/runtime/components/switch.vue.d.tsruns · 194 bytesshims/vue/runtime/components/tag.d.vue.tsruns · 188 bytesshims/vue/runtime/components/tag.vueasset · 177 bytesshims/vue/runtime/components/tag.vue.d.tsruns · 188 bytesshims/vue/runtime/components/trigger-icon.d.vue.tsruns · 206 bytesshims/vue/runtime/components/trigger-icon.vueasset · 186 bytesshims/vue/runtime/components/trigger-icon.vue.d.tsruns · 206 bytesshims/vue/runtime/components/vendor-list.d.vue.tsruns · 204 bytesshims/vue/runtime/components/vendor-list.vueasset · 185 bytesshims/vue/runtime/components/vendor-list.vue.d.tsruns · 204 bytesshims/vue/runtime/composables/activeUI.d.tsruns · 129 bytesshims/vue/runtime/composables/activeUI.jsruns · 129 bytesshims/vue/runtime/composables/component.d.tsruns · 130 bytesshims/vue/runtime/composables/component.jsruns · 130 bytesshims/vue/runtime/composables/config.d.tsruns · 127 bytesshims/vue/runtime/composables/config.jsruns · 127 bytesshims/vue/runtime/composables/consent.d.tsruns · 128 bytesshims/vue/runtime/composables/consent.jsruns · 128 bytesshims/vue/runtime/composables/draft.d.tsruns · 126 bytesshims/vue/runtime/composables/draft.jsruns · 126 bytesshims/vue/runtime/composables/event-dispatcher.d.tsruns · 137 bytesshims/vue/runtime/composables/event-dispatcher.jsruns · 137 bytesshims/vue/runtime/composables/experiment.d.tsruns · 131 bytesshims/vue/runtime/composables/experiment.jsruns · 131 bytesshims/vue/runtime/composables/iab-translations.d.tsruns · 137 bytesshims/vue/runtime/composables/iab-translations.jsruns · 137 bytesshims/vue/runtime/composables/iabSelection.d.tsruns · 133 bytesshims/vue/runtime/composables/iabSelection.jsruns · 133 bytesshims/vue/runtime/composables/index.d.tsruns · 126 bytesshims/vue/runtime/composables/index.jsruns · 126 bytesshims/vue/runtime/composables/init.d.tsruns · 125 bytesshims/vue/runtime/composables/init.jsruns · 125 bytesshims/vue/runtime/composables/kernel.d.tsruns · 127 bytesshims/vue/runtime/composables/kernel.jsruns · 127 bytesshims/vue/runtime/composables/language.d.tsruns · 129 bytesshims/vue/runtime/composables/language.jsruns · 129 bytesshims/vue/runtime/composables/region.d.tsruns · 127 bytesshims/vue/runtime/composables/region.jsruns · 127 bytesshims/vue/runtime/composables/stubs/cookie.d.tsruns · 133 bytesshims/vue/runtime/composables/stubs/cookie.jsruns · 133 bytesshims/vue/runtime/composables/stubs/fetch.d.tsruns · 132 bytesshims/vue/runtime/composables/stubs/fetch.jsruns · 132 bytesshims/vue/runtime/composables/stubs/requestHeaders.d.tsruns · 141 bytesshims/vue/runtime/composables/stubs/requestHeaders.jsruns · 141 bytesshims/vue/runtime/composables/stubs/state.d.tsruns · 132 bytesshims/vue/runtime/composables/stubs/state.jsruns · 132 bytesshims/vue/runtime/composables/use-consent-policy-actions.d.tsruns · 147 bytesshims/vue/runtime/composables/use-consent-policy-actions.jsruns · 147 bytesshims/vue/runtime/composables/use-consent-scroll-lock.d.tsruns · 144 bytesshims/vue/runtime/composables/use-consent-scroll-lock.jsruns · 144 bytesshims/vue/runtime/composables/use-devtools-launcher.d.tsruns · 142 bytesshims/vue/runtime/composables/use-devtools-launcher.jsruns · 142 bytesshims/vue/runtime/composables/use-draggable.d.tsruns · 134 bytesshims/vue/runtime/composables/use-draggable.jsruns · 134 bytesshims/vue/runtime/composables/use-late-entry.d.tsruns · 135 bytesshims/vue/runtime/composables/use-late-entry.jsruns · 135 bytesshims/vue/runtime/composables/use-local-storage-ref.d.tsruns · 142 bytesshims/vue/runtime/composables/use-local-storage-ref.jsruns · 142 bytesshims/vue/runtime/composables/use-mounted.d.tsruns · 132 bytesshims/vue/runtime/composables/use-mounted.jsruns · 132 bytesshims/vue/runtime/composables/use-surface-translations.d.tsruns · 145 bytesshims/vue/runtime/composables/use-surface-translations.jsruns · 145 bytesshims/vue/runtime/composables/use-window-size.d.tsruns · 136 bytesshims/vue/runtime/composables/use-window-size.jsruns · 136 bytesshims/vue/runtime/config.d.tsruns · 115 bytesshims/vue/runtime/config.jsruns · 115 bytesshims/vue/runtime/devtools/bridge.d.tsruns · 124 bytesshims/vue/runtime/devtools/bridge.jsruns · 124 bytesshims/vue/runtime/devtools/constants.d.tsruns · 127 bytesshims/vue/runtime/devtools/constants.jsruns · 127 bytesshims/vue/runtime/devtools/page.d.tsruns · 122 bytesshims/vue/runtime/devtools/page.jsruns · 122 bytesshims/vue/runtime/devtools/plugin.nuxt.d.tsruns · 198 bytesshims/vue/runtime/devtools/plugin.nuxt.jsruns · 198 bytesshims/vue/runtime/devtools/services.d.tsruns · 126 bytesshims/vue/runtime/devtools/services.jsruns · 126 bytesshims/vue/runtime/kernel.d.tsruns · 115 bytesshims/vue/runtime/kernel.jsruns · 115 bytesshims/vue/runtime/modes.d.tsruns · 114 bytesshims/vue/runtime/modes.jsruns · 114 bytesshims/vue/runtime/nuxt-mode.d.tsruns · 118 bytesshims/vue/runtime/nuxt-mode.jsruns · 118 bytesshims/vue/runtime/plugin.nuxt.d.tsruns · 180 bytesshims/vue/runtime/plugin.nuxt.jsruns · 180 bytesshims/vue/runtime/primitives/accordion-content.d.vue.tsruns · 216 bytesshims/vue/runtime/primitives/accordion-content.vueasset · 191 bytesshims/vue/runtime/primitives/accordion-content.vue.d.tsruns · 216 bytesshims/vue/runtime/primitives/accordion-item.d.vue.tsruns · 210 bytesshims/vue/runtime/primitives/accordion-item.vueasset · 188 bytesshims/vue/runtime/primitives/accordion-item.vue.d.tsruns · 210 bytesshims/vue/runtime/primitives/accordion-root.d.vue.tsruns · 210 bytesshims/vue/runtime/primitives/accordion-root.vueasset · 188 bytesshims/vue/runtime/primitives/accordion-root.vue.d.tsruns · 210 bytesshims/vue/runtime/primitives/accordion-trigger.d.tsruns · 137 bytesshims/vue/runtime/primitives/accordion-trigger.jsruns · 137 bytesshims/vue/runtime/primitives/dialog-content.d.vue.tsruns · 210 bytesshims/vue/runtime/primitives/dialog-content.vueasset · 188 bytesshims/vue/runtime/primitives/dialog-content.vue.d.tsruns · 210 bytesshims/vue/runtime/primitives/dialog-overlay.d.vue.tsruns · 210 bytesshims/vue/runtime/primitives/dialog-overlay.vueasset · 188 bytesshims/vue/runtime/primitives/dialog-overlay.vue.d.tsruns · 210 bytesshims/vue/runtime/primitives/dialog-portal.d.vue.tsruns · 208 bytesshims/vue/runtime/primitives/dialog-portal.vueasset · 187 bytesshims/vue/runtime/primitives/dialog-portal.vue.d.tsruns · 208 bytesshims/vue/runtime/primitives/dialog-root.d.vue.tsruns · 204 bytesshims/vue/runtime/primitives/dialog-root.vueasset · 185 bytesshims/vue/runtime/primitives/dialog-root.vue.d.tsruns · 204 bytesshims/vue/runtime/primitives/focus-scope.d.vue.tsruns · 204 bytesshims/vue/runtime/primitives/focus-scope.vueasset · 185 bytesshims/vue/runtime/primitives/focus-scope.vue.d.tsruns · 204 bytesshims/vue/runtime/primitives/index.d.tsruns · 125 bytesshims/vue/runtime/primitives/index.jsruns · 125 bytesshims/vue/runtime/primitives/keys.d.tsruns · 124 bytesshims/vue/runtime/primitives/keys.jsruns · 124 bytesshims/vue/runtime/primitives/preference-item/context.d.tsruns · 143 bytesshims/vue/runtime/primitives/preference-item/context.jsruns · 143 bytesshims/vue/runtime/primitives/preference-item/preference-item-auxiliary.d.vue.tsruns · 264 bytesshims/vue/runtime/primitives/preference-item/preference-item-auxiliary.vueasset · 215 bytesshims/vue/runtime/primitives/preference-item/preference-item-auxiliary.vue.d.tsruns · 264 bytesshims/vue/runtime/primitives/preference-item/preference-item-content.d.vue.tsruns · 260 bytesshims/vue/runtime/primitives/preference-item/preference-item-content.vueasset · 213 bytesshims/vue/runtime/primitives/preference-item/preference-item-content.vue.d.tsruns · 260 bytesshims/vue/runtime/primitives/preference-item/preference-item-control.d.vue.tsruns · 260 bytesshims/vue/runtime/primitives/preference-item/preference-item-control.vueasset · 213 bytesshims/vue/runtime/primitives/preference-item/preference-item-control.vue.d.tsruns · 260 bytesshims/vue/runtime/primitives/preference-item/preference-item-header.d.vue.tsruns · 258 bytesshims/vue/runtime/primitives/preference-item/preference-item-header.vueasset · 212 bytesshims/vue/runtime/primitives/preference-item/preference-item-header.vue.d.tsruns · 258 bytesshims/vue/runtime/primitives/preference-item/preference-item-leading.d.vue.tsruns · 260 bytesshims/vue/runtime/primitives/preference-item/preference-item-leading.vueasset · 213 bytesshims/vue/runtime/primitives/preference-item/preference-item-leading.vue.d.tsruns · 260 bytesshims/vue/runtime/primitives/preference-item/preference-item-meta.d.vue.tsruns · 254 bytesshims/vue/runtime/primitives/preference-item/preference-item-meta.vueasset · 210 bytesshims/vue/runtime/primitives/preference-item/preference-item-meta.vue.d.tsruns · 254 bytesshims/vue/runtime/primitives/preference-item/preference-item-root.d.vue.tsruns · 254 bytesshims/vue/runtime/primitives/preference-item/preference-item-root.vueasset · 210 bytesshims/vue/runtime/primitives/preference-item/preference-item-root.vue.d.tsruns · 254 bytesshims/vue/runtime/primitives/preference-item/preference-item-title.d.vue.tsruns · 256 bytesshims/vue/runtime/primitives/preference-item/preference-item-title.vueasset · 211 bytesshims/vue/runtime/primitives/preference-item/preference-item-title.vue.d.tsruns · 256 bytesshims/vue/runtime/primitives/preference-item/preference-item-trigger.d.vue.tsruns · 260 bytesshims/vue/runtime/primitives/preference-item/preference-item-trigger.vueasset · 213 bytesshims/vue/runtime/primitives/preference-item/preference-item-trigger.vue.d.tsruns · 260 bytesshims/vue/runtime/primitives/preference-item/variants.d.tsruns · 144 bytesshims/vue/runtime/primitives/preference-item/variants.jsruns · 144 bytesshims/vue/runtime/primitives/switch-root.d.vue.tsruns · 204 bytesshims/vue/runtime/primitives/switch-root.vueasset · 185 bytesshims/vue/runtime/primitives/switch-root.vue.d.tsruns · 204 bytesshims/vue/runtime/primitives/switch-thumb.d.vue.tsruns · 206 bytesshims/vue/runtime/primitives/switch-thumb.vueasset · 186 bytesshims/vue/runtime/primitives/switch-thumb.vue.d.tsruns · 206 bytesshims/vue/runtime/primitives/switch-variants.d.tsruns · 135 bytesshims/vue/runtime/primitives/switch-variants.jsruns · 135 bytesshims/vue/runtime/primitives/tabs/context.d.tsruns · 132 bytesshims/vue/runtime/primitives/tabs/context.jsruns · 132 bytesshims/vue/runtime/primitives/tabs/tabs-content.d.vue.tsruns · 216 bytesshims/vue/runtime/primitives/tabs/tabs-content.vueasset · 191 bytesshims/vue/runtime/primitives/tabs/tabs-content.vue.d.tsruns · 216 bytesshims/vue/runtime/primitives/tabs/tabs-list.d.vue.tsruns · 210 bytesshims/vue/runtime/primitives/tabs/tabs-list.vueasset · 188 bytesshims/vue/runtime/primitives/tabs/tabs-list.vue.d.tsruns · 210 bytesshims/vue/runtime/primitives/tabs/tabs-root.d.vue.tsruns · 210 bytesshims/vue/runtime/primitives/tabs/tabs-root.vueasset · 188 bytesshims/vue/runtime/primitives/tabs/tabs-root.vue.d.tsruns · 210 bytesshims/vue/runtime/primitives/tabs/tabs-trigger.d.vue.tsruns · 216 bytesshims/vue/runtime/primitives/tabs/tabs-trigger.vueasset · 191 bytesshims/vue/runtime/primitives/tabs/tabs-trigger.vue.d.tsruns · 216 bytesshims/vue/runtime/primitives/use-focus-trap.d.tsruns · 134 bytesshims/vue/runtime/primitives/use-focus-trap.jsruns · 134 bytesshims/vue/runtime/root-overrides.d.tsruns · 123 bytesshims/vue/runtime/root-overrides.jsruns · 123 bytesshims/vue/runtime/server-consent.d.tsruns · 123 bytesshims/vue/runtime/server-consent.jsruns · 123 bytesshims/vue/runtime/server/build-options.d.tsruns · 129 bytesshims/vue/runtime/server/build-options.jsruns · 129 bytesshims/vue/runtime/server/build-options.nuxt.d.tsruns · 208 bytesshims/vue/runtime/server/build-options.nuxt.jsruns · 208 bytesshims/vue/runtime/server/consent-route.d.tsruns · 198 bytesshims/vue/runtime/server/consent-route.jsruns · 198 bytesshims/vue/runtime/server/devtools.get.d.tsruns · 196 bytesshims/vue/runtime/server/devtools.get.jsruns · 196 bytesshims/vue/runtime/server/init-prefetch.d.tsruns · 129 bytesshims/vue/runtime/server/init-prefetch.jsruns · 129 bytesshims/vue/runtime/server/init-prefetch.nuxt.d.tsruns · 208 bytesshims/vue/runtime/server/init-prefetch.nuxt.jsruns · 208 bytesshims/vue/runtime/server/inth-project-url.d.tsruns · 132 bytesshims/vue/runtime/server/inth-project-url.jsruns · 132 bytesshims/vue/runtime/server/inth-project-url.nuxt.d.tsruns · 214 bytesshims/vue/runtime/server/inth-project-url.nuxt.jsruns · 214 bytesshims/vue/runtime/server/local-fetch.d.tsruns · 127 bytesshims/vue/runtime/server/local-fetch.jsruns · 127 bytesshims/vue/runtime/server/route-factories.d.tsruns · 131 bytesshims/vue/runtime/server/route-factories.jsruns · 131 bytesshims/vue/runtime/server/server-fetch.d.tsruns · 128 bytesshims/vue/runtime/server/server-fetch.jsruns · 128 bytesshims/vue/runtime/shared-render.d.tsruns · 122 bytesshims/vue/runtime/shared-render.jsruns · 122 bytesshims/vue/runtime/theme-tokens.d.tsruns · 121 bytesshims/vue/runtime/theme-tokens.jsruns · 121 bytesshims/vue/runtime/utils/slot-attrs.d.tsruns · 125 bytesshims/vue/runtime/utils/slot-attrs.jsruns · 125 bytesshims/vue/runtime/utils/symbols.d.tsruns · 122 bytesshims/vue/runtime/utils/symbols.jsruns · 122 bytesshims/vue/runtime/vue/stubs.d.tsruns · 118 bytesshims/vue/runtime/vue/stubs.jsruns · 118 bytesshims/vue/vite.d.tsruns · 102 bytesshims/vue/vite.jsruns · 102 bytesshims/vue/vue-plugin.d.tsruns · 108 bytesshims/vue/vue-plugin.jsruns · 108 bytesvitest.config.tsruns · 423 bytes
Read excerpt
# c15t (umbrella package)
The Markdown under `./docs` matches the installed version. Read it before writing code: v3 renamed most v2 APIs, so remembered examples are usually wrong.
## Before writing code
1. Find the framework, router, rendering mode (server, static, cached or single-page) and host in the project. Check the framework config and route files for settings that prerender or cache pages.
2. Pick the matching row in [Choose your setup](./docs/concepts/choose-your-setup.md).
3. Follow that guide from start to finish: [Next.js](./docs/frameworks/next/quickstart.md), [TanStack Start](./docs/frameworks/tanstack-start/quickstart.md), [React](./docs/frameworks/react/quickstart.md), [Nuxt](./docs/frameworks/nuxt/quickstart.md), [Vue](./docs/frameworks/vue/quickstart.md), [Astro](./docs/frameworks/astro/quickstart.md), [Svelte](./docs/frameworks/svelte/quickstart.md), [SvelteKit](./docs/frameworks/sveltekit/quickstart.md), [HTML script tag](./docs/frameworks/html/quickstart.md), [JavaScript](./docs/frameworks/javascript/quickstart.md).
## Rules
- Install with `npm install c15t` and import the framework subpath, such as `c15t/next`. Keep every c15t package on the same release.
- The backend URL comes from the user's Inth project or self-hosted backend. It is public configuration. Never invent one; ask for it or read it from the environment.