mirror of
https://github.com/delibae/claude-prism.git
synced 2026-08-28 05:14:59 +00:00
Refactor the project wizard's inline template grid into a full-featured template gallery system with search, category filtering, and rich previews. Template data architecture (template-registry.ts): - Define TemplateDefinition schema with categories, subcategories, tags, packages, accent colors, and bibliography flag - Expand from 8 to 12 templates: add IEEE, ACM, Technical Report, Newsletter - Provide registry API: getAllTemplates, getTemplateById, searchTemplates, getTemplatesByCategory Template gallery UI (components/template-gallery/): - template-gallery.tsx: main layout with search bar (Cmd+K), category sidebar, responsive grid, grouped-by-category default view, empty state - template-card.tsx: cards with 9 CSS-based document thumbnail layouts (paper, slides, poster, CV, letter, book, report, newsletter, blank) and hover preview button - category-sidebar.tsx: category navigation with per-category template counts - template-preview.tsx: dialog showing LaTeX source, package list, tags, document class metadata, and "Use Template" CTA State management (template-store.ts): - Zustand store for gallery state: search query, category filter, template selection, and preview modal state with computed filtered results Project wizard refactor (project-wizard.tsx): - Replace inline TemplateGrid and hardcoded template array with the new TemplateGallery component - Use template.hasBibliography flag instead of hardcoded ID check for references.bib generation - Fix overflow handling for step 2 scrollable content |
||
|---|---|---|
| apps | ||
| assets | ||
| docs | ||
| .env.example | ||
| .gitignore | ||
| .npmrc | ||
| biome.json | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| README.md | ||
| SHARED_TASK_NOTES.md | ||
| turbo.json | ||
ClaudePrism
Open-source AI-powered LaTeX writing workspace with live preview.
Features
- AI-Assisted Writing - Powered by assistant-ui for intelligent LaTeX assistance
- Live PDF Preview - Real-time compilation and preview of your documents
- CodeMirror Editor - Syntax highlighting and LaTeX language support
- Local Storage - Documents saved in browser IndexedDB
- Dark/Light Theme - Automatic theme switching support
Quick Start
# Clone the repository
git clone https://github.com/delibae/claude-prism.git
cd claude-prism
# Install dependencies
pnpm install
# Copy environment variables
cp apps/web/.env.example apps/web/.env.local
# Configure your environment variables in apps/web/.env.local
# - OPENAI_API_KEY: Your OpenAI API key
# - LATEX_API_URL: URL to the LaTeX compilation service
# - KV_REST_API_URL: KV REST API URL (for rate limiting)
# - KV_REST_API_TOKEN: KV REST API token
# Start development server
pnpm dev:web
Project Structure
claude-prism/
├── apps/
│ ├── web/ # Next.js frontend application
│ └── latex-api/ # LaTeX compilation API (Hono + TeX Live)
├── packages/ # Shared packages (if any)
├── biome.json # Biome linter configuration
└── turbo.json # Turborepo configuration
apps/web
Next.js 16 application with:
- assistant-ui for AI chat interface
- CodeMirror for LaTeX editing
- react-pdf for PDF preview
- Upstash Redis for rate limiting
apps/latex-api
Hono-based API for LaTeX compilation:
- Accepts LaTeX source code
- Compiles using TeX Live (pdflatex)
- Returns compiled PDF
Deployment
Web App (Vercel)
- Import the repository to Vercel
- Set root directory to
apps/web - Configure environment variables:
OPENAI_API_KEYLATEX_API_URLKV_REST_API_URLKV_REST_API_TOKEN
LaTeX API (Docker)
cd apps/latex-api
docker build -t claude-prism-latex-api .
docker run -p 3001:3001 claude-prism-latex-api
Contributing
See CONTRIBUTING.md for development setup and contribution guidelines.
