https://github.com/johannes-kaindl/neurovim
Learn Vim disguised as a cyberpunk spy thriller — an AI handler hands you missions that are really Vim exercises. One core, three targets: Obsidian plugin, web app, and Tauri desktop.
https://github.com/johannes-kaindl/neurovim
cyberpunk learning-game obsidian-plugin tauri typescript vim
Last synced: 9 days ago
JSON representation
Learn Vim disguised as a cyberpunk spy thriller — an AI handler hands you missions that are really Vim exercises. One core, three targets: Obsidian plugin, web app, and Tauri desktop.
- Host: GitHub
- URL: https://github.com/johannes-kaindl/neurovim
- Owner: johannes-kaindl
- License: agpl-3.0
- Created: 2026-05-29T14:56:54.000Z (27 days ago)
- Default Branch: main
- Last Pushed: 2026-06-15T13:59:17.000Z (10 days ago)
- Last Synced: 2026-06-15T14:08:27.994Z (10 days ago)
- Topics: cyberpunk, learning-game, obsidian-plugin, tauri, typescript, vim
- Language: TypeScript
- Homepage: https://johannes-kaindl.github.io/NeuroVIM/
- Size: 22 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Security: SECURITY.md
- Agents: AGENTS.md
- Cla: CLA.md
Awesome Lists containing this project
README
NeuroVim
Learn Vim by playing a cyberpunk spy-thriller.
▶ Play in the browser
(GitHub Pages mirror)
·
Desktop downloads
An AI handler named **CIPHER** assigns you "missions" that are really Vim
exercises — restore CORP-corrupted documents, fix glitched transmissions, beat
the clock. You end up learning Vim almost by accident; the spy-thriller is the
hook. Same game ships three ways from one codebase: a **web app**, an **Obsidian
plugin**, and a **native desktop app**.
## Screenshots

Welcome — CIPHER intro

NEXUS — mission picker + status

Briefing — story before each mission

Editor — CodeMirror 6 + Vim

Result — mission complete

THE RAVEN — free-play sandbox

Archive — unlockable lore & loot

Cheatsheet — Vim keymap overlay
## Features
- **Story-driven campaign** — a curriculum of Vim missions (motions, find-char, the dot
command, operators, text objects, search & replace, macros, registers, visual-block,
global commands, regex) wrapped in a narrative that **unlocks progressively** as you level up.
- **Real editor** — CodeMirror 6 with actual Vim keybindings, not a fake terminal.
- **THE RAVEN sandbox** — free-play: fix N injected glitches against the clock,
beat your best (EASY / NORMAL / HARD).
- **Progression & mastery** — XP, levels, progressive mission unlock, streaks, and
**gold/silver/bronze par-tiers** that score each run by keystrokes; progress saved
locally in your browser.
- **Terminal / CRT aesthetic** — restrained phosphor-green "Kuro" theme, monospace,
optional scanline.
- **Plays anywhere** — in the browser with no install, or as a ~3 MB native desktop
app (macOS / Windows / Linux).
## Play
- **Browser:** **https://jkaindl.codeberg.page/neurovim/** — nothing to install.
- **Desktop:** download an installer from the [latest release](https://github.com/johannes-kaindl/NeuroVIM/releases)
(macOS `.dmg`, Windows `.exe`/`.msi`, Linux `.AppImage`/`.deb`/`.rpm`). The macOS
`.dmg` is Developer ID-signed + notarized (opens without a Gatekeeper warning); the
Windows installer is currently unsigned — see [`docs/DESKTOP.md`](docs/DESKTOP.md).
## Run from source
```bash
npm install
npm run dev # web app → http://localhost:5173/
```
```bash
npm run build # full build (content → Obsidian plugin → web)
npm test # test suite
npm run build:dmg # native desktop app + macOS DMG (needs Rust + Xcode CLT)
```
Contributor guide: [`CONTRIBUTING.md`](CONTRIBUTING.md) · architecture & internals
for agents/maintainers: [`AGENTS.md`](AGENTS.md).
## Manual
New players start with the **[Player Manual](docs/manual/README.md)** — a
[Diátaxis](https://diataxis.fr/)-structured guide:
- **[Tutorial](docs/manual/tutorial.md)** — play through your first mission, no Vim
knowledge needed.
- **[How-to guides](docs/manual/how-to/index.md)** — the sandbox, scoring, unlocks,
desktop install, resetting progress.
- **[Reference](docs/manual/reference/index.md)** — the [Vim keymap](docs/manual/reference/vim-keymap.md)
and [ranks & unlocks](docs/manual/reference/progression.md) (generated from the game
data via `npm run build:manual`).
- **[Explanation](docs/manual/explanation/index.md)** — why NeuroVim is shaped the way
it is.
## Built with
TypeScript · [Preact](https://preactjs.com/) · [CodeMirror 6](https://codemirror.net/)
+ [@replit/codemirror-vim](https://github.com/replit/codemirror-vim) · Vite ·
[Tauri v2](https://tauri.app) · self-hosted [JetBrains Mono](https://www.jetbrains.com/lp/mono/) (OFL).
A small monorepo (npm workspaces): a platform-neutral **core** (game logic, Web
Audio, Preact UI) with thin **adapters** for the web, Obsidian, and desktop. No
UI kit, no CSS framework. See [`AGENTS.md`](AGENTS.md) for the architecture.
## Contributing
Issues and PRs welcome on [Codeberg](https://codeberg.org/jkaindl/NeuroVIM)
(primary) or the [GitHub mirror](https://github.com/johannes-kaindl/NeuroVIM).
Please read [`CONTRIBUTING.md`](CONTRIBUTING.md) first.
## License
NeuroVim is **dual-licensed** — see [`LICENSING.md`](LICENSING.md).
- **Open source:** [GNU AGPL-3.0](LICENSE) — copyleft with the network-use clause:
if you host a modified version so others can use it over the network, the source
of your variant must also be made available under the AGPL.
- **Commercial license:** for uses that the AGPL does not fit — e.g. a proprietary
or closed-source product, or an Apple App Store build (App Store terms are
incompatible with the AGPL) — a separate commercial license is available. See
[`LICENSING.md`](LICENSING.md); contributions are covered by the [CLA](CLA.md).
Documentation and narrative text (docs, missions, lore) are licensed under
[CC BY-SA 4.0](LICENSE-DOCS). The bundled JetBrains Mono font is under the
[SIL Open Font License](packages/adapter-web/src/fonts/OFL.txt).