- Node.js and npm
- A Turso database account
- Google OAuth credentials
- API keys for your preferred AI providers
-
Clone the repository
git clone https://github.com/byjit/mchat.git cd mchat -
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env
Fill in your environment variables in
.env(see Environment Variables section) -
Set up the database
npm run db:generate npm run db:migrate
-
Start the development server
npm run dev
Your application will be running at
http://localhost:3000
Create a .env file in the root directory with the variables from .env.example
npm run dev- Start development server with Turbonpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLintnpm run lint:fix- Fix ESLint issuesnpm run format:check- Check code formattingnpm run format:write- Format code with Prettiernpm run typecheck- Run TypeScript type checkingnpm run db:generate- Generate database schemanpm run db:migrate- Run database migrationsnpm run db:push- Push schema changes to databasenpm run db:studio- Open Drizzle Studio
We welcome contributions from the community! Please read our Contributing Guidelines to get started.
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes and add tests
- Run the linter and type checker:
npm run check - Commit your changes:
git commit -m 'feat: add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
If you discover a security vulnerability, please read our Security Policy for information on how to report it responsibly.
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: [email protected]
- Implement home page
- Implement login page
- Implement agent chat page
- Implement dashboard page
- Built with Next.js
- UI components from shadcn/ui
- Database powered by Turso
- Authentication by better-auth