- **Custom Prompt Templates**: Introduced support for user-modifiable prompt templates using Go's `text/template`.
- Added default prompt templates for title and tag generation.
- Templates are stored in the `prompts` directory and are loaded at startup.
- If the template files do not exist, they are created with default content.
- Users can modify the templates by editing the files in the `prompts` directory.
- **API Endpoints for Prompts**:
- Added `GET /api/prompts` endpoint to retrieve the current prompt templates.
- Added `POST /api/prompts` endpoint to update the prompt templates.
- These endpoints prepare for future UI support for modifying prompts.
- **Thread Safety**:
- Implemented a `sync.RWMutex` to ensure thread-safe access to the templates.
- **Updated Backend Logic**:
- Modified `getSuggestedTitle` and `getSuggestedTags` functions to use the loaded templates.
- Templates utilize variables like `{{.Language}}`, `{{.Content}}`, `{{.AvailableTags}}`, and `{{.Title}}`.
- **Docker and Documentation**:
- Updated the `loadTemplates` function to ensure the `prompts` directory exists and to save default templates if missing.
- Updated the README with instructions on how to mount the `prompts` directory in Docker and Docker Compose.
- Provided guidance on modifying the prompt templates via file edits.