No description
| e2e | ||
| src | ||
| static | ||
| .env.example | ||
| .gitignore | ||
| .npmrc | ||
| .prettierignore | ||
| .prettierrc | ||
| convex.json | ||
| eslint.config.js | ||
| jsrepo.json | ||
| package.json | ||
| playwright.config.ts | ||
| pnpm-lock.yaml | ||
| README.md | ||
| svelte.config.js | ||
| tsconfig.json | ||
| vite.config.ts | ||
| vitest-setup-client.ts | ||
thom.chat
Clone of T3 Chat
🚀 Features
- Cached query for fast chat loading
- Openrouter provider for access to 400+ models
- File uploads
- Web search
- Full-text search over your chat history
- Cursor-like rules
- Privacy mode for streams and screen-sharing
- Markdown rendered messages with syntax highlighting
- Chat sharing
- Keyboard shortcuts
- Enhance prompt button
- Chat branching
🛠️ Tech Stack
- Framework: SvelteKit
- Language: TypeScript
- Styling: Tailwind
- Backend: Convex
- Auth: BetterAuth + Convex
- Components: Melt UI (next-gen)
- Testing: Humans
- Package Manager: pnpm
- Linting: ESLint
- Formatting: Prettier
📦 Running locally
- Clone the repo
- Install dependencies with
pnpm install - Copy
.env.exampleto.envand fill in the values - Run
pnpm dev - Open http://localhost:5173
TODO
Extra
- Regenerate message
[ ] Image generation- 404 page/redirect
[ ] Test link with free credits
Final push
- make things prettier
- mobile adjustments
- cloud per chat persistance