https://github.com/franciscomoretti/chat-js
Production-ready AI chat. Start here and make it your own. Formerly Sparka AI
https://github.com/franciscomoretti/chat-js
ai anthropic chat chatbot chatgpt claude gemini gemini-ai grok llm multiprovider openai xai
Last synced: 2 months ago
JSON representation
Production-ready AI chat. Start here and make it your own. Formerly Sparka AI
- Host: GitHub
- URL: https://github.com/franciscomoretti/chat-js
- Owner: FranciscoMoretti
- License: other
- Created: 2025-03-22T17:04:17.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2026-04-05T09:15:26.000Z (2 months ago)
- Last Synced: 2026-04-05T09:21:20.532Z (2 months ago)
- Topics: ai, anthropic, chat, chatbot, chatgpt, claude, gemini, gemini-ai, grok, llm, multiprovider, openai, xai
- Language: TypeScript
- Homepage: https://chatjs.dev
- Size: 105 MB
- Stars: 1,162
- Watchers: 7
- Forks: 106
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ChatGPT-repositories - chat-js - Production-ready AI chat. Start here and make it your own. Formerly Sparka AI (Chatbots)
README

# ChatJS
Stop rebuilding the same AI chat infrastructure. ChatJS gives you a production-ready foundation with authentication, 120+ models, streaming, and tools so you can focus on what makes your app unique.
[**Website**](https://chatjs.dev) · [**Live Demo**](https://demo.chatjs.dev) · [**Documentation**](https://chatjs.dev/docs)

## CLI
Create a new ChatJS app:
```bash
npx @chat-js/cli@latest create my-app
```
The CLI walks you through gateway, features, and auth choices, generates `chat.config.ts`, and lists the env vars required by your selections.
## Features
- **120+ Models**: Claude, GPT, Gemini, Grok via one API
- **Auth**: GitHub, Google, anonymous. Ready to go.
- **Attachments**: Images, PDFs, docs. Drag and drop.
- **Resumable Streams**: Continue generation after page refresh
- **Branching**: Fork conversations, explore alternatives
- **Sharing**: Share conversations with public links
- **Web Search**: Real-time web search integration
- **Image Generation**: AI-powered image creation
- **Code Execution**: Run code snippets in sandbox
- **MCP**: Model Context Protocol support
- **Desktop App**: Package as a native macOS, Windows, or Linux app with Electron
## Stack
- [Next.js](https://nextjs.org) - App Router, React Server Components
- [TypeScript](https://www.typescriptlang.org) - Full type safety
- [AI SDK](https://ai-sdk.dev/) - The AI Toolkit for TypeScript
- [AI Gateway](https://vercel.com/ai-gateway) - Unified access to 120+ AI models
- [Better Auth](https://www.better-auth.com) - Authentication & authorization
- [Drizzle ORM](https://orm.drizzle.team) - Type-safe database queries
- [PostgreSQL](https://www.postgresql.org) - Primary database
- [Redis](https://redis.io) - Caching & resumable streams
- [Vercel Blob](https://vercel.com/storage/blob) - Blob storage
- [Shadcn/UI](https://ui.shadcn.com) - Beautiful, accessible components
- [Tailwind CSS](https://tailwindcss.com) - Styling
- [tRPC](https://trpc.io) - End-to-end type-safe APIs
- [Zod](https://zod.dev) - Schema validation
- [Zustand](https://zustand.docs.pmnd.rs/) - State management
- [Motion](https://motion.dev) - Animations
- [t3-env](https://env.t3.gg) - Environment variables
- [Pino](https://getpino.io) - Structured Logging
- [Langfuse](https://langfuse.com) - LLM observability & analytics
- [Vercel Analytics](https://vercel.com/analytics) - Web analytics
- [Biome](https://biomejs.dev) - Code linting and formatting
- [Ultracite](https://ultracite.ai) - Biome preset for humans and AI
- [Streamdown](https://streamdown.ai/) - Markdown for AI streaming
- [AI Elements](https://elements.ai-sdk.dev/overview) - AI-native Components
- [AI SDK Tools](https://ai-sdk-tools.dev/) - Developer tools for AI SDK
## Monorepo Layout
- `apps/site`: Landing page ([chatjs.dev](https://chatjs.dev))
- `apps/chat`: Next.js chat app ([demo.chatjs.dev](https://demo.chatjs.dev))
- `apps/docs`: Mintlify docs ([chatjs.dev/docs](https://chatjs.dev/docs))
- `packages/cli`: interactive scaffold CLI
## Development
- `bun dev:chat`: run chat app
- `bun dev:docs`: run docs
- `bun lint`: run workspace lint
- `bun test:types`: run chat app typecheck
## License
Apache-2.0