diff --git a/.gitignore b/.gitignore index fb99d4a..a170f97 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,53 @@ -*.env -*.wav +# =================================================================== +# VDM - Git Ignore File +# =================================================================== + +# --- Python Virtual Environments --- +# Ignore the entire virtual environment folder. +.venv/ +venv/ +ENV/ + +# --- Python Cache & Artifacts --- +# Ignore Python's bytecode cache folders and files. +__pycache__/ *.pyc -memory/chroma_db/85bfab4b-517c-4773-b8a8-e8358c4e4337/data_level0.bin -memory/chroma_db/85bfab4b-517c-4773-b8a8-e8358c4e4337/header.bin -memory/chroma_db/85bfab4b-517c-4773-b8a8-e8358c4e4337/length.bin -memory/chroma_db/85bfab4b-517c-4773-b8a8-e8358c4e4337/link_lists.bin -memory/chroma_db/chroma.sqlite3 -memory/users.json -memory/vdm_sessions.db +*.pyo +*.pyd + +# --- Project-Specific Generated Files & Secrets --- +# Ignore environment files containing secrets. +*.env + +# Ignore the entire directory for SQLite databases. +/database/ + +# Ignore the ChromaDB vector store directory. +/memory/chroma_db/ + +# Ignore the directory for generated audio files. +/audio_out/ + +# Ignore locally generated SSL certificates. +/ssl/ + +# Ignore local diagnostic files. +local_digest.txt + +# --- Common OS & Editor Files --- +# Ignore common user-specific files from editors and operating systems. +.vscode/ +.idea/ +.project +.settings +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + +# macOS +.DS_Store + +# Windows +Thumbs.db \ No newline at end of file diff --git a/logo.png b/logo.png new file mode 100644 index 0000000..8750b63 Binary files /dev/null and b/logo.png differ diff --git a/todo.md b/todo.md new file mode 100644 index 0000000..c6fb30b --- /dev/null +++ b/todo.md @@ -0,0 +1,20 @@ +# VDM Project To-Do List + +This document tracks major functional, operational, and architectural improvements for the VDM server. Unlike `roadmap.md`, this list is focused on engineering and deployment tasks rather than user-facing gameplay features. + +--- +## 1. Production-Ready Web Server & SSL + +**Goal:** Move beyond the development server and `mkcert` to a proper, secure production setup. + +- **[ ] Reverse Proxy:** Deploy the application behind a production-grade reverse proxy like **Nginx** or **Caddy**. This is the standard for web applications, providing better performance, security, and stability than running Uvicorn directly exposed to the internet. +- **[ ] Proper SSL:** Use the reverse proxy to manage SSL certificates automatically with **Let's Encrypt**. This will provide a real, trusted certificate for any domain the application is hosted on, removing the need for `mkcert`. +- **[ ] Process Management:** Use a process manager like **Gunicorn** to run the FastAPI application, allowing for multiple worker processes and better resource management. + +--- +## 2. Docker Support + +**Goal:** Containerize the entire application for easy, reproducible, and isolated deployments. + +- **[ ] Create a `Dockerfile`:** Define the environment for the VDM server, including the Python version, dependency installation from `requirements.txt`, and the command to run the server. +- **[ ] Create a `docker-compose.yml`:** Write a Compose file to make it trivial to start the entire application stack (the VDM server and potentially its databases) with a single `docker-compose up` command. This dramatically simplifies setup for new developers and production environments.