Write LaTeX documents with AI assistance. Chat with your code, and compile to PDFβall in one place.
- π€ AI-Powered Assistance - Chat with your LaTeX code using advanced AI agents
- π¨ Modern Editor - Monaco Editor with syntax highlighting and IntelliSense
- π PDF Compilation - Compile your LaTeX documents to PDF in the cloud
- π Live Sync - Real-time collaboration and synchronization
- π Project Management - Organize multiple LaTeX projects with ease
- π Secure Authentication - Built-in user authentication and project isolation
- β‘ Fast & Responsive - Optimized for performance and speed
Before you begin, ensure you have the following installed:
- Node.js >= 18
- pnpm >= 10.28.0
- Python >= 3.12
- Docker (for local development)
- PostgreSQL (or use Docker Compose)
git clone https://github.com/yourusername/SynthTeX.git
cd SynthTeX# Install root dependencies
pnpm install
# Install frontend dependencies (handled by pnpm workspace)
# Install backend dependencies
cd apps/backend
uv sync
# Install compiler dependencies
cd ../compiler
uv synccd apps/backend
cp .env.example .env
# Edit .env with your configurationcd apps/compiler
cp .env.example .env
# Edit .env with your configurationdocker-compose -f infra/docker-compose.yml up# Terminal 1: Frontend
pnpm dev
# Terminal 2: Backend
cd apps/backend
uvicorn main:app --reload
# Terminal 3: Compiler Worker
cd apps/compiler
python worker.py- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- API Docs: http://localhost:8000/docs
SynthTeX/
βββ apps/
β βββ frontend/ # Next.js frontend application
β βββ backend/ # FastAPI backend service
β βββ compiler/ # LaTeX compilation worker
βββ packages/ # Shared packages
β βββ ui/ # UI components
β βββ typescript-config/ # TypeScript configurations
β βββ eslint-config/ # ESLint configurations
βββ infra/ # Infrastructure as code
βββ assets/ # Static assets
SynthTeX follows a monorepo architecture with three main services:
- Frontend - Next.js application with real-time LaTeX editing and preview
- Backend - FastAPI service handling authentication, project management, and AI agent interactions
- Compiler - Background worker service that compiles LaTeX documents to PDF using sandboxed environments
# Development
pnpm dev # Start all services in development mode
# Building
pnpm build # Build all packages and apps
# Code Quality
pnpm lint # Lint all packages
pnpm format # Format code with Prettier
pnpm check-types # Type check all TypeScript projectsContributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with LangChain for AI agent capabilities
- Powered by E2B for secure code execution
- UI components inspired by modern design systems
Made with β€οΈ by the SynthTeX team
β Star us on GitHub β’ π Report Bug β’ π‘ Request Feature
