# Web Vim With Node Template

## What This Template Does

This template combines `vim-wasm` with BrowserPod so developers can edit files in Vim, run Node commands in a controlled terminal, browse a BrowserPod-backed filesystem, work through lessons, and customize themes and key mappings.

## Structure

- `index.html`: launch screen and main editor shell
- `docs.html`: usage guide for the template
- `keyboard.html`: key mapping editor
- `theme-editor.html`: theme profile editor
- `src/main.js`: application bootstrap and service wiring
- `src/controllers/`: editor, layout, menu, and runtime controllers
- `src/services/`: BrowserPod, filesystem, shell, lesson, and cheat sheet services
- `public/vim-wasm/`: bundled `vim-wasm` runtime assets

## Setup

```bash
npm install
cp .env.example .env
```

Set `VITE_BP_APIKEY` in `.env`, then run:

```bash
npm run dev
```

Build with:

```bash
npm run build
```

## Customize

- Change the editor workflow in `src/main.js` and `src/controllers/`
- Update BrowserPod filesystem and shell behavior in `src/services/`
- Edit lessons in `src/vim-lessons.js`
- Adjust appearance defaults in `src/theme-config.js` and `src/styles.css`

## Runtime Notes

- BrowserPod requires cross-origin isolation, so keep the provided headers/config in place
- The default project root is `/vimamp`
- The in-app cheat sheet panel is generated from the bundled cheat sheet source and does not ship as a standalone build page
