From 8a36b41d66892f1dc93c11b18ea130792eb099b3 Mon Sep 17 00:00:00 2001 From: m1ngsama Date: Sat, 16 May 2026 22:59:40 +0800 Subject: [PATCH] Clarify the "no Node.js dependencies" rule (#71) The original rule was easy to misread as "no npm tools anywhere", which conflicts with install.sh installing prettier/eslint/etc. The real boundary is the Vim runtime: no coc.nvim or Node-backed completion engines. External CLIs that ALE shells out to are fine. Update the README pointer line to match. Closes #70 --- CONTRIBUTING.md | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8d3de65..b104bcc 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,7 +2,7 @@ ## Rules -1. **No Node.js dependencies.** The LSP engine is pure VimScript. Some language servers need Node — that's fine. The config itself must not. +1. **No Node.js in the Vim runtime.** Plugins must work with pure VimScript — no coc.nvim or other Node-backed completion engines. External CLIs (prettier, eslint, markdownlint, stylelint, tsc) installed via npm are fine; ALE shells out to them as optional system tools, not as part of the Vim runtime. 2. **Startup matters.** Run `vim -u .vimrc -i NONE --startuptime /tmp/s.log -es -N -c qa!` before and after. If your change adds >1ms, it needs a good reason. 3. **Works on TTY.** Test over SSH. If it breaks in a terminal without true color, fix it or gate it behind `g:is_tty`. 4. **Native-first keymaps.** Enhance Vim's native behavior instead of replacing it. Do not override built-in motions, operators, text objects, or help-oriented keys for discoverability alone; prefer leader-prefixed or otherwise non-conflicting ergonomic mappings. diff --git a/README.md b/README.md index 25cf24d..b30b6c9 100644 --- a/README.md +++ b/README.md @@ -230,7 +230,7 @@ More in the [wiki](https://github.com/m1ngsama/chopsticks/wiki). ## Contributing -See [CONTRIBUTING.md](CONTRIBUTING.md). The two rules that matter: no Node.js dependencies, and don't regress startup time. +See [CONTRIBUTING.md](CONTRIBUTING.md). The two rules that matter: no Node.js in the Vim runtime, and don't regress startup time. ## License