Production-ready AI chat. Start here and make it your own. Formerly Sparka AI
1,194
stars
2,096
commits
TypeScript
primary language
Sep 6, 2026
updated
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 · Live Demo · Documentation
Create a new ChatJS app:
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.
apps/site: Landing page (chatjs.dev)apps/chat: Next.js chat app (demo.chatjs.dev)apps/docs: Blume docs (chatjs.dev/docs)packages/cli: interactive scaffold CLIbun dev: run chat appbun dev:info: print this worktree's assigned app URLsbun dev:docs: run docsbun lint: run workspace lintbun test:types: run chat app typecheckSet CHATJS_DEV_SLOT in .env.worktree.local to reserve a stable range of ten
ports per worktree. Within each range, chat uses offset 0, Electron uses 1,
and the site uses 2, as configured in .worktree-env.json. The local file is
ignored by Git and kept separate from Vercel-managed .env.local. Run
bun dev:info instead of assuming a port.
Releases are driven by Changesets for the whole repository.
@chat-js/cli publish to npm.@chat-js/electron publish to GitHub Releases.Apache-2.0
TypeScript
86.8%
MDX
12.2%
Production-ready AI chat. Start here and make it your own. Formerly Sparka AI
1,194
stars
2,096
commits
TypeScript
primary language
Sep 6, 2026
updated
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 · Live Demo · Documentation
Create a new ChatJS app:
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.
apps/site: Landing page (chatjs.dev)apps/chat: Next.js chat app (demo.chatjs.dev)apps/docs: Blume docs (chatjs.dev/docs)packages/cli: interactive scaffold CLIbun dev: run chat appbun dev:info: print this worktree's assigned app URLsbun dev:docs: run docsbun lint: run workspace lintbun test:types: run chat app typecheckSet CHATJS_DEV_SLOT in .env.worktree.local to reserve a stable range of ten
ports per worktree. Within each range, chat uses offset 0, Electron uses 1,
and the site uses 2, as configured in .worktree-env.json. The local file is
ignored by Git and kept separate from Vercel-managed .env.local. Run
bun dev:info instead of assuming a port.
Releases are driven by Changesets for the whole repository.
@chat-js/cli publish to npm.@chat-js/electron publish to GitHub Releases.Apache-2.0
TypeScript
86.8%
MDX
12.2%