# ChatJS ## Docs - [Changelog](https://chatjs.dev/docs/changelog.md): Latest updates and announcements - [add](https://chatjs.dev/docs/cli/add.md): Add a tool to an existing ChatJS project - [config](https://chatjs.dev/docs/cli/config.md): Print the resolved configuration for the current ChatJS project - [create](https://chatjs.dev/docs/cli/create.md): Scaffold a new ChatJS application - [Overview](https://chatjs.dev/docs/cli/index.md): @chat-js/cli — scaffold and manage ChatJS applications - [Adding Tools](https://chatjs.dev/docs/cookbook/add-tools.md): How the ChatJS registry installs a tool into your project - [Auto-Updating Models](https://chatjs.dev/docs/cookbook/auto-updating-models.md): Fetch model catalogs at runtime with fallback to a static snapshot - [Chat Layout](https://chatjs.dev/docs/cookbook/chat-layout.md): Composable resizable main and secondary panel layout - [Component Registries](https://chatjs.dev/docs/cookbook/component-registries.md): Add shadcn and AI Elements components to your app - [Credit Tracking](https://chatjs.dev/docs/cookbook/credit-tracking.md): Track and limit AI usage with credit budgets - [Dev Auth Bypass](https://chatjs.dev/docs/cookbook/dev-auth-bypass.md): Auto-authenticate AI agents for browser testing - [Explicit Tool Selection](https://chatjs.dev/docs/cookbook/explicit-tool-selection.md): Let users select specific tools before sending a message - [Follow-up Questions](https://chatjs.dev/docs/cookbook/follow-up-questions.md): Generate and display contextual follow-up suggestions - [Git Worktrees](https://chatjs.dev/docs/cookbook/git-worktrees.md): Parallel development environments without branch switching - [Cookbook](https://chatjs.dev/docs/cookbook/index.md): Reusable patterns to copy into any project - [Neon Branching](https://chatjs.dev/docs/cookbook/neon-branching.md): Isolated database environments for safe schema development - [Provisional Chat Runtime](https://chatjs.dev/docs/cookbook/next-chat-transition.md): Keep first-message chat execution alive while App Router moves from a draft route to a persisted chat route - [Resumable Streams](https://chatjs.dev/docs/cookbook/resumable-streams.md): Continue AI responses after connection interruptions - [Stop Resumable Streams](https://chatjs.dev/docs/cookbook/stop-resumable-streams.md): Abort provider streams without breaking resume - [Tool Part](https://chatjs.dev/docs/cookbook/tool-part.md): Backend tool definition to frontend UI component - [Tools](https://chatjs.dev/docs/cookbook/tools.md): How to build and distribute installable AI tools with custom UI components - [Architecture](https://chatjs.dev/docs/core/architecture.md): How ChatJS is structured and how data flows through the system - [Authentication](https://chatjs.dev/docs/core/authentication.md): Session-based OAuth authentication with Better Auth - [Configuration](https://chatjs.dev/docs/core/configuration.md): Customize ChatJS via chat.config.ts - [Multi-Model Support](https://chatjs.dev/docs/core/multi-model.md): Access hundreds of AI models through a pluggable gateway abstraction - [Syntax Highlighting](https://chatjs.dev/docs/core/syntax-highlighting.md): Beautiful code formatting with themes - [Tool Registry](https://chatjs.dev/docs/core/tool-registry.md): Install and distribute ChatJS tools through the registry - [Branding](https://chatjs.dev/docs/customization/branding.md): Replace icons, logos, and images for your app - [Fonts](https://chatjs.dev/docs/customization/fonts.md): Customize the typography of your ChatJS app - [Models](https://chatjs.dev/docs/customization/models.md): Add, remove, or configure AI models - [Prompts](https://chatjs.dev/docs/customization/prompts.md): Customize system prompts and AI behavior - [Theming](https://chatjs.dev/docs/customization/theming.md): Customize colors, fonts, and styling - [Docker](https://chatjs.dev/docs/deployment/docker.md): Deploy ChatJS with Docker - [Self-Hosted](https://chatjs.dev/docs/deployment/self-hosted.md): Deploy ChatJS on any platform - [Deploy to Vercel](https://chatjs.dev/docs/deployment/vercel.md): Production deployment with Vercel's integrated platform - [Attachments](https://chatjs.dev/docs/features/attachments.md): Upload images and PDFs to conversations - [Branching](https://chatjs.dev/docs/features/branching.md): Explore alternative conversation paths without losing context - [Canvas](https://chatjs.dev/docs/features/canvas.md): Create and edit text documents, code, and spreadsheets - [Code Execution](https://chatjs.dev/docs/features/code-execution.md): Secure Python and JavaScript sandbox for running code - [Deep Research](https://chatjs.dev/docs/features/deep-research.md): Multi-step research agent with comprehensive reports - [Follow-up Suggestions](https://chatjs.dev/docs/features/follow-up-suggestions.md): AI-generated contextual follow-up questions after responses - [Image Generation](https://chatjs.dev/docs/features/image-generation.md): AI-powered image creation in your chat app - [MCP](https://chatjs.dev/docs/features/mcp.md): Connect Model Context Protocol servers to extend AI capabilities - [Features](https://chatjs.dev/docs/features/overview.md): Tools and capabilities that extend what the AI can do - [Parallel Responses](https://chatjs.dev/docs/features/parallel-responses.md): Send one message to multiple models simultaneously and compare their answers side by side - [Projects](https://chatjs.dev/docs/features/projects.md): Organize chats and set custom instructions with icon and color customization - [Reasoning](https://chatjs.dev/docs/features/reasoning.md): Extended thinking for supported models - [Sharing](https://chatjs.dev/docs/features/sharing.md): Share conversations publicly and let others view your chats - [URL Retrieval](https://chatjs.dev/docs/features/url-retrieval.md): Fetch and extract structured content from any URL - [Video Generation](https://chatjs.dev/docs/features/video-generation.md): AI-powered video creation in your chat app - [Web Search](https://chatjs.dev/docs/features/web-search.md): Real-time web search with citations - [Custom Gateway](https://chatjs.dev/docs/gateways/custom.md): Add a new AI gateway to the multi-gateway system - [OpenAI Gateway](https://chatjs.dev/docs/gateways/openai.md): Connect directly to the OpenAI API - [OpenAI Compatible Gateway](https://chatjs.dev/docs/gateways/openai-compatible.md): Connect to any OpenAI-compatible API endpoint - [OpenRouter Gateway](https://chatjs.dev/docs/gateways/openrouter.md): Access hundreds of AI models through OpenRouter - [Overview](https://chatjs.dev/docs/gateways/overview.md): Route AI requests through a pluggable gateway abstraction - [Vercel Gateway](https://chatjs.dev/docs/gateways/vercel.md): Access 120+ AI models through Vercel AI Gateway - [Introduction](https://chatjs.dev/docs/index.md): The prod-ready AI chat app - [Desktop](https://chatjs.dev/docs/platforms/desktop.md): Package your ChatJS app as a native desktop application with Electron - [Web](https://chatjs.dev/docs/platforms/web.md): Run ChatJS as a web app in development and production - [Project Structure](https://chatjs.dev/docs/project-structure.md): How ChatJS is organized - [Quickstart](https://chatjs.dev/docs/quickstart.md): Get ChatJS running in minutes - [Config Reference](https://chatjs.dev/docs/reference/config.md): Full chat.config.ts API reference - [Database](https://chatjs.dev/docs/reference/database.md): PostgreSQL database management commands and schema workflow - [Environment Variables](https://chatjs.dev/docs/reference/env-vars.md): Complete reference for all environment variables used by ChatJS - [Evaluations](https://chatjs.dev/docs/reference/evaluations.md): Test and measure AI agent quality with Evalite - [URL Routing](https://chatjs.dev/docs/reference/routing.md): URL structure and pathname parsing utilities - [Testing](https://chatjs.dev/docs/reference/testing.md): Unit tests and end-to-end testing with Vitest and Playwright ## Optional - [GitHub](https://github.com/franciscomoretti/chat-js) - [Demo](https://demo.chatjs.dev)