@neocode-ai/web 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/README.md +54 -0
  2. package/astro.config.mjs +145 -0
  3. package/config.mjs +14 -0
  4. package/package.json +41 -0
  5. package/public/robots.txt +6 -0
  6. package/public/theme.json +183 -0
  7. package/src/assets/lander/check.svg +2 -0
  8. package/src/assets/lander/copy.svg +2 -0
  9. package/src/assets/lander/screenshot-github.png +0 -0
  10. package/src/assets/lander/screenshot-splash.png +0 -0
  11. package/src/assets/lander/screenshot-vscode.png +0 -0
  12. package/src/assets/lander/screenshot.png +0 -0
  13. package/src/assets/logo-dark.svg +20 -0
  14. package/src/assets/logo-light.svg +20 -0
  15. package/src/assets/logo-ornate-dark.svg +18 -0
  16. package/src/assets/logo-ornate-light.svg +18 -0
  17. package/src/assets/web/web-homepage-active-session.png +0 -0
  18. package/src/assets/web/web-homepage-new-session.png +0 -0
  19. package/src/assets/web/web-homepage-see-servers.png +0 -0
  20. package/src/components/Head.astro +50 -0
  21. package/src/components/Header.astro +128 -0
  22. package/src/components/Hero.astro +11 -0
  23. package/src/components/Lander.astro +713 -0
  24. package/src/components/Share.tsx +634 -0
  25. package/src/components/SiteTitle.astro +59 -0
  26. package/src/components/icons/custom.tsx +87 -0
  27. package/src/components/icons/index.tsx +4454 -0
  28. package/src/components/share/common.tsx +77 -0
  29. package/src/components/share/content-bash.module.css +85 -0
  30. package/src/components/share/content-bash.tsx +67 -0
  31. package/src/components/share/content-code.module.css +26 -0
  32. package/src/components/share/content-code.tsx +32 -0
  33. package/src/components/share/content-diff.module.css +153 -0
  34. package/src/components/share/content-diff.tsx +231 -0
  35. package/src/components/share/content-error.module.css +64 -0
  36. package/src/components/share/content-error.tsx +24 -0
  37. package/src/components/share/content-markdown.module.css +154 -0
  38. package/src/components/share/content-markdown.tsx +75 -0
  39. package/src/components/share/content-text.module.css +63 -0
  40. package/src/components/share/content-text.tsx +37 -0
  41. package/src/components/share/copy-button.module.css +30 -0
  42. package/src/components/share/copy-button.tsx +28 -0
  43. package/src/components/share/part.module.css +428 -0
  44. package/src/components/share/part.tsx +780 -0
  45. package/src/components/share.module.css +832 -0
  46. package/src/content/docs/1-0.mdx +67 -0
  47. package/src/content/docs/acp.mdx +156 -0
  48. package/src/content/docs/agents.mdx +720 -0
  49. package/src/content/docs/cli.mdx +597 -0
  50. package/src/content/docs/commands.mdx +323 -0
  51. package/src/content/docs/config.mdx +683 -0
  52. package/src/content/docs/custom-tools.mdx +170 -0
  53. package/src/content/docs/ecosystem.mdx +76 -0
  54. package/src/content/docs/enterprise.mdx +170 -0
  55. package/src/content/docs/formatters.mdx +130 -0
  56. package/src/content/docs/github.mdx +321 -0
  57. package/src/content/docs/gitlab.mdx +195 -0
  58. package/src/content/docs/ide.mdx +48 -0
  59. package/src/content/docs/index.mdx +359 -0
  60. package/src/content/docs/keybinds.mdx +191 -0
  61. package/src/content/docs/lsp.mdx +188 -0
  62. package/src/content/docs/mcp-servers.mdx +511 -0
  63. package/src/content/docs/models.mdx +223 -0
  64. package/src/content/docs/modes.mdx +331 -0
  65. package/src/content/docs/network.mdx +57 -0
  66. package/src/content/docs/permissions.mdx +237 -0
  67. package/src/content/docs/plugins.mdx +362 -0
  68. package/src/content/docs/providers.mdx +1889 -0
  69. package/src/content/docs/rules.mdx +180 -0
  70. package/src/content/docs/sdk.mdx +391 -0
  71. package/src/content/docs/server.mdx +286 -0
  72. package/src/content/docs/share.mdx +128 -0
  73. package/src/content/docs/skills.mdx +220 -0
  74. package/src/content/docs/themes.mdx +369 -0
  75. package/src/content/docs/tools.mdx +345 -0
  76. package/src/content/docs/troubleshooting.mdx +300 -0
  77. package/src/content/docs/tui.mdx +390 -0
  78. package/src/content/docs/web.mdx +136 -0
  79. package/src/content/docs/windows-wsl.mdx +113 -0
  80. package/src/content/docs/zen.mdx +251 -0
  81. package/src/content.config.ts +7 -0
  82. package/src/pages/[...slug].md.ts +18 -0
  83. package/src/pages/s/[id].astro +113 -0
  84. package/src/styles/custom.css +405 -0
  85. package/src/types/lang-map.d.ts +27 -0
  86. package/tsconfig.json +9 -0
