Aventuras
Interactive fiction with an AI that remembers. Play a text adventure or write collaboratively, on desktop and Android, with any LLM provider you like — cloud or running on your own machine.
Aventuras keeps the story straight: chapters are summarized as you play, a lorebook feeds the right entries into the right scene, an agent tidies that lorebook behind you, and the world state — who is present, where you are, what you carry — is tracked turn by turn.
Highlights
- Two modes — Adventure, with multiple-choice actions and world tracking; Creative Writing,
- Any provider — OpenRouter, OpenAI, Anthropic, Google, xAI, Groq, DeepSeek, Mistral, Z.AI,
- Memory that scales — automatic chapter summarization, and a retrieval step that goes and
- Lorebook — characters, locations, items, factions, concepts and events, with aliases,
- The Vault — a cross-story library of reusable characters, lorebooks and scenarios, with a
- Every prompt is editable — they are Liquid templates, all of them, in an in-app editor.
- Images — inline
illustrations, scene backgrounds and character portraits, across
- Writing tools — local grammar checking (Harper/WASM), style analysis for repetition,
- Yours to keep — SQLite on your machine, full backup/restore,
.avtstory export, LAN sync
- 26 themes, adjustable text size, dialogue highlighting.
Install
Pre-built binaries are on the Releases page:
| Platform | Download | Minimum |
| -------- | -------------------------------------------------------------- | ------------------------------------------------------------------------ |
| Windows | Aventuras_vX.Y.Z_x64-setup.exe | Windows 10 |
| macOS | Aventuras_vX.Y.Z_x64.dmg / _aarch64.dmg | macOS 13.3 |
| Linux | Aventuras_vX.Y.Z_amd64.deb / .AppImage, or _x86_64.rpm | WebKitGTK 2.40 for the .deb / .rpm; the AppImage carries its own, needs glibc 2.35 |
| Android | Aventuras_vX.Y.Z.apk | Android 8, with System WebView 111 or later |
| iOS | Aventuras_vX.Y.Z_ios-arm64-unsigned.ipa (sideload; unsigned) | iOS 26 |
The minimums come from each platform's web engine, OS and runtime requirements. They are derived from documentation and have not been tested on devices at those versions; see docs/development/platform-support.md.
No API keys in config files — providers are set up in the app, under Settings → API Settings.
Build from source
Requires the Node.js version in .nvmrc, the latest stable Rust, (for Android) the
Android SDK, NDK r27d and JDK 21–24, and (for iOS) a Mac with Xcode.
git clone https://github.com/AventurasTeam/Aventuras.git
cd Aventuras
npm install
npx tauri dev
| Script | Does |
| ----------------- | ------------------------------------------------------------------ |
| npm run dev | Vite dev server (frontend only) |
| npx tauri dev | full app, with hot reload |
| npm run build | production build |
| npm run check | type checking (svelte-check) |
| npm test | test suite (Vitest) |
| npm run lint | lint:ts (ESLint) and lint:rust (rustfmt, Clippy); :fix fixes |
| npm run format | Prettier |
| npm run release | version bump, tag and push |
Desktop builds are npx tauri build; Android and iOS are documented in
docs/development/release.md. iOS produces an unsigned
device .ipa (no Apple certificates or signing secrets — see
docs/development/ios-build-target.md for the full
account of how the target was added and how the unsigned CI pipeline works).
Tech stack
TypeScript (strict) · SvelteKit 3 · Svelte 5 runes · Tauri 2 (Rust) · Tailwind + bits-ui ·
SQLite (tauri-plugin-sql / sqlx) · Vercel AI SDK · LiquidJS · CodeMirror 6 · Zod ·
Harper.js (WASM) · Vitest
Contributing
Start with docs/ — the architecture is documented per area, and
CLAUDE.md has the conventions. CI runs lint, type-check, tests and a build on every
PR against master, develop or dev.
Acknowledgments
Tauri · SvelteKit · OpenRouter · Harper · Lucide
License
AGPL-3.0