---
title: "CodeTree"
description: "Visualize file and folder structures with syntax-highlighted code."
canonical_url: "https://ui.nuxt.com/docs/typography/code-tree"
last_updated: "2026-05-07"
---
# CodeTree

> Visualize file and folder structures with syntax-highlighted code.

## Usage

Wrap your code blocks with a `code-tree` component in any particular order to display a tree view of your files.

```vue
<template>
  <code-tree default-value=app/app.config.ts>
  <pre className=language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight code=export default defineNuxtConfig({
    modules: ['@nuxt/ui'],
  
    css: ['~/assets/css/main.css']
  })
  
   filename=nuxt.config.ts language=ts meta= style=>
  <code __ignoreMap=>
  <span class=line>
  <span class=s7zQu>
  export</span>
  <span class=s7zQu>
   default</span>
  <span class=s2Zo4>
   defineNuxtConfig</span>
  <span class=sTEyZ>
  (</span>
  <span class=sMK4o>
  {
  </span></span>
  <span class=line>
  <span class=swJcz>
    modules</span>
  <span class=sMK4o>
  :</span>
  <span class=sTEyZ>
   [</span>
  <span class=sMK4o>
  '</span>
  <span class=sfazB>
  @nuxt/ui</span>
  <span class=sMK4o>
  '</span>
  <span class=sTEyZ>
  ]</span>
  <span class=sMK4o>
  ,
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=swJcz>
    css</span>
  <span class=sMK4o>
  :</span>
  <span class=sTEyZ>
   [</span>
  <span class=sMK4o>
  '</span>
  <span class=sfazB>
  ~/assets/css/main.css</span>
  <span class=sMK4o>
  '</span>
  <span class=sTEyZ>
  ]
  </span></span>
  <span class=line>
  <span class=sMK4o>
  }</span>
  <span class=sTEyZ>
  )
  </span></span></code></pre>
  <pre className=language-css shiki shiki-themes material-theme-lighter material-theme material-theme-palenight code=@import "tailwindcss";
  @import "@nuxt/ui";
   filename=app/assets/css/main.css language=css meta= style=>
  <code __ignoreMap=>
  <span class=line>
  <span class=s7zQu>
  @import</span>
  <span class=sMK4o>
   "</span>
  <span class=sfazB>
  tailwindcss</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  ;
  </span></span>
  <span class=line>
  <span class=s7zQu>
  @import</span>
  <span class=sMK4o>
   "</span>
  <span class=sfazB>
  @nuxt/ui</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  ;
  </span></span></code></pre>
  <pre className=language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight code=export default defineAppConfig({
    ui: {
      colors: {
        primary: 'sky',
        colors: 'slate'
      }
    }
  })
   filename=app/app.config.ts language=ts meta= style=>
  <code __ignoreMap=>
  <span class=line>
  <span class=s7zQu>
  export</span>
  <span class=s7zQu>
   default</span>
  <span class=s2Zo4>
   defineAppConfig</span>
  <span class=sTEyZ>
  (</span>
  <span class=sMK4o>
  {
  </span></span>
  <span class=line>
  <span class=swJcz>
    ui</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   {
  </span></span>
  <span class=line>
  <span class=swJcz>
      colors</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   {
  </span></span>
  <span class=line>
  <span class=swJcz>
        primary</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   '</span>
  <span class=sfazB>
  sky</span>
  <span class=sMK4o>
  '</span>
  <span class=sMK4o>
  ,
  </span></span>
  <span class=line>
  <span class=swJcz>
        colors</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   '</span>
  <span class=sfazB>
  slate</span>
  <span class=sMK4o>
  '
  </span></span>
  <span class=line>
  <span class=sMK4o>
      }
  </span></span>
  <span class=line>
  <span class=sMK4o>
    }
  </span></span>
  <span class=line>
  <span class=sMK4o>
  }</span>
  <span class=sTEyZ>
  )
  </span></span></code></pre>
  <pre className=language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight code=<template>
    <UApp>
      <NuxtPage />
    </UApp>
  </template>
   filename=app/app.vue language=vue meta= style=>
  <code __ignoreMap=>
  <span class=line>
  <span class=sMK4o>
  <</span>
  <span class=swJcz>
  template</span>
  <span class=sMK4o>
  >
  </span></span>
  <span class=line>
  <span class=sMK4o>
    <</span>
  <span class=swJcz>
  UApp</span>
  <span class=sMK4o>
  >
  </span></span>
  <span class=line>
  <span class=sMK4o>
      <</span>
  <span class=swJcz>
  NuxtPage</span>
  <span class=sMK4o>
   />
  </span></span>
  <span class=line>
  <span class=sMK4o>
    </</span>
  <span class=swJcz>
  UApp</span>
  <span class=sMK4o>
  >
  </span></span>
  <span class=line>
  <span class=sMK4o>
  </</span>
  <span class=swJcz>
  template</span>
  <span class=sMK4o>
  >
  </span></span></code></pre>
  <pre className=language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight code={
    "name": "nuxt-app",
    "private": true,
    "type": "module",
    "scripts": {
      "build": "nuxt build",
      "dev": "nuxt dev",
      "generate": "nuxt generate",
      "preview": "nuxt preview",
      "postinstall": "nuxt prepare",
      "typecheck": "nuxt typecheck"
    },
    "dependencies": {
      "@iconify-json/lucide": "^1.2.0",
      "@nuxt/ui": "^4.0.0",
      "nuxt": "^4.0.0"
    },
    "devDependencies": {
      "typescript": "^6.0.0",
      "vue-tsc": "^3.2.0"
    }
  }
   filename=package.json language=json meta= style=>
  <code __ignoreMap=>
  <span class=line>
  <span class=sMK4o>
  {
  </span></span>
  <span class=line>
  <span class=sMK4o>
    "</span>
  <span class=spNyl>
  name</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   "</span>
  <span class=sfazB>
  nuxt-app</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  ,
  </span></span>
  <span class=line>
  <span class=sMK4o>
    "</span>
  <span class=spNyl>
  private</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   true,
  </span></span>
  <span class=line>
  <span class=sMK4o>
    "</span>
  <span class=spNyl>
  type</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   "</span>
  <span class=sfazB>
  module</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  ,
  </span></span>
  <span class=line>
  <span class=sMK4o>
    "</span>
  <span class=spNyl>
  scripts</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   {
  </span></span>
  <span class=line>
  <span class=sMK4o>
      "</span>
  <span class=sBMFI>
  build</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   "</span>
  <span class=sfazB>
  nuxt build</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  ,
  </span></span>
  <span class=line>
  <span class=sMK4o>
      "</span>
  <span class=sBMFI>
  dev</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   "</span>
  <span class=sfazB>
  nuxt dev</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  ,
  </span></span>
  <span class=line>
  <span class=sMK4o>
      "</span>
  <span class=sBMFI>
  generate</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   "</span>
  <span class=sfazB>
  nuxt generate</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  ,
  </span></span>
  <span class=line>
  <span class=sMK4o>
      "</span>
  <span class=sBMFI>
  preview</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   "</span>
  <span class=sfazB>
  nuxt preview</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  ,
  </span></span>
  <span class=line>
  <span class=sMK4o>
      "</span>
  <span class=sBMFI>
  postinstall</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   "</span>
  <span class=sfazB>
  nuxt prepare</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  ,
  </span></span>
  <span class=line>
  <span class=sMK4o>
      "</span>
  <span class=sBMFI>
  typecheck</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   "</span>
  <span class=sfazB>
  nuxt typecheck</span>
  <span class=sMK4o>
  "
  </span></span>
  <span class=line>
  <span class=sMK4o>
    },
  </span></span>
  <span class=line>
  <span class=sMK4o>
    "</span>
  <span class=spNyl>
  dependencies</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   {
  </span></span>
  <span class=line>
  <span class=sMK4o>
      "</span>
  <span class=sBMFI>
  @iconify-json/lucide</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   "</span>
  <span class=sfazB>
  ^1.2.0</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  ,
  </span></span>
  <span class=line>
  <span class=sMK4o>
      "</span>
  <span class=sBMFI>
  @nuxt/ui</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   "</span>
  <span class=sfazB>
  ^4.0.0</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  ,
  </span></span>
  <span class=line>
  <span class=sMK4o>
      "</span>
  <span class=sBMFI>
  nuxt</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   "</span>
  <span class=sfazB>
  ^4.0.0</span>
  <span class=sMK4o>
  "
  </span></span>
  <span class=line>
  <span class=sMK4o>
    },
  </span></span>
  <span class=line>
  <span class=sMK4o>
    "</span>
  <span class=spNyl>
  devDependencies</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   {
  </span></span>
  <span class=line>
  <span class=sMK4o>
      "</span>
  <span class=sBMFI>
  typescript</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   "</span>
  <span class=sfazB>
  ^6.0.0</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  ,
  </span></span>
  <span class=line>
  <span class=sMK4o>
      "</span>
  <span class=sBMFI>
  vue-tsc</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   "</span>
  <span class=sfazB>
  ^3.2.0</span>
  <span class=sMK4o>
  "
  </span></span>
  <span class=line>
  <span class=sMK4o>
    }
  </span></span>
  <span class=line>
  <span class=sMK4o>
  }
  </span></span></code></pre>
  <pre className=language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight code={
    "extends": "./.nuxt/tsconfig.json"
  }
   filename=tsconfig.json language=json meta= style=>
  <code __ignoreMap=>
  <span class=line>
  <span class=sMK4o>
  {
  </span></span>
  <span class=line>
  <span class=sMK4o>
    "</span>
  <span class=spNyl>
  extends</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   "</span>
  <span class=sfazB>
  ./.nuxt/tsconfig.json</span>
  <span class=sMK4o>
  "
  </span></span>
  <span class=line>
  <span class=sMK4o>
  }
  </span></span></code></pre>
  <pre className=language-md shiki shiki-themes material-theme-lighter material-theme material-theme-palenight code=# Nuxt 4 Minimal Starter
  
  Look at the [Nuxt 4 documentation](https://nuxt.com/docs/getting-started/introduction) to learn more.
  
  ## Setup
  
  Make sure to install the dependencies:
  
  ```bash
  # npm
  npm install
  
  # pnpm
  pnpm install
  
  # yarn
  yarn install
  
  # bun
  bun install
  ```
  
  ## Development server
  
  Start the development server on `http://localhost:3000`:
  
  ```bash
  # npm
  npm run dev
  
  # pnpm
  pnpm run dev
  
  # yarn
  yarn dev
  
  # bun
  bun run dev
  ```
  
  ## Production
  
  Build the application for production:
  
  ```bash
  # npm
  npm run build
  
  # pnpm
  pnpm run build
  
  # yarn
  yarn build
  
  # bun
  bun run build
  ```
  
  Locally preview production build:
  
  ```bash
  # npm
  npm run preview
  
  # pnpm
  pnpm run preview
  
  # yarn
  yarn preview
  
  # bun
  bun run preview
  ```
  
  Check out the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information.
   filename=README.md language=md meta= style=>
  <code __ignoreMap=>
  <span class=line>
  <span class=sMK4o>
  # </span>
  <span class=sBMFI>
  Nuxt 4 Minimal Starter
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sTEyZ>
  Look at the </span>
  <span class=sMK4o>
  [</span>
  <span class=sfazB>
  Nuxt 4 documentation</span>
  <span class=sMK4o>
  ](</span>
  <span class=sDpXG>
  https://nuxt.com/docs/getting-started/introduction</span>
  <span class=sMK4o>
  )</span>
  <span class=sTEyZ>
   to learn more.
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sMK4o>
  ## </span>
  <span class=sBMFI>
  Setup
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sTEyZ>
  Make sure to install the dependencies:
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sfazB>
  ```</span>
  <span class=sJsPd>
  bash
  </span></span>
  <span class=line>
  <span class=sHwdD>
  # npm
  </span></span>
  <span class=line>
  <span class=sBMFI>
  npm</span>
  <span class=sfazB>
   install
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sHwdD>
  # pnpm
  </span></span>
  <span class=line>
  <span class=sBMFI>
  pnpm</span>
  <span class=sfazB>
   install
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sHwdD>
  # yarn
  </span></span>
  <span class=line>
  <span class=sBMFI>
  yarn</span>
  <span class=sfazB>
   install
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sHwdD>
  # bun
  </span></span>
  <span class=line>
  <span class=sBMFI>
  bun</span>
  <span class=sfazB>
   install
  </span></span>
  <span class=line>
  <span class=sfazB>
  ```
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sMK4o>
  ## </span>
  <span class=sBMFI>
  Development server
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sTEyZ>
  Start the development server on </span>
  <span class=sMK4o>
  `</span>
  <span class=sfazB>
  http://localhost:3000</span>
  <span class=sMK4o>
  `</span>
  <span class=sTEyZ>
  :
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sfazB>
  ```</span>
  <span class=sJsPd>
  bash
  </span></span>
  <span class=line>
  <span class=sHwdD>
  # npm
  </span></span>
  <span class=line>
  <span class=sBMFI>
  npm</span>
  <span class=sfazB>
   run</span>
  <span class=sfazB>
   dev
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sHwdD>
  # pnpm
  </span></span>
  <span class=line>
  <span class=sBMFI>
  pnpm</span>
  <span class=sfazB>
   run</span>
  <span class=sfazB>
   dev
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sHwdD>
  # yarn
  </span></span>
  <span class=line>
  <span class=sBMFI>
  yarn</span>
  <span class=sfazB>
   dev
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sHwdD>
  # bun
  </span></span>
  <span class=line>
  <span class=sBMFI>
  bun</span>
  <span class=sfazB>
   run</span>
  <span class=sfazB>
   dev
  </span></span>
  <span class=line>
  <span class=sfazB>
  ```
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sMK4o>
  ## </span>
  <span class=sBMFI>
  Production
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sTEyZ>
  Build the application for production:
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sfazB>
  ```</span>
  <span class=sJsPd>
  bash
  </span></span>
  <span class=line>
  <span class=sHwdD>
  # npm
  </span></span>
  <span class=line>
  <span class=sBMFI>
  npm</span>
  <span class=sfazB>
   run</span>
  <span class=sfazB>
   build
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sHwdD>
  # pnpm
  </span></span>
  <span class=line>
  <span class=sBMFI>
  pnpm</span>
  <span class=sfazB>
   run</span>
  <span class=sfazB>
   build
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sHwdD>
  # yarn
  </span></span>
  <span class=line>
  <span class=sBMFI>
  yarn</span>
  <span class=sfazB>
   build
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sHwdD>
  # bun
  </span></span>
  <span class=line>
  <span class=sBMFI>
  bun</span>
  <span class=sfazB>
   run</span>
  <span class=sfazB>
   build
  </span></span>
  <span class=line>
  <span class=sfazB>
  ```
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sTEyZ>
  Locally preview production build:
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sfazB>
  ```</span>
  <span class=sJsPd>
  bash
  </span></span>
  <span class=line>
  <span class=sHwdD>
  # npm
  </span></span>
  <span class=line>
  <span class=sBMFI>
  npm</span>
  <span class=sfazB>
   run</span>
  <span class=sfazB>
   preview
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sHwdD>
  # pnpm
  </span></span>
  <span class=line>
  <span class=sBMFI>
  pnpm</span>
  <span class=sfazB>
   run</span>
  <span class=sfazB>
   preview
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sHwdD>
  # yarn
  </span></span>
  <span class=line>
  <span class=sBMFI>
  yarn</span>
  <span class=sfazB>
   preview
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sHwdD>
  # bun
  </span></span>
  <span class=line>
  <span class=sBMFI>
  bun</span>
  <span class=sfazB>
   run</span>
  <span class=sfazB>
   preview
  </span></span>
  <span class=line>
  <span class=sfazB>
  ```
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sTEyZ>
  Check out the </span>
  <span class=sMK4o>
  [</span>
  <span class=sfazB>
  deployment documentation</span>
  <span class=sMK4o>
  ](</span>
  <span class=sDpXG>
  https://nuxt.com/docs/getting-started/deployment</span>
  <span class=sMK4o>
  )</span>
  <span class=sTEyZ>
   for more information.
  </span></span></code></pre></code-tree>
  <template v-slot:code=>
  <__flatten>
  <pre className=language-mdc shiki shiki-themes material-theme-lighter material-theme material-theme-palenight code=::code-tree{defaultValue="app/app.config.ts"}
  
  ```ts [nuxt.config.ts]
  export default defineNuxtConfig({
    modules: ['@nuxt/ui'],
  
    css: ['~/assets/css/main.css']
  })
  
  ```
  
  ```css [app/assets/css/main.css]
  @import "tailwindcss";
  @import "@nuxt/ui";
  ```
  
  ```ts [app/app.config.ts]
  export default defineAppConfig({
    ui: {
      colors: {
        primary: 'sky',
        colors: 'slate'
      }
    }
  })
  ```
  
  ```vue [app/app.vue]
  <template>
    <UApp>
      <NuxtPage />
    </UApp>
  </template>
  ```
  
  ```json [package.json]
  {
    "name": "nuxt-app",
    "private": true,
    "type": "module",
    "scripts": {
      "build": "nuxt build",
      "dev": "nuxt dev",
      "generate": "nuxt generate",
      "preview": "nuxt preview",
      "postinstall": "nuxt prepare",
      "typecheck": "nuxt typecheck"
    },
    "dependencies": {
      "@iconify-json/lucide": "^1.2.0",
      "@nuxt/ui": "^4.0.0",
      "nuxt": "^4.0.0"
    },
    "devDependencies": {
      "typescript": "^6.0.0",
      "vue-tsc": "^3.2.0"
    }
  }
  ```
  
  ```json [tsconfig.json]
  {
    "extends": "./.nuxt/tsconfig.json"
  }
  ```
  
  ````md [README.md]
  # Nuxt 4 Minimal Starter
  
  Look at the [Nuxt 4 documentation](https://nuxt.com/docs/getting-started/introduction) to learn more.
  
  ## Setup
  
  Make sure to install the dependencies:
  
  ```bash
  # npm
  npm install
  
  # pnpm
  pnpm install
  
  # yarn
  yarn install
  
  # bun
  bun install
  ```
  
  ## Development server
  
  Start the development server on `http://localhost:3000`:
  
  ```bash
  # npm
  npm run dev
  
  # pnpm
  pnpm run dev
  
  # yarn
  yarn dev
  
  # bun
  bun run dev
  ```
  
  ## Production
  
  Build the application for production:
  
  ```bash
  # npm
  npm run build
  
  # pnpm
  pnpm run build
  
  # yarn
  yarn build
  
  # bun
  bun run build
  ```
  
  Locally preview production build:
  
  ```bash
  # npm
  npm run preview
  
  # pnpm
  pnpm run preview
  
  # yarn
  yarn preview
  
  # bun
  bun run preview
  ```
  
  Check out the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information.
  ````
  
  ::
   language=mdc meta= style=>
  <code __ignoreMap=>
  <span class=line>
  <span class=sMK4o>
  ::</span>
  <span class=swJcz>
  code-tree</span>
  <span class=sMK4o>
  {</span>
  <span class=spNyl>
  defaultValue</span>
  <span class=sMK4o>
  =</span>
  <span class=sMK4o>
  "</span>
  <span class=sfazB>
  app/app.config.ts</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  }
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sfazB>
  ```</span>
  <span class=sJsPd>
  ts [nuxt.config.ts]
  </span></span>
  <span class=line>
  <span class=s7zQu>
  export</span>
  <span class=s7zQu>
   default</span>
  <span class=s2Zo4>
   defineNuxtConfig</span>
  <span class=sTEyZ>
  (</span>
  <span class=sMK4o>
  {
  </span></span>
  <span class=line>
  <span class=swJcz>
    modules</span>
  <span class=sMK4o>
  :</span>
  <span class=sTEyZ>
   [</span>
  <span class=sMK4o>
  '</span>
  <span class=sfazB>
  @nuxt/ui</span>
  <span class=sMK4o>
  '</span>
  <span class=sTEyZ>
  ]</span>
  <span class=sMK4o>
  ,
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=swJcz>
    css</span>
  <span class=sMK4o>
  :</span>
  <span class=sTEyZ>
   [</span>
  <span class=sMK4o>
  '</span>
  <span class=sfazB>
  ~/assets/css/main.css</span>
  <span class=sMK4o>
  '</span>
  <span class=sTEyZ>
  ]
  </span></span>
  <span class=line>
  <span class=sMK4o>
  }</span>
  <span class=sTEyZ>
  )
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sfazB>
  ```
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sfazB>
  ```</span>
  <span class=sJsPd>
  css [app/assets/css/main.css]
  </span></span>
  <span class=line>
  <span class=s7zQu>
  @import</span>
  <span class=sMK4o>
   "</span>
  <span class=sfazB>
  tailwindcss</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  ;
  </span></span>
  <span class=line>
  <span class=s7zQu>
  @import</span>
  <span class=sMK4o>
   "</span>
  <span class=sfazB>
  @nuxt/ui</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  ;
  </span></span>
  <span class=line>
  <span class=sfazB>
  ```
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sfazB>
  ```</span>
  <span class=sJsPd>
  ts [app/app.config.ts]
  </span></span>
  <span class=line>
  <span class=s7zQu>
  export</span>
  <span class=s7zQu>
   default</span>
  <span class=s2Zo4>
   defineAppConfig</span>
  <span class=sTEyZ>
  (</span>
  <span class=sMK4o>
  {
  </span></span>
  <span class=line>
  <span class=swJcz>
    ui</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   {
  </span></span>
  <span class=line>
  <span class=swJcz>
      colors</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   {
  </span></span>
  <span class=line>
  <span class=swJcz>
        primary</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   '</span>
  <span class=sfazB>
  sky</span>
  <span class=sMK4o>
  '</span>
  <span class=sMK4o>
  ,
  </span></span>
  <span class=line>
  <span class=swJcz>
        colors</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   '</span>
  <span class=sfazB>
  slate</span>
  <span class=sMK4o>
  '
  </span></span>
  <span class=line>
  <span class=sMK4o>
      }
  </span></span>
  <span class=line>
  <span class=sMK4o>
    }
  </span></span>
  <span class=line>
  <span class=sMK4o>
  }</span>
  <span class=sTEyZ>
  )
  </span></span>
  <span class=line>
  <span class=sfazB>
  ```
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sfazB>
  ```</span>
  <span class=sJsPd>
  vue [app/app.vue]
  </span></span>
  <span class=line>
  <span class=sJsPd>
  <template>
  </span></span>
  <span class=line>
  <span class=sJsPd>
    <UApp>
  </span></span>
  <span class=line>
  <span class=sJsPd>
      <NuxtPage />
  </span></span>
  <span class=line>
  <span class=sJsPd>
    </UApp>
  </span></span>
  <span class=line>
  <span class=sJsPd>
  </template>
  </span></span>
  <span class=line>
  <span class=sfazB>
  ```
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sfazB>
  ```</span>
  <span class=sJsPd>
  json [package.json]
  </span></span>
  <span class=line>
  <span class=sMK4o>
  {
  </span></span>
  <span class=line>
  <span class=sMK4o>
    "</span>
  <span class=spNyl>
  name</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   "</span>
  <span class=sfazB>
  nuxt-app</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  ,
  </span></span>
  <span class=line>
  <span class=sMK4o>
    "</span>
  <span class=spNyl>
  private</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   true,
  </span></span>
  <span class=line>
  <span class=sMK4o>
    "</span>
  <span class=spNyl>
  type</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   "</span>
  <span class=sfazB>
  module</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  ,
  </span></span>
  <span class=line>
  <span class=sMK4o>
    "</span>
  <span class=spNyl>
  scripts</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   {
  </span></span>
  <span class=line>
  <span class=sMK4o>
      "</span>
  <span class=sBMFI>
  build</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   "</span>
  <span class=sfazB>
  nuxt build</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  ,
  </span></span>
  <span class=line>
  <span class=sMK4o>
      "</span>
  <span class=sBMFI>
  dev</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   "</span>
  <span class=sfazB>
  nuxt dev</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  ,
  </span></span>
  <span class=line>
  <span class=sMK4o>
      "</span>
  <span class=sBMFI>
  generate</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   "</span>
  <span class=sfazB>
  nuxt generate</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  ,
  </span></span>
  <span class=line>
  <span class=sMK4o>
      "</span>
  <span class=sBMFI>
  preview</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   "</span>
  <span class=sfazB>
  nuxt preview</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  ,
  </span></span>
  <span class=line>
  <span class=sMK4o>
      "</span>
  <span class=sBMFI>
  postinstall</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   "</span>
  <span class=sfazB>
  nuxt prepare</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  ,
  </span></span>
  <span class=line>
  <span class=sMK4o>
      "</span>
  <span class=sBMFI>
  typecheck</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   "</span>
  <span class=sfazB>
  nuxt typecheck</span>
  <span class=sMK4o>
  "
  </span></span>
  <span class=line>
  <span class=sMK4o>
    },
  </span></span>
  <span class=line>
  <span class=sMK4o>
    "</span>
  <span class=spNyl>
  dependencies</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   {
  </span></span>
  <span class=line>
  <span class=sMK4o>
      "</span>
  <span class=sBMFI>
  @iconify-json/lucide</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   "</span>
  <span class=sfazB>
  ^1.2.0</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  ,
  </span></span>
  <span class=line>
  <span class=sMK4o>
      "</span>
  <span class=sBMFI>
  @nuxt/ui</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   "</span>
  <span class=sfazB>
  ^4.0.0</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  ,
  </span></span>
  <span class=line>
  <span class=sMK4o>
      "</span>
  <span class=sBMFI>
  nuxt</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   "</span>
  <span class=sfazB>
  ^4.0.0</span>
  <span class=sMK4o>
  "
  </span></span>
  <span class=line>
  <span class=sMK4o>
    },
  </span></span>
  <span class=line>
  <span class=sMK4o>
    "</span>
  <span class=spNyl>
  devDependencies</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   {
  </span></span>
  <span class=line>
  <span class=sMK4o>
      "</span>
  <span class=sBMFI>
  typescript</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   "</span>
  <span class=sfazB>
  ^6.0.0</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  ,
  </span></span>
  <span class=line>
  <span class=sMK4o>
      "</span>
  <span class=sBMFI>
  vue-tsc</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   "</span>
  <span class=sfazB>
  ^3.2.0</span>
  <span class=sMK4o>
  "
  </span></span>
  <span class=line>
  <span class=sMK4o>
    }
  </span></span>
  <span class=line>
  <span class=sMK4o>
  }
  </span></span>
  <span class=line>
  <span class=sfazB>
  ```
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sfazB>
  ```</span>
  <span class=sJsPd>
  json [tsconfig.json]
  </span></span>
  <span class=line>
  <span class=sMK4o>
  {
  </span></span>
  <span class=line>
  <span class=sMK4o>
    "</span>
  <span class=spNyl>
  extends</span>
  <span class=sMK4o>
  "</span>
  <span class=sMK4o>
  :</span>
  <span class=sMK4o>
   "</span>
  <span class=sfazB>
  ./.nuxt/tsconfig.json</span>
  <span class=sMK4o>
  "
  </span></span>
  <span class=line>
  <span class=sMK4o>
  }
  </span></span>
  <span class=line>
  <span class=sfazB>
  ```
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sfazB>
  ````</span>
  <span class=sJsPd>
  md [README.md]
  </span></span>
  <span class=line>
  <span class=sMK4o>
  # </span>
  <span class=sBMFI>
  Nuxt 4 Minimal Starter
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sTEyZ>
  Look at the </span>
  <span class=sMK4o>
  [</span>
  <span class=sfazB>
  Nuxt 4 documentation</span>
  <span class=sMK4o>
  ](</span>
  <span class=sQLHv>
  https://nuxt.com/docs/getting-started/introduction</span>
  <span class=sMK4o>
  )</span>
  <span class=sTEyZ>
   to learn more.
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sMK4o>
  ## </span>
  <span class=sBMFI>
  Setup
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sTEyZ>
  Make sure to install the dependencies:
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sfazB>
  ```</span>
  <span class=sJsPd>
  bash
  </span></span>
  <span class=line>
  <span class=sHwdD>
  # npm
  </span></span>
  <span class=line>
  <span class=sBMFI>
  npm</span>
  <span class=sfazB>
   install
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sHwdD>
  # pnpm
  </span></span>
  <span class=line>
  <span class=sBMFI>
  pnpm</span>
  <span class=sfazB>
   install
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sHwdD>
  # yarn
  </span></span>
  <span class=line>
  <span class=sBMFI>
  yarn</span>
  <span class=sfazB>
   install
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sHwdD>
  # bun
  </span></span>
  <span class=line>
  <span class=sBMFI>
  bun</span>
  <span class=sfazB>
   install
  </span></span>
  <span class=line>
  <span class=sJsPd>
  ```
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sMK4o>
  ## </span>
  <span class=sBMFI>
  Development server
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sTEyZ>
  Start the development server on </span>
  <span class=sMK4o>
  `</span>
  <span class=sfazB>
  http://localhost:3000</span>
  <span class=sMK4o>
  `</span>
  <span class=sTEyZ>
  :
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sfazB>
  ```</span>
  <span class=sJsPd>
  bash
  </span></span>
  <span class=line>
  <span class=sHwdD>
  # npm
  </span></span>
  <span class=line>
  <span class=sBMFI>
  npm</span>
  <span class=sfazB>
   run</span>
  <span class=sfazB>
   dev
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sHwdD>
  # pnpm
  </span></span>
  <span class=line>
  <span class=sBMFI>
  pnpm</span>
  <span class=sfazB>
   run</span>
  <span class=sfazB>
   dev
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sHwdD>
  # yarn
  </span></span>
  <span class=line>
  <span class=sBMFI>
  yarn</span>
  <span class=sfazB>
   dev
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sHwdD>
  # bun
  </span></span>
  <span class=line>
  <span class=sBMFI>
  bun</span>
  <span class=sfazB>
   run</span>
  <span class=sfazB>
   dev
  </span></span>
  <span class=line>
  <span class=sJsPd>
  ```
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sMK4o>
  ## </span>
  <span class=sBMFI>
  Production
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sTEyZ>
  Build the application for production:
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sfazB>
  ```</span>
  <span class=sJsPd>
  bash
  </span></span>
  <span class=line>
  <span class=sHwdD>
  # npm
  </span></span>
  <span class=line>
  <span class=sBMFI>
  npm</span>
  <span class=sfazB>
   run</span>
  <span class=sfazB>
   build
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sHwdD>
  # pnpm
  </span></span>
  <span class=line>
  <span class=sBMFI>
  pnpm</span>
  <span class=sfazB>
   run</span>
  <span class=sfazB>
   build
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sHwdD>
  # yarn
  </span></span>
  <span class=line>
  <span class=sBMFI>
  yarn</span>
  <span class=sfazB>
   build
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sHwdD>
  # bun
  </span></span>
  <span class=line>
  <span class=sBMFI>
  bun</span>
  <span class=sfazB>
   run</span>
  <span class=sfazB>
   build
  </span></span>
  <span class=line>
  <span class=sJsPd>
  ```
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sTEyZ>
  Locally preview production build:
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sfazB>
  ```</span>
  <span class=sJsPd>
  bash
  </span></span>
  <span class=line>
  <span class=sHwdD>
  # npm
  </span></span>
  <span class=line>
  <span class=sBMFI>
  npm</span>
  <span class=sfazB>
   run</span>
  <span class=sfazB>
   preview
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sHwdD>
  # pnpm
  </span></span>
  <span class=line>
  <span class=sBMFI>
  pnpm</span>
  <span class=sfazB>
   run</span>
  <span class=sfazB>
   preview
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sHwdD>
  # yarn
  </span></span>
  <span class=line>
  <span class=sBMFI>
  yarn</span>
  <span class=sfazB>
   preview
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sHwdD>
  # bun
  </span></span>
  <span class=line>
  <span class=sBMFI>
  bun</span>
  <span class=sfazB>
   run</span>
  <span class=sfazB>
   preview
  </span></span>
  <span class=line>
  <span class=sJsPd>
  ```
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sTEyZ>
  Check out the </span>
  <span class=sMK4o>
  [</span>
  <span class=sfazB>
  deployment documentation</span>
  <span class=sMK4o>
  ](</span>
  <span class=sQLHv>
  https://nuxt.com/docs/getting-started/deployment</span>
  <span class=sMK4o>
  )</span>
  <span class=sTEyZ>
   for more information.
  </span></span>
  <span class=line>
  <span class=sfazB>
  ````
  </span></span>
  <span class=line>
  <span /></span>
  <span class=line>
  <span class=sMK4o>
  ::
  </span></span></code></pre></__flatten></template>
</template>
```

> [!NOTE]
> See: /docs/typography/code#code-blocks
> 
> Like the `ProsePre` component, the `CodeTree` handles filenames, icons and copy button.

## API

### Props

```ts
/**
 * Props for the ProseCodeTree component
 */
interface ProseCodeTreeProps {
  items?: TreeItem[] | undefined;
  /**
   * The selected path.
   */
  modelValue?: string | undefined;
  /**
   * The default path to select.
   */
  defaultValue?: string | undefined;
  /**
   * Expand all directories by default.
   */
  expandAll?: boolean | undefined;
  ui?: { root?: ClassNameValue; list?: ClassNameValue; item?: ClassNameValue; listWithChildren?: ClassNameValue; itemWithChildren?: ClassNameValue; link?: ClassNameValue; linkLeadingIcon?: ClassNameValue; linkLabel?: ClassNameValue; linkTrailing?: ClassNameValue; linkTrailingIcon?: ClassNameValue; content?: ClassNameValue; } | undefined;
}
```

### Slots

```ts
/**
 * Slots for the CodeTree component
 */
interface CodeTreeSlots {
  default(): any;
}
```

## Theme

```ts [app.config.ts]
export default defineAppConfig({
  ui: {
    prose: {
      codeTree: {
        slots: {
          root: 'relative lg:h-[450px] my-5 grid lg:grid-cols-3 border border-muted rounded-md',
          list: 'isolate relative p-2 border-b lg:border-b-0 lg:border-e border-muted overflow-y-auto',
          item: '',
          listWithChildren: 'ms-4.5 border-s border-default',
          itemWithChildren: 'ps-1.5 -ms-px',
          link: 'relative group peer w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2',
          linkLeadingIcon: 'size-4 shrink-0',
          linkLabel: 'truncate',
          linkTrailing: 'ms-auto inline-flex gap-1.5 items-center',
          linkTrailingIcon: 'size-5 transform transition-transform duration-200 shrink-0 group-data-expanded:rotate-180',
          content: 'overflow-hidden lg:col-span-2 flex flex-col [&>div]:my-0 [&>div]:flex-1 [&>div]:flex [&>div]:flex-col [&>div>div]:border-0 [&>div>pre]:border-b-0 [&>div>pre]:border-s-0 [&>div>pre]:border-e-0 [&>div>pre]:rounded-l-none [&>div>pre]:flex-1 [&>div]:overflow-y-auto'
        },
        variants: {
          active: {
            true: {
              link: 'text-highlighted before:bg-elevated'
            },
            false: {
              link: [
                'hover:text-highlighted hover:before:bg-elevated/50',
                'transition-colors before:transition-colors'
              ]
            }
          }
        }
      }
    }
  }
})
```

## Changelog

See commit history for [component](https://github.com/nuxt/ui/commits/v4/src/runtime/components/prose/CodeTree.vue) and [theme](https://github.com/nuxt/ui/commits/v4/src/theme/prose/code-tree.ts).


## Sitemap

See the full [sitemap](/sitemap.md) for all pages.