@@ -0,0 +1,300 @@
1
+ ---
2
+ title: Troubleshooting
3
+ description: Common issues and how to resolve them.
4
+ ---
5
+
6
+ To debug issues with NeoCode, start by checking the logs and local data it stores on disk.
7
+
8
+ ---
9
+
10
+ ## Logs
11
+
12
+ Log files are written to:
13
+
14
+ - **macOS/Linux**: `~/.local/share/neocode/log/`
15
+ - **Windows**: Press `WIN+R` and paste `%USERPROFILE%\.local\share\neocode\log`
16
+
17
+ Log files are named with timestamps (e.g., `2025-01-09T123456.log`) and the most recent 10 log files are kept.
18
+
19
+ You can set the log level with the `--log-level` command-line option to get more detailed debug information. For example, `neocode --log-level DEBUG`.
20
+
21
+ ---
22
+
23
+ ## Storage
24
+
25
+ neocode stores session data and other application data on disk at:
26
+
27
+ - **macOS/Linux**: `~/.local/share/neocode/`
28
+ - **Windows**: Press `WIN+R` and paste `%USERPROFILE%\.local\share\neocode`
29
+
30
+ This directory contains:
31
+
32
+ - `auth.json` - Authentication data like API keys, OAuth tokens
33
+ - `log/` - Application logs
34
+ - `project/` - Project-specific data like session and message data
35
+ - If the project is within a Git repo, it is stored in `./<project-slug>/storage/`
36
+ - If it is not a Git repo, it is stored in `./global/storage/`
37
+
38
+ ---
39
+
40
+ ## Desktop app
41
+
42
+ NeoCode Desktop runs a local NeoCode server (the `neocode-cli` sidecar) in the background. Most issues are caused by a misbehaving plugin, a corrupted cache, or a bad server setting.
43
+
44
+ ### Quick checks
45
+
46
+ - Fully quit and relaunch the app.
47
+ - If the app shows an error screen, click **Restart** and copy the error details.
48
+ - macOS only: `NeoCode` menu -> **Reload Webview** (helps if the UI is blank/frozen).
49
+
50
+ ---
51
+
52
+ ### Disable plugins
53
+
54
+ If the desktop app is crashing on launch, hanging, or behaving strangely, start by disabling plugins.
55
+
56
+ #### Check the global config
57
+
58
+ Open your global config file and look for a `plugin` key.
59
+
60
+ - **macOS/Linux**: `~/.config/neocode/neocode.jsonc` (or `~/.config/neocode/neocode.json`)
61
+ - **macOS/Linux** (older installs): `~/.local/share/neocode/neocode.jsonc`
62
+ - **Windows**: Press `WIN+R` and paste `%USERPROFILE%\.config\neocode\neocode.jsonc`
63
+
64
+ If you have plugins configured, temporarily disable them by removing the key or setting it to an empty array:
65
+
66
+ ```jsonc
67
+ {
68
+ "$schema": "https://neo.khulnasoft.com/config.json",
69
+ "plugin": [],
70
+ }
71
+ ```
72
+
73
+ #### Check plugin directories
74
+
75
+ NeoCode can also load local plugins from disk. Temporarily move these out of the way (or rename the folder) and restart the desktop app:
76
+
77
+ - **Global plugins**
78
+ - **macOS/Linux**: `~/.config/neocode/plugins/`
79
+ - **Windows**: Press `WIN+R` and paste `%USERPROFILE%\.config\neocode\plugins`
80
+ - **Project plugins** (only if you use per-project config)
81
+ - `<your-project>/.neocode/plugins/`
82
+
83
+ If the app starts working again, re-enable plugins one at a time to find which one is causing the issue.
84
+
85
+ ---
86
+
87
+ ### Clear the cache
88
+
89
+ If disabling plugins doesn't help (or a plugin install is stuck), clear the cache so NeoCode can rebuild it.
90
+
91
+ 1. Quit NeoCode Desktop completely.
92
+ 2. Delete the cache directory:
93
+
94
+ - **macOS**: Finder -> `Cmd+Shift+G` -> paste `~/.cache/neocode`
95
+ - **Linux**: delete `~/.cache/neocode` (or run `rm -rf ~/.cache/neocode`)
96
+ - **Windows**: Press `WIN+R` and paste `%USERPROFILE%\.cache\neocode`
97
+
98
+ 3. Restart NeoCode Desktop.
99
+
100
+ ---
101
+
102
+ ### Fix server connection issues
103
+
104
+ NeoCode Desktop can either start its own local server (default) or connect to a server URL you configured.
105
+
106
+ If you see a **"Connection Failed"** dialog (or the app never gets past the splash screen), check for a custom server URL.
107
+
108
+ #### Clear the desktop default server URL
109
+
110
+ From the Home screen, click the server name (with the status dot) to open the Server picker. In the **Default server** section, click **Clear**.
111
+
112
+ #### Remove `server.port` / `server.hostname` from your config
113
+
114
+ If your `neocode.json(c)` contains a `server` section, temporarily remove it and restart the desktop app.
115
+
116
+ #### Check environment variables
117
+
118
+ If you have `NEOCODE_PORT` set in your environment, the desktop app will try to use that port for the local server.
119
+
120
+ - Unset `NEOCODE_PORT` (or pick a free port) and restart.
121
+
122
+ ---
123
+
124
+ ### Linux: Wayland / X11 issues
125
+
126
+ On Linux, some Wayland setups can cause blank windows or compositor errors.
127
+
128
+ - If you're on Wayland and the app is blank/crashing, try launching with `OC_ALLOW_WAYLAND=1`.
129
+ - If that makes things worse, remove it and try launching under an X11 session instead.
130
+
131
+ ---
132
+
133
+ ### Windows: WebView2 runtime
134
+
135
+ On Windows, NeoCode Desktop requires the Microsoft Edge **WebView2 Runtime**. If the app opens to a blank window or won't start, install/update WebView2 and try again.
136
+
137
+ ---
138
+
139
+ ### Windows: General performance issues
140
+
141
+ If you're experiencing slow performance, file access issues, or terminal problems on Windows, try using [WSL (Windows Subsystem for Linux)](/docs/windows-wsl). WSL provides a Linux environment that works more seamlessly with NeoCode's features.
142
+
143
+ ---
144
+
145
+ ### Notifications not showing
146
+
147
+ NeoCode Desktop only shows system notifications when:
148
+
149
+ - notifications are enabled for NeoCode in your OS settings, and
150
+ - the app window is not focused.
151
+
152
+ ---
153
+
154
+ ### Reset desktop app storage (last resort)
155
+
156
+ If the app won't start and you can't clear settings from inside the UI, reset the desktop app's saved state.
157
+
158
+ 1. Quit NeoCode Desktop.
159
+ 2. Find and delete these files (they live in the NeoCode Desktop app data directory):
160
+
161
+ - `neocode.settings.dat` (desktop default server URL)
162
+ - `neocode.global.dat` and `neocode.workspace.*.dat` (UI state like recent servers/projects)
163
+
164
+ To find the directory quickly:
165
+
166
+ - **macOS**: Finder -> `Cmd+Shift+G` -> `~/Library/Application Support` (then search for the filenames above)
167
+ - **Linux**: search under `~/.local/share` for the filenames above
168
+ - **Windows**: Press `WIN+R` -> `%APPDATA%` (then search for the filenames above)
169
+
170
+ ---
171
+
172
+ ## Getting help
173
+
174
+ If you're experiencing issues with NeoCode:
175
+
176
+ 1. **Report issues on GitHub**
177
+
178
+ The best way to report bugs or request features is through our GitHub repository:
179
+
180
+ [**github.com/neopilot-ai/neocode/issues**](https://github.com/neopilot-ai/neocode/issues)
181
+
182
+ Before creating a new issue, search existing issues to see if your problem has already been reported.
183
+
184
+ 2. **Join our Discord**
185
+
186
+ For real-time help and community discussion, join our Discord server:
187
+
188
+ [**neo.khulnasoft.com/discord**](https://neo.khulnasoft.com/discord)
189
+
190
+ ---
191
+
192
+ ## Common issues
193
+
194
+ Here are some common issues and how to resolve them.
195
+
196
+ ---
197
+
198
+ ### NeoCode won't start
199
+
200
+ 1. Check the logs for error messages
201
+ 2. Try running with `--print-logs` to see output in the terminal
202
+ 3. Ensure you have the latest version with `neocode upgrade`
203
+
204
+ ---
205
+
206
+ ### Authentication issues
207
+
208
+ 1. Try re-authenticating with the `/connect` command in the TUI
209
+ 2. Check that your API keys are valid
210
+ 3. Ensure your network allows connections to the provider's API
211
+
212
+ ---
213
+
214
+ ### Model not available
215
+
216
+ 1. Check that you've authenticated with the provider
217
+ 2. Verify the model name in your config is correct
218
+ 3. Some models may require specific access or subscriptions
219
+
220
+ If you encounter `ProviderModelNotFoundError` you are most likely incorrectly
221
+ referencing a model somewhere.
222
+ Models should be referenced like so: `<providerId>/<modelId>`
223
+
224
+ Examples:
225
+
226
+ - `openai/gpt-4.1`
227
+ - `openrouter/google/gemini-2.5-flash`
228
+ - `neocode/kimi-k2`
229
+
230
+ To figure out what models you have access to, run `neocode models`
231
+
232
+ ---
233
+
234
+ ### ProviderInitError
235
+
236
+ If you encounter a ProviderInitError, you likely have an invalid or corrupted configuration.
237
+
238
+ To resolve this:
239
+
240
+ 1. First, verify your provider is set up correctly by following the [providers guide](/docs/providers)
241
+ 2. If the issue persists, try clearing your stored configuration:
242
+
243
+ ```bash
244
+ rm -rf ~/.local/share/neocode
245
+ ```
246
+
247
+ On Windows, press `WIN+R` and delete: `%USERPROFILE%\.local\share\neocode`
248
+
249
+ 3. Re-authenticate with your provider using the `/connect` command in the TUI.
250
+
251
+ ---
252
+
253
+ ### AI_APICallError and provider package issues
254
+
255
+ If you encounter API call errors, this may be due to outdated provider packages. neocode dynamically installs provider packages (OpenAI, Anthropic, Google, etc.) as needed and caches them locally.
256
+
257
+ To resolve provider package issues:
258
+
259
+ 1. Clear the provider package cache:
260
+
261
+ ```bash
262
+ rm -rf ~/.cache/neocode
263
+ ```
264
+
265
+ On Windows, press `WIN+R` and delete: `%USERPROFILE%\.cache\neocode`
266
+
267
+ 2. Restart neocode to reinstall the latest provider packages
268
+
269
+ This will force neocode to download the most recent versions of provider packages, which often resolves compatibility issues with model parameters and API changes.
270
+
271
+ ---
272
+
273
+ ### Copy/paste not working on Linux
274
+
275
+ Linux users need to have one of the following clipboard utilities installed for copy/paste functionality to work:
276
+
277
+ **For X11 systems:**
278
+
279
+ ```bash
280
+ apt install -y xclip
281
+ # or
282
+ apt install -y xsel
283
+ ```
284
+
285
+ **For Wayland systems:**
286
+
287
+ ```bash
288
+ apt install -y wl-clipboard
289
+ ```
290
+
291
+ **For headless environments:**
292
+
293
+ ```bash
294
+ apt install -y xvfb
295
+ # and run:
296
+ Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
297
+ export DISPLAY=:99.0
298
+ ```
299
+
300
+ neocode will detect if you're using Wayland and prefer `wl-clipboard`, otherwise it will try to find clipboard tools in order of: `xclip` and `xsel`.
@@ -0,0 +1,390 @@
1
+ ---
2
+ title: TUI
3
+ description: Using the NeoCode terminal user interface.
4
+ ---
5
+
6
+ import { Tabs, TabItem } from "@astrojs/starlight/components"
7
+
8
+ NeoCode provides an interactive terminal interface or TUI for working on your projects with an LLM.
9
+
10
+ Running NeoCode starts the TUI for the current directory.
11
+
12
+ ```bash
13
+ neocode
14
+ ```
15
+
16
+ Or you can start it for a specific working directory.
17
+
18
+ ```bash
19
+ neocode /path/to/project
20
+ ```
21
+
22
+ Once you're in the TUI, you can prompt it with a message.
23
+
24
+ ```text
25
+ Give me a quick summary of the codebase.
26
+ ```
27
+
28
+ ---
29
+
30
+ ## File references
31
+
32
+ You can reference files in your messages using `@`. This does a fuzzy file search in the current working directory.
33
+
34
+ :::tip
35
+ You can also use `@` to reference files in your messages.
36
+ :::
37
+
38
+ ```text "@packages/functions/src/api/index.ts"
39
+ How is auth handled in @packages/functions/src/api/index.ts?
40
+ ```
41
+
42
+ The content of the file is added to the conversation automatically.
43
+
44
+ ---
45
+
46
+ ## Bash commands
47
+
48
+ Start a message with `!` to run a shell command.
49
+
50
+ ```bash frame="none"
51
+ !ls -la
52
+ ```
53
+
54
+ The output of the command is added to the conversation as a tool result.
55
+
56
+ ---
57
+
58
+ ## Commands
59
+
60
+ When using the NeoCode TUI, you can type `/` followed by a command name to quickly execute actions. For example:
61
+
62
+ ```bash frame="none"
63
+ /help
64
+ ```
65
+
66
+ Most commands also have keybind using `ctrl+x` as the leader key, where `ctrl+x` is the default leader key. [Learn more](/docs/keybinds).
67
+
68
+ Here are all available slash commands:
69
+
70
+ ---
71
+
72
+ ### connect
73
+
74
+ Add a provider to NeoCode. Allows you to select from available providers and add their API keys.
75
+
76
+ ```bash frame="none"
77
+ /connect
78
+ ```
79
+
80
+ ---
81
+
82
+ ### compact
83
+
84
+ Compact the current session. _Alias_: `/summarize`
85
+
86
+ ```bash frame="none"
87
+ /compact
88
+ ```
89
+
90
+ **Keybind:** `ctrl+x c`
91
+
92
+ ---
93
+
94
+ ### details
95
+
96
+ Toggle tool execution details.
97
+
98
+ ```bash frame="none"
99
+ /details
100
+ ```
101
+
102
+ **Keybind:** `ctrl+x d`
103
+
104
+ ---
105
+
106
+ ### editor
107
+
108
+ Open external editor for composing messages. Uses the editor set in your `EDITOR` environment variable. [Learn more](#editor-setup).
109
+
110
+ ```bash frame="none"
111
+ /editor
112
+ ```
113
+
114
+ **Keybind:** `ctrl+x e`
115
+
116
+ ---
117
+
118
+ ### exit
119
+
120
+ Exit NeoCode. _Aliases_: `/quit`, `/q`
121
+
122
+ ```bash frame="none"
123
+ /exit
124
+ ```
125
+
126
+ **Keybind:** `ctrl+x q`
127
+
128
+ ---
129
+
130
+ ### export
131
+
132
+ Export current conversation to Markdown and open in your default editor. Uses the editor set in your `EDITOR` environment variable. [Learn more](#editor-setup).
133
+
134
+ ```bash frame="none"
135
+ /export
136
+ ```
137
+
138
+ **Keybind:** `ctrl+x x`
139
+
140
+ ---
141
+
142
+ ### help
143
+
144
+ Show the help dialog.
145
+
146
+ ```bash frame="none"
147
+ /help
148
+ ```
149
+
150
+ **Keybind:** `ctrl+x h`
151
+
152
+ ---
153
+
154
+ ### init
155
+
156
+ Create or update `AGENTS.md` file. [Learn more](/docs/rules).
157
+
158
+ ```bash frame="none"
159
+ /init
160
+ ```
161
+
162
+ **Keybind:** `ctrl+x i`
163
+
164
+ ---
165
+
166
+ ### models
167
+
168
+ List available models.
169
+
170
+ ```bash frame="none"
171
+ /models
172
+ ```
173
+
174
+ **Keybind:** `ctrl+x m`
175
+
176
+ ---
177
+
178
+ ### new
179
+
180
+ Start a new session. _Alias_: `/clear`
181
+
182
+ ```bash frame="none"
183
+ /new
184
+ ```
185
+
186
+ **Keybind:** `ctrl+x n`
187
+
188
+ ---
189
+
190
+ ### redo
191
+
192
+ Redo a previously undone message. Only available after using `/undo`.
193
+
194
+ :::tip
195
+ Any file changes will also be restored.
196
+ :::
197
+
198
+ Internally, this uses Git to manage the file changes. So your project **needs to
199
+ be a Git repository**.
200
+
201
+ ```bash frame="none"
202
+ /redo
203
+ ```
204
+
205
+ **Keybind:** `ctrl+x r`
206
+
207
+ ---
208
+
209
+ ### sessions
210
+
211
+ List and switch between sessions. _Aliases_: `/resume`, `/continue`
212
+
213
+ ```bash frame="none"
214
+ /sessions
215
+ ```
216
+
217
+ **Keybind:** `ctrl+x l`
218
+
219
+ ---
220
+
221
+ ### share
222
+
223
+ Share current session. [Learn more](/docs/share).
224
+
225
+ ```bash frame="none"
226
+ /share
227
+ ```
228
+
229
+ **Keybind:** `ctrl+x s`
230
+
231
+ ---
232
+
233
+ ### themes
234
+
235
+ List available themes.
236
+
237
+ ```bash frame="none"
238
+ /theme
239
+ ```
240
+
241
+ **Keybind:** `ctrl+x t`
242
+
243
+ ---
244
+
245
+ ### thinking
246
+
247
+ Toggle the visibility of thinking/reasoning blocks in the conversation. When enabled, you can see the model's reasoning process for models that support extended thinking.
248
+
249
+ :::note
250
+ This command only controls whether thinking blocks are **displayed** - it does not enable or disable the model's reasoning capabilities. To toggle actual reasoning capabilities, use `ctrl+t` to cycle through model variants.
251
+ :::
252
+
253
+ ```bash frame="none"
254
+ /thinking
255
+ ```
256
+
257
+ ---
258
+
259
+ ### undo
260
+
261
+ Undo last message in the conversation. Removes the most recent user message, all subsequent responses, and any file changes.
262
+
263
+ :::tip
264
+ Any file changes made will also be reverted.
265
+ :::
266
+
267
+ Internally, this uses Git to manage the file changes. So your project **needs to
268
+ be a Git repository**.
269
+
270
+ ```bash frame="none"
271
+ /undo
272
+ ```
273
+
274
+ **Keybind:** `ctrl+x u`
275
+
276
+ ---
277
+
278
+ ### unshare
279
+
280
+ Unshare current session. [Learn more](/docs/share#un-sharing).
281
+
282
+ ```bash frame="none"
283
+ /unshare
284
+ ```
285
+
286
+ ---
287
+
288
+ ## Editor setup
289
+
290
+ Both the `/editor` and `/export` commands use the editor specified in your `EDITOR` environment variable.
291
+
292
+ <Tabs>
293
+ <TabItem label="Linux/macOS">
294
+ ```bash
295
+ # Example for nano or vim
296
+ export EDITOR=nano
297
+ export EDITOR=vim
298
+
299
+ # For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.
300
+ # include --wait
301
+ export EDITOR="code --wait"
302
+ ```
303
+
304
+ To make it permanent, add this to your shell profile;
305
+ `~/.bashrc`, `~/.zshrc`, etc.
306
+
307
+ </TabItem>
308
+
309
+ <TabItem label="Windows (CMD)">
310
+ ```bash
311
+ set EDITOR=notepad
312
+
313
+ # For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.
314
+ # include --wait
315
+ set EDITOR=code --wait
316
+ ```
317
+
318
+ To make it permanent, use **System Properties** > **Environment
319
+ Variables**.
320
+
321
+ </TabItem>
322
+
323
+ <TabItem label="Windows (PowerShell)">
324
+ ```powershell
325
+ $env:EDITOR = "notepad"
326
+
327
+ # For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.
328
+ # include --wait
329
+ $env:EDITOR = "code --wait"
330
+ ```
331
+
332
+ To make it permanent, add this to your PowerShell profile.
333
+
334
+ </TabItem>
335
+ </Tabs>
336
+
337
+ Popular editor options include:
338
+
339
+ - `code` - Visual Studio Code
340
+ - `cursor` - Cursor
341
+ - `windsurf` - Windsurf
342
+ - `nvim` - Neovim editor
343
+ - `vim` - Vim editor
344
+ - `nano` - Nano editor
345
+ - `notepad` - Windows Notepad
346
+ - `subl` - Sublime Text
347
+
348
+ :::note
349
+ Some editors like VS Code need to be started with the `--wait` flag.
350
+ :::
351
+
352
+ Some editors need command-line arguments to run in blocking mode. The `--wait` flag makes the editor process block until closed.
353
+
354
+ ---
355
+
356
+ ## Configure
357
+
358
+ You can customize TUI behavior through your NeoCode config file.
359
+
360
+ ```json title="neocode.json"
361
+ {
362
+ "$schema": "https://neo.khulnasoft.com/config.json",
363
+ "tui": {
364
+ "scroll_speed": 3,
365
+ "scroll_acceleration": {
366
+ "enabled": true
367
+ }
368
+ }
369
+ }
370
+ ```
371
+
372
+ ### Options
373
+
374
+ - `scroll_acceleration` - Enable macOS-style scroll acceleration for smooth, natural scrolling. When enabled, scroll speed increases with rapid scrolling gestures and stays precise for slower movements. **This setting takes precedence over `scroll_speed` and overrides it when enabled.**
375
+ - `scroll_speed` - Controls how fast the TUI scrolls when using scroll commands (minimum: `1`). Defaults to `3`. **Note: This is ignored if `scroll_acceleration.enabled` is set to `true`.**
376
+
377
+ ---
378
+
379
+ ## Customization
380
+
381
+ You can customize various aspects of the TUI view using the command palette (`ctrl+x h` or `/help`). These settings persist across restarts.
382
+
383
+ ---
384
+
385
+ #### Username display
386
+
387
+ Toggle whether your username appears in chat messages. Access this through:
388
+
389
+ - Command palette: Search for "username" or "hide username"
390
+ - The setting persists automatically and will be remembered across TUI sessions