# full-send URL: /cli/commands/full-send `npx tambo full-send` For instant project setup, performs the same project setup steps as `init`, and also installs a few useful components. **What it does:** 1. Sets up authentication and API key 2. Creates the `lib/tambo.ts` configuration file 3. Prompts you to select starter components to install 4. Installs selected components and their dependencies 5. Provides setup instructions with code snippets **Examples:** ```bash # Full setup with component selection npx tambo full-send # Skip prompts and use defaults npx tambo full-send --yes # Use legacy peer deps npx tambo full-send --legacy-peer-deps ``` **Manual Provider Setup:** After running `full-send`, add the TamboProvider to your layout file: ```tsx title="app/layout.tsx" "use client"; import { TamboProvider } from "@tambo-ai/react"; import { components } from "../lib/tambo"; import { MessageThreadFull } from "@/components/tambo/message-thread-full"; export default function Layout({ children }) { return (
{children}
); } ``` ## Manual Styling Setup The `full-send` command automatically configures your CSS and Tailwind based on your version. If you need to manually verify or update the configuration: ### Tailwind CSS v3 Configuration **Check your `globals.css` file includes:** ```css title="app/globals.css" @tailwind base; @tailwind components; @tailwind utilities; @layer base { :root { /* Tailwind CSS Variables customized with Tambo colors */ --background: 0 0% 100%; --foreground: 240 10% 3.9%; --card: 0 0% 100%; --card-foreground: 240 10% 3.9%; --popover: 0 0% 100%; --popover-foreground: 240 10% 3.9%; --primary: 235 12% 21%; --primary-foreground: 0 0% 98%; --secondary: 218 11% 46%; --secondary-foreground: 0 0% 100%; --muted: 217 14% 90%; --muted-foreground: 217 14% 68%; --accent: 240 4.8% 95.9%; --accent-foreground: 240 5.9% 10%; --destructive: 0 84.2% 60.2%; --border: 207 22% 90%; --input: 240 5.9% 90%; --ring: 240 10% 3.9%; --chart-1: 30 80% 54.9%; --chart-2: 339.8 74.8% 54.9%; --chart-3: 219.9 70.2% 50%; --chart-4: 160 60% 45.1%; --chart-5: 280 64.7% 60%; /* Tambo-specific variables for component layouts */ --radius: 0.5rem; --container: 210 29% 97%; --backdrop: 210 88% 14% / 0.25; --muted-backdrop: 210 88% 14% / 0.1; --panel-left-width: 500px; --panel-right-width: 500px; --sidebar-width: 3rem; } .dark { /* Dark mode variables */ --background: 240 10% 3.9%; --foreground: 0 0% 98%; --card: 240 10% 3.9%; --card-foreground: 0 0% 98%; --popover: 240 10% 3.9%; --popover-foreground: 0 0% 98%; --primary: 0 0% 98%; --primary-foreground: 240 5.9% 10%; --secondary: 240 3.7% 15.9%; --secondary-foreground: 0 0% 98%; --muted: 240 3.7% 15.9%; --muted-foreground: 240 5% 64.9%; --accent: 240 3.7% 15.9%; --accent-foreground: 0 0% 98%; --destructive: 0 62.8% 30.6%; --border: 240 3.7% 15.9%; --input: 240 3.7% 15.9%; --ring: 240 4.9% 83.9%; --chart-1: 30 80% 54.9%; --chart-2: 339.8 74.8% 54.9%; --chart-3: 219.9 70.2% 50%; --chart-4: 160 60% 45.1%; --chart-5: 280 64.7% 60%; /* Tambo-specific variables for component layouts */ --radius: 0.5rem; --container: 210 29% 97%; --backdrop: 210 88% 14% / 0.25; --muted-backdrop: 210 88% 14% / 0.1; --panel-left-width: 500px; --panel-right-width: 500px; --sidebar-width: 3rem; } } ``` **Verify your `tailwind.config.ts` includes:** ```tsx title="tailwind.config.ts" import type { Config } from "tailwindcss"; const config: Config = { darkMode: "class", content: [ "./pages/**/*.{ts,tsx}", "./components/**/*.{ts,tsx}", "./app/**/*.{ts,tsx}", "./src/**/*.{ts,tsx}", ], // ... your existing theme configuration }; export default config; ``` ### Tailwind CSS v4 Configuration **For v4, check your `globals.css` includes:** ```css title="app/globals.css" @import "tailwindcss"; @custom-variant dark (&:is(.dark *)); @theme inline { /* Color mappings for Tailwind v4 */ --color-background: var(--background); --color-foreground: var(--foreground); --color-card: var(--card); --color-card-foreground: var(--card-foreground); --color-popover: var(--popover); --color-popover-foreground: var(--popover-foreground); --color-primary: var(--primary); --color-primary-foreground: var(--primary-foreground); --color-secondary: var(--secondary); --color-secondary-foreground: var(--secondary-foreground); --color-muted: var(--muted); --color-muted-foreground: var(--muted-foreground); --color-accent: var(--accent); --color-accent-foreground: var(--accent-foreground); --color-destructive: var(--destructive); --color-border: var(--border); --color-input: var(--input); --color-ring: var(--ring); --color-chart-1: var(--chart-1); --color-chart-2: var(--chart-2); --color-chart-3: var(--chart-3); --color-chart-4: var(--chart-4); --color-chart-5: var(--chart-5); /* Tambo-specific color mappings */ --color-container: var(--container); --color-backdrop: var(--backdrop); --color-muted-backdrop: var(--muted-backdrop); } :root { /* Tailwind v4 uses oklch() color format */ --background: oklch(1 0 0); --foreground: oklch(0.14 0 285); --card: oklch(1 0 0); --card-foreground: oklch(0.14 0 285); --popover: oklch(1 0 0); --popover-foreground: oklch(0.14 0 285); --primary: oklch(0.31 0.02 281); --primary-foreground: oklch(0.98 0 0); --secondary: oklch(0.54 0.027 261); --secondary-foreground: oklch(1 0 0); --muted: oklch(0.92 0 260); --muted-foreground: oklch(0.73 0.022 260); --accent: oklch(0.97 0 286); --accent-foreground: oklch(0.21 0 286); --destructive: oklch(0.64 0.2 25); --border: oklch(0.93 0 242); --input: oklch(0.92 0 286); --ring: oklch(0.14 0 285); --chart-1: oklch(0.72 0.15 60); --chart-2: oklch(0.62 0.2 6); --chart-3: oklch(0.53 0.2 262); --chart-4: oklch(0.7 0.13 165); --chart-5: oklch(0.62 0.2 313); /* Tambo-specific layout variables */ --container: oklch(0.98 0 247); --backdrop: oklch(0.25 0.07 252 / 0.25); --muted-backdrop: oklch(0.25 0.07 252 / 0.1); --radius: 0.5rem; --panel-left-width: 500px; --panel-right-width: 500px; --sidebar-width: 3rem; } .dark { /* Dark mode with oklch() colors */ --background: oklch(0.145 0 0); --foreground: oklch(0.985 0 0); --card: oklch(0.205 0 0); --card-foreground: oklch(0.985 0 0); --popover: oklch(0.205 0 0); --popover-foreground: oklch(0.985 0 0); --primary: oklch(0.922 0 0); --primary-foreground: oklch(0.205 0 0); --secondary: oklch(0.269 0 0); --secondary-foreground: oklch(0.985 0 0); --muted: oklch(0.269 0 0); --muted-foreground: oklch(0.708 0 0); --accent: oklch(0.269 0 0); --accent-foreground: oklch(0.985 0 0); --destructive: oklch(0.704 0.191 22.216); --border: oklch(1 0 0 / 10%); --input: oklch(1 0 0 / 15%); --ring: oklch(0.556 0 0); --chart-1: oklch(0.72 0.15 60); --chart-2: oklch(0.62 0.2 6); --chart-3: oklch(0.53 0.2 262); --chart-4: oklch(0.7 0.13 165); --chart-5: oklch(0.62 0.2 313); /* Tambo-specific layout variables */ --container: oklch(0.98 0 247); --backdrop: oklch(0.25 0.07 252 / 0.25); --muted-backdrop: oklch(0.25 0.07 252 / 0.1); --radius: 0.5rem; --panel-left-width: 500px; --panel-right-width: 500px; --sidebar-width: 3rem; } @layer base { * { @apply border-border outline-ring/50; } body { @apply bg-background text-foreground; font-family: Arial, Helvetica, sans-serif; } } ``` The `full-send` command detects your Tailwind version and applies the appropriate CSS format automatically. You typically won't need to manually configure these files unless you're customizing the default Tambo styling. Tambo components require specific CSS variables to function properly. The layout variables (`--panel-left-width`, `--panel-right-width`, `--sidebar-width`) control component dimensions and should not be removed. For detailed information about what gets configured or for manual setup, see: import { Card, Cards } from "fumadocs-ui/components/card"; Complete guide to CSS variables and Tailwind configuration changes