{"id":26066299,"url":"https://github.com/valaises/llm-chat","last_synced_at":"2025-08-03T01:19:07.649Z","repository":{"id":280120041,"uuid":"940827343","full_name":"valaises/llm-chat","owner":"valaises","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-01T11:18:14.000Z","size":34,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-01T11:30:29.657Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/valaises.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-28T21:41:06.000Z","updated_at":"2025-03-01T11:18:17.000Z","dependencies_parsed_at":"2025-03-01T11:41:51.129Z","dependency_job_id":null,"html_url":"https://github.com/valaises/llm-chat","commit_stats":null,"previous_names":["valaises/llm-chat"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valaises%2Fllm-chat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valaises%2Fllm-chat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valaises%2Fllm-chat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valaises%2Fllm-chat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/valaises","download_url":"https://codeload.github.com/valaises/llm-chat/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242603703,"owners_count":20156588,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-08T20:21:03.474Z","updated_at":"2025-08-03T01:19:07.631Z","avatar_url":"https://github.com/valaises.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LLM Chat UI\n\nA modern chat interface for Large Language Models (LLMs) built with React, TypeScript, and Vite.\n\n![img.png](img.png)\n\n## Features\n\n- Clean and intuitive chat interface\n- Model selection capability\n- Real-time chat interactions\n- Markdown support with syntax highlighting\n- Settings configuration through modal window\n- Responsive sidebar for chat management\n\n## Tech Stack\n\n- React 19\n- TypeScript\n- Vite 6\n- Markdown rendering with markdown-to-jsx\n- Syntax highlighting via starry-night\n- Modern ESLint configuration\n\n## Getting Started\n\n### Prerequisites\n\n- Node.js (Latest LTS version recommended)\n- npm or yarn package manager\n\n### Installation\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/valaises/llm-chat.git\ncd llm-chatui\n```\n\n2. Install dependencies:\n```bash\nnpm install\n```\n\n### Development\n\nTo start the development server:\n\n```bash\nnpm run dev\n```\n\nThis will start the Vite development server with hot module replacement.\n\n### Building for Production\n\nTo create a production build:\n\n```bash\nnpm run build\n```\n\nThe built files will be in the `dist` directory.\n\n### Preview Production Build\n\nTo preview the production build locally:\n\n```bash\nnpm run preview\n```\n\n## Docker Support\n\nThis project includes Docker and Docker Compose configurations for both development and production environments.\n\n### Using Docker for Development\n\nTo start the development environment with host network mode:\n\n```bash\ndocker-compose up app-dev\n```\n\nThis will start the Vite development server using the host's network, making it available on port 5173 with hot module replacement enabled. The server is configured to accept connections from any hostname (allowedHosts is set to 'all').\n\nIf you prefer using port mapping instead of host network:\n\n```bash\ndocker-compose --profile ports up app-dev-ports\n```\n\n### Using Docker for Production\n\nTo build and run the production version with host network mode:\n\n```bash\ndocker-compose up app-prod\n```\n\nThis will build the application and serve it using Nginx, making it available directly on the host's port 80.\n\nIf you prefer using port mapping instead of host network:\n\n```bash\ndocker-compose --profile ports up app-prod-ports\n```\n\n### Building Docker Images Manually\n\nTo build the Docker image manually:\n\n```bash\n# For production\ndocker build -t llm-chatui:latest .\n\n# For development\ndocker build -t llm-chatui:dev -f Dockerfile.dev .\n```\n\n### Running Docker Containers Manually\n\n```bash\n# Run production container\ndocker run -p 80:80 llm-chatui:latest\n\n# Run development container\ndocker run -p 5173:5173 -v $(pwd):/app -v /app/node_modules llm-chatui:dev\n```\n\n## Project Structure\n\nThe project is organized into several key directories:\n\n- **src/**: Contains the main application code, including components, hooks, and utilities.\n- **public/**: Holds static assets such as images and the main HTML file.\n- **tests/**: Includes unit and integration tests for the application.\n- **dist/**: The output directory for production builds.\n- **.github/**: Contains GitHub-specific files, including workflows for CI/CD.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvalaises%2Fllm-chat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvalaises%2Fllm-chat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvalaises%2Fllm-chat/lists"}