Santhosh Janardhanan ca583ea6c9 fix: Dockerfile uses npm prune instead of npm ci for production deps
The run stage no longer runs npm ci --omit=dev (which fails when
package-lock.json and the Docker environment's resolved deps are
out of sync, e.g. @emnapi/* transitive deps from adapter-node).

Instead, the build stage runs npm prune --omit=dev after building,
and the run stage copies the already-pruned node_modules. This
avoids any lock file sync issues across different environments.
2026-04-13 00:36:12 -04:00
2026-04-12 21:22:34 -04:00
2026-04-12 21:22:34 -04:00
2026-04-12 21:22:34 -04:00

English Style Converter

A SvelteKit web app that converts English text into various styles and tones using an LLM.

Quick Start (Docker)

# Option 1: Use default model (llama3)
docker compose up

# Option 2: Choose a different model
OLLAMA_MODEL=gemma2 docker compose up

First startup pulls the model from Ollama, which may take a few minutes depending on model size and your connection. Subsequent starts are instant (model is cached in a Docker volume).

To change the model later, edit .env.docker and run:

docker compose down
docker compose up --build

Local Development (without Docker)

Prerequisites: Ollama running locally with a model pulled.

# Install dependencies
npm install

# Copy env config (defaults to Ollama at localhost:11434)
cp .env.example .env

# Start dev server
npm run dev

Configuration

Variable Default Description
OPENAI_BASE_URL http://localhost:11434/v1 OpenAI-compatible API endpoint
OPENAI_API_KEY ollama API key (use ollama for local Ollama)
OPENAI_MODEL llama3 Model to use
PORT 3000 App port (Docker/adapter-node only)

For Docker, set OLLAMA_MODEL in .env.docker — it controls both the model Ollama pulls and the model the app requests.

Styles

6 categories, 25 styles: Sarcastic, Formal, British (Polite, Formal, Witty, Gentlemanly, Upper Class, Royal, Victorian, Downton Abbey), American (New Yorker, AAVE, Southern, Redneck), Pirate, Shakespearean, Gen Z, Game of Thrones (King's Landing, Wildlings, Winterfell), and Newspeak (Orwellian).

Testing

npm test
Description
No description provided
Readme 152 KiB
Languages
TypeScript 50.3%
Svelte 43%
CSS 3.6%
HTML 1.5%
Dockerfile 1%
Other 0.6%