An open API service indexing awesome lists of open source software.

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.

Awesome Lists containing this project

README

          


NeuroVim — a Vim-learning game wrapped in a cyberpunk spy-thriller

NeuroVim


License: AGPL-3.0
Play in browser

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
Welcome — CIPHER intro
NEXUS
NEXUS — mission picker + status


Briefing
Briefing — story before each mission
Editor
Editor — CodeMirror 6 + Vim


Result
Result — mission complete
Sandbox
THE RAVEN — free-play sandbox


Lore Archive
Archive — unlockable lore & loot
Cheatsheet
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).