--- title: "Kit Utilities" description: Nuxt Kit provides composable utilities to help interacting with Nuxt Hooks and Nuxt Builder. --- # Kit Utilities ::ReadMore{link="/docs/guide/going-further/kit"} :: ## Utilities ### Modules [source code](https://github.com/nuxt/nuxt/blob/main/packages/kit/src/module) #### `installModule(module, inlineOptions)` Install specified Nuxt module programmatically. This is helpful when your module depends on other modules. You can pass the module options as an object to `inlineOptions` and they will be passed to the module's `setup` function. ```ts import { defineNuxtModule, installModule } from '@nuxt/kit' export default defineNuxtModule({ async setup (options, nuxt) { // will install @nuxtjs/fontaine with Roboto font and Impact fallback await installModule('@nuxtjs/fontaine', { // module configuration fonts: [ { family: 'Roboto', fallbacks: ['Impact'], fallbackName: 'fallback-a', } ] }) } }) ``` ### Programmatic Usage [source code](https://github.com/nuxt/nuxt/blob/main/packages/kit/src/loader) - `loadNuxt(loadOptions)` - `buildNuxt(nuxt)` - `loadNuxtConfig(loadOptions)` ### Compatibility [source code](https://github.com/nuxt/nuxt/blob/main/packages/kit/src/compatibility.ts) - `checkNuxtCompatibility(constraints)` - `assertNuxtCompatibility(constraints)` - `hasNuxtCompatibility(constraints)` - `isNuxt2()` - `isNuxt3()` - `getNuxtVersion()` ### Auto-imports [source code](https://github.com/nuxt/nuxt/blob/main/packages/kit/src/imports.ts) - `addImports(imports)` - `addImportsDir(importDirs, { prepend? })` - `addImportsSources(importSources)` ### Components [source code](https://github.com/nuxt/nuxt/blob/main/packages/kit/src/components.ts) - `addComponentsDir(dir)` - `addComponent(componentObject)` ### Context [source code](https://github.com/nuxt/nuxt/blob/main/packages/kit/src/context.ts) - `useNuxt()` ### Pages [source code](https://github.com/nuxt/nuxt/blob/main/packages/kit/src/pages.ts) - `extendPages (callback: pages => void)` - `extendRouteRules (route: string, rule: NitroRouteConfig, options: ExtendRouteRulesOptions)` - `addRouteMiddleware (input: NuxtMiddleware | NuxtMiddleware[], options: AddRouteMiddlewareOptions)` ### Plugins [source code](https://github.com/nuxt/nuxt/blob/main/packages/kit/src/plugin.ts) - `addPlugin(pluginOptions, { append? })` - `addPluginTemplate(pluginOptions, { append? })` ### Templates [source code](https://github.com/nuxt/nuxt/blob/main/packages/kit/src/template.ts) - `addTemplate(templateOptions)` - `addTypeTemplate(templateOptions)` - `updateTemplates({ filter?: ResolvedNuxtTemplate => boolean })` ### Nitro [source code](https://github.com/nuxt/nuxt/blob/main/packages/kit/src/nitro.ts) - `addServerHandler (handler)` - `addDevServerHandler (handler)` - `useNitro()` (only usable after `ready` hook) - `addServerPlugin` - `addPrerenderRoutes` ### Resolving [source code](https://github.com/nuxt/nuxt/blob/main/packages/kit/src/resolve.ts) - `resolvePath (path, resolveOptions?)` - `resolveAlias (path, aliases?)` - `findPath (paths, resolveOptions?)` - `createResolver (base)` ### Logging [source code](https://github.com/nuxt/nuxt/blob/main/packages/kit/src/logger.ts) - `useLogger(scope?)` ### Builder [source code](https://github.com/nuxt/nuxt/blob/main/packages/kit/src/build.ts) - `extendWebpackConfig(callback, options?)` - `extendViteConfig(callback, options?)` - `addWebpackPlugin(webpackPlugin, options?)` - `addVitePlugin(vitePlugin, options?)`