| .github/workflows | ||
| backups | ||
| node_modules | ||
| src | ||
| tests | ||
| .eslintrc.json | ||
| .gitattributes | ||
| .gitignore | ||
| favicon.ico | ||
| ggml-base.dll | ||
| ggml-cpu-alderlake.dll | ||
| ggml-cpu-haswell.dll | ||
| ggml-cpu-icelake.dll | ||
| ggml-cpu-sandybridge.dll | ||
| ggml-cpu-sapphirerapids.dll | ||
| ggml-cpu-skylakex.dll | ||
| ggml-cpu-sse42.dll | ||
| ggml-cpu-x64.dll | ||
| ggml-rpc.dll | ||
| ggml.dll | ||
| libcurl-x64.dll | ||
| libomp140.x86_64.dll | ||
| llama-server.exe | ||
| llama.dll | ||
| main.html | ||
| mtmd.dll | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| restore.html | ||
| start.bat | ||
Click https://huggingface.co/unsloth/Qwen3-4B-Instruct-2507-GGUF/resolve/main/Qwen3-4B-Instruct-2507-IQ4_XS.gguf?download=true Download the model Drop it in your Writingway/models folder
Running tests
This project includes a small test harness (smoke, unit, and UI tests) to help keep refactors safe.
Prerequisites
- Node.js (recommended >= 16)
- The UI tests use Playwright (included as a devDependency). If you run into missing browsers, run
npx playwright install. - If you want generation tests to exercise the real model, start the local AI server (the project expects it at
http://localhost:8080). You can start the provided server withstart.baton Windows.
Available test scripts (run from the project root):
npm run smoke # quick smoke: loads the page and checks key selectors
npm run unit # unit tests (e.g., Generation.buildPrompt)
npm run ui # runs the UI tests (headless)
npm test # runs smoke, unit, then ui in sequence
Notes
- The repository vendors Alpine locally at
src/vendor/alpine.min.jsso tests can run offline. - UI tests run headless and are written to prefer calling the app's handlers and to fall back to Dexie DB operations and stubbed generation when the AI server is not available.
- Do not remove the model download instructions above — the model binary is large and must be downloaded separately.
If you want me to wire up a small test-only API on the app (window.__test) to make tests even more deterministic, tell me and I will add it and update tests to use it.