@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.
- package/README.md +54 -0
- package/astro.config.mjs +145 -0
- package/config.mjs +14 -0
- package/package.json +41 -0
- package/public/robots.txt +6 -0
- package/public/theme.json +183 -0
- package/src/assets/lander/check.svg +2 -0
- package/src/assets/lander/copy.svg +2 -0
- package/src/assets/lander/screenshot-github.png +0 -0
- package/src/assets/lander/screenshot-splash.png +0 -0
- package/src/assets/lander/screenshot-vscode.png +0 -0
- package/src/assets/lander/screenshot.png +0 -0
- package/src/assets/logo-dark.svg +20 -0
- package/src/assets/logo-light.svg +20 -0
- package/src/assets/logo-ornate-dark.svg +18 -0
- package/src/assets/logo-ornate-light.svg +18 -0
- package/src/assets/web/web-homepage-active-session.png +0 -0
- package/src/assets/web/web-homepage-new-session.png +0 -0
- package/src/assets/web/web-homepage-see-servers.png +0 -0
- package/src/components/Head.astro +50 -0
- package/src/components/Header.astro +128 -0
- package/src/components/Hero.astro +11 -0
- package/src/components/Lander.astro +713 -0
- package/src/components/Share.tsx +634 -0
- package/src/components/SiteTitle.astro +59 -0
- package/src/components/icons/custom.tsx +87 -0
- package/src/components/icons/index.tsx +4454 -0
- package/src/components/share/common.tsx +77 -0
- package/src/components/share/content-bash.module.css +85 -0
- package/src/components/share/content-bash.tsx +67 -0
- package/src/components/share/content-code.module.css +26 -0
- package/src/components/share/content-code.tsx +32 -0
- package/src/components/share/content-diff.module.css +153 -0
- package/src/components/share/content-diff.tsx +231 -0
- package/src/components/share/content-error.module.css +64 -0
- package/src/components/share/content-error.tsx +24 -0
- package/src/components/share/content-markdown.module.css +154 -0
- package/src/components/share/content-markdown.tsx +75 -0
- package/src/components/share/content-text.module.css +63 -0
- package/src/components/share/content-text.tsx +37 -0
- package/src/components/share/copy-button.module.css +30 -0
- package/src/components/share/copy-button.tsx +28 -0
- package/src/components/share/part.module.css +428 -0
- package/src/components/share/part.tsx +780 -0
- package/src/components/share.module.css +832 -0
- package/src/content/docs/1-0.mdx +67 -0
- package/src/content/docs/acp.mdx +156 -0
- package/src/content/docs/agents.mdx +720 -0
- package/src/content/docs/cli.mdx +597 -0
- package/src/content/docs/commands.mdx +323 -0
- package/src/content/docs/config.mdx +683 -0
- package/src/content/docs/custom-tools.mdx +170 -0
- package/src/content/docs/ecosystem.mdx +76 -0
- package/src/content/docs/enterprise.mdx +170 -0
- package/src/content/docs/formatters.mdx +130 -0
- package/src/content/docs/github.mdx +321 -0
- package/src/content/docs/gitlab.mdx +195 -0
- package/src/content/docs/ide.mdx +48 -0
- package/src/content/docs/index.mdx +359 -0
- package/src/content/docs/keybinds.mdx +191 -0
- package/src/content/docs/lsp.mdx +188 -0
- package/src/content/docs/mcp-servers.mdx +511 -0
- package/src/content/docs/models.mdx +223 -0
- package/src/content/docs/modes.mdx +331 -0
- package/src/content/docs/network.mdx +57 -0
- package/src/content/docs/permissions.mdx +237 -0
- package/src/content/docs/plugins.mdx +362 -0
- package/src/content/docs/providers.mdx +1889 -0
- package/src/content/docs/rules.mdx +180 -0
- package/src/content/docs/sdk.mdx +391 -0
- package/src/content/docs/server.mdx +286 -0
- package/src/content/docs/share.mdx +128 -0
- package/src/content/docs/skills.mdx +220 -0
- package/src/content/docs/themes.mdx +369 -0
- package/src/content/docs/tools.mdx +345 -0
- package/src/content/docs/troubleshooting.mdx +300 -0
- package/src/content/docs/tui.mdx +390 -0
- package/src/content/docs/web.mdx +136 -0
- package/src/content/docs/windows-wsl.mdx +113 -0
- package/src/content/docs/zen.mdx +251 -0
- package/src/content.config.ts +7 -0
- package/src/pages/[...slug].md.ts +18 -0
- package/src/pages/s/[id].astro +113 -0
- package/src/styles/custom.css +405 -0
- package/src/types/lang-map.d.ts +27 -0
- package/tsconfig.json +9 -0
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Models
|
|
3
|
+
description: Configuring an LLM provider and model.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
NeoCode uses the [AI SDK](https://ai-sdk.dev/) and [Models.dev](https://models.dev) to support **75+ LLM providers** and it supports running local models.
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Providers
|
|
11
|
+
|
|
12
|
+
Most popular providers are preloaded by default. If you've added the credentials for a provider through the `/connect` command, they'll be available when you start NeoCode.
|
|
13
|
+
|
|
14
|
+
Learn more about [providers](/docs/providers).
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Select a model
|
|
19
|
+
|
|
20
|
+
Once you've configured your provider you can select the model you want by typing in:
|
|
21
|
+
|
|
22
|
+
```bash frame="none"
|
|
23
|
+
/models
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Recommended models
|
|
29
|
+
|
|
30
|
+
There are a lot of models out there, with new models coming out every week.
|
|
31
|
+
|
|
32
|
+
:::tip
|
|
33
|
+
Consider using one of the models we recommend.
|
|
34
|
+
:::
|
|
35
|
+
|
|
36
|
+
However, there are only a few of them that are good at both generating code and tool calling.
|
|
37
|
+
|
|
38
|
+
Here are several models that work well with NeoCode, in no particular order. (This is not an exhaustive list nor is it necessarily up to date):
|
|
39
|
+
|
|
40
|
+
- GPT 5.2
|
|
41
|
+
- GPT 5.1 Codex
|
|
42
|
+
- Claude Opus 4.5
|
|
43
|
+
- Claude Sonnet 4.5
|
|
44
|
+
- Minimax M2.1
|
|
45
|
+
- Gemini 3 Pro
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Set a default
|
|
50
|
+
|
|
51
|
+
To set one of these as the default model, you can set the `model` key in your
|
|
52
|
+
NeoCode config.
|
|
53
|
+
|
|
54
|
+
```json title="neocode.json" {3}
|
|
55
|
+
{
|
|
56
|
+
"$schema": "https://neo.khulnasoft.com/config.json",
|
|
57
|
+
"model": "lmstudio/google/gemma-3n-e4b"
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Here the full ID is `provider_id/model_id`. For example, if you're using [NeoCode Zen](/docs/zen), you would use `neocode/gpt-5.1-codex` for GPT 5.1 Codex.
|
|
62
|
+
|
|
63
|
+
If you've configured a [custom provider](/docs/providers#custom), the `provider_id` is key from the `provider` part of your config, and the `model_id` is the key from `provider.models`.
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Configure models
|
|
68
|
+
|
|
69
|
+
You can globally configure a model's options through the config.
|
|
70
|
+
|
|
71
|
+
```jsonc title="neocode.jsonc" {7-12,19-24}
|
|
72
|
+
{
|
|
73
|
+
"$schema": "https://neo.khulnasoft.com/config.json",
|
|
74
|
+
"provider": {
|
|
75
|
+
"openai": {
|
|
76
|
+
"models": {
|
|
77
|
+
"gpt-5": {
|
|
78
|
+
"options": {
|
|
79
|
+
"reasoningEffort": "high",
|
|
80
|
+
"textVerbosity": "low",
|
|
81
|
+
"reasoningSummary": "auto",
|
|
82
|
+
"include": ["reasoning.encrypted_content"],
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
"anthropic": {
|
|
88
|
+
"models": {
|
|
89
|
+
"claude-sonnet-4-5-20250929": {
|
|
90
|
+
"options": {
|
|
91
|
+
"thinking": {
|
|
92
|
+
"type": "enabled",
|
|
93
|
+
"budgetTokens": 16000,
|
|
94
|
+
},
|
|
95
|
+
},
|
|
96
|
+
},
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
},
|
|
100
|
+
}
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Here we're configuring global settings for two built-in models: `gpt-5` when accessed via the `openai` provider, and `claude-sonnet-4-20250514` when accessed via the `anthropic` provider.
|
|
104
|
+
The built-in provider and model names can be found on [Models.dev](https://models.dev).
|
|
105
|
+
|
|
106
|
+
You can also configure these options for any agents that you are using. The agent config overrides any global options here. [Learn more](/docs/agents/#additional).
|
|
107
|
+
|
|
108
|
+
You can also define custom variants that extend built-in ones. Variants let you configure different settings for the same model without creating duplicate entries:
|
|
109
|
+
|
|
110
|
+
```jsonc title="neocode.jsonc" {6-21}
|
|
111
|
+
{
|
|
112
|
+
"$schema": "https://neo.khulnasoft.com/config.json",
|
|
113
|
+
"provider": {
|
|
114
|
+
"neocode": {
|
|
115
|
+
"models": {
|
|
116
|
+
"gpt-5": {
|
|
117
|
+
"variants": {
|
|
118
|
+
"high": {
|
|
119
|
+
"reasoningEffort": "high",
|
|
120
|
+
"textVerbosity": "low",
|
|
121
|
+
"reasoningSummary": "auto",
|
|
122
|
+
},
|
|
123
|
+
"low": {
|
|
124
|
+
"reasoningEffort": "low",
|
|
125
|
+
"textVerbosity": "low",
|
|
126
|
+
"reasoningSummary": "auto",
|
|
127
|
+
},
|
|
128
|
+
},
|
|
129
|
+
},
|
|
130
|
+
},
|
|
131
|
+
},
|
|
132
|
+
},
|
|
133
|
+
}
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## Variants
|
|
139
|
+
|
|
140
|
+
Many models support multiple variants with different configurations. NeoCode ships with built-in default variants for popular providers.
|
|
141
|
+
|
|
142
|
+
### Built-in variants
|
|
143
|
+
|
|
144
|
+
NeoCode ships with default variants for many providers:
|
|
145
|
+
|
|
146
|
+
**Anthropic**:
|
|
147
|
+
|
|
148
|
+
- `high` - High thinking budget (default)
|
|
149
|
+
- `max` - Maximum thinking budget
|
|
150
|
+
|
|
151
|
+
**OpenAI**:
|
|
152
|
+
|
|
153
|
+
Varies by model but roughly:
|
|
154
|
+
|
|
155
|
+
- `none` - No reasoning
|
|
156
|
+
- `minimal` - Minimal reasoning effort
|
|
157
|
+
- `low` - Low reasoning effort
|
|
158
|
+
- `medium` - Medium reasoning effort
|
|
159
|
+
- `high` - High reasoning effort
|
|
160
|
+
- `xhigh` - Extra high reasoning effort
|
|
161
|
+
|
|
162
|
+
**Google**:
|
|
163
|
+
|
|
164
|
+
- `low` - Lower effort/token budget
|
|
165
|
+
- `high` - Higher effort/token budget
|
|
166
|
+
|
|
167
|
+
:::tip
|
|
168
|
+
This list is not comprehensive. Many other providers have built-in defaults too.
|
|
169
|
+
:::
|
|
170
|
+
|
|
171
|
+
### Custom variants
|
|
172
|
+
|
|
173
|
+
You can override existing variants or add your own:
|
|
174
|
+
|
|
175
|
+
```jsonc title="neocode.jsonc" {7-18}
|
|
176
|
+
{
|
|
177
|
+
"$schema": "https://neo.khulnasoft.com/config.json",
|
|
178
|
+
"provider": {
|
|
179
|
+
"openai": {
|
|
180
|
+
"models": {
|
|
181
|
+
"gpt-5": {
|
|
182
|
+
"variants": {
|
|
183
|
+
"thinking": {
|
|
184
|
+
"reasoningEffort": "high",
|
|
185
|
+
"textVerbosity": "low",
|
|
186
|
+
},
|
|
187
|
+
"fast": {
|
|
188
|
+
"disabled": true,
|
|
189
|
+
},
|
|
190
|
+
},
|
|
191
|
+
},
|
|
192
|
+
},
|
|
193
|
+
},
|
|
194
|
+
},
|
|
195
|
+
}
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
### Cycle variants
|
|
199
|
+
|
|
200
|
+
Use the keybind `variant_cycle` to quickly switch between variants. [Learn more](/docs/keybinds).
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
## Loading models
|
|
205
|
+
|
|
206
|
+
When NeoCode starts up, it checks for models in the following priority order:
|
|
207
|
+
|
|
208
|
+
1. The `--model` or `-m` command line flag. The format is the same as in the config file: `provider_id/model_id`.
|
|
209
|
+
|
|
210
|
+
2. The model list in the NeoCode config.
|
|
211
|
+
|
|
212
|
+
```json title="neocode.json"
|
|
213
|
+
{
|
|
214
|
+
"$schema": "https://neo.khulnasoft.com/config.json",
|
|
215
|
+
"model": "anthropic/claude-sonnet-4-20250514"
|
|
216
|
+
}
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
The format here is `provider/model`.
|
|
220
|
+
|
|
221
|
+
3. The last used model.
|
|
222
|
+
|
|
223
|
+
4. The first model using an internal priority.
|
|
@@ -0,0 +1,331 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Modes
|
|
3
|
+
description: Different modes for different use cases.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
:::caution
|
|
7
|
+
Modes are now configured through the `agent` option in the neocode config. The
|
|
8
|
+
`mode` option is now deprecated. [Learn more](/docs/agents).
|
|
9
|
+
:::
|
|
10
|
+
|
|
11
|
+
Modes in neocode allow you to customize the behavior, tools, and prompts for different use cases.
|
|
12
|
+
|
|
13
|
+
It comes with two built-in modes: **build** and **plan**. You can customize
|
|
14
|
+
these or configure your own through the neocode config.
|
|
15
|
+
|
|
16
|
+
You can switch between modes during a session or configure them in your config file.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Built-in
|
|
21
|
+
|
|
22
|
+
neocode comes with two built-in modes.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
### Build
|
|
27
|
+
|
|
28
|
+
Build is the **default** mode with all tools enabled. This is the standard mode for development work where you need full access to file operations and system commands.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
### Plan
|
|
33
|
+
|
|
34
|
+
A restricted mode designed for planning and analysis. In plan mode, the following tools are disabled by default:
|
|
35
|
+
|
|
36
|
+
- `write` - Cannot create new files
|
|
37
|
+
- `edit` - Cannot modify existing files, except for files located at `.neocode/plans/*.md` to detail the plan itself
|
|
38
|
+
- `patch` - Cannot apply patches
|
|
39
|
+
- `bash` - Cannot execute shell commands
|
|
40
|
+
|
|
41
|
+
This mode is useful when you want the AI to analyze code, suggest changes, or create plans without making any actual modifications to your codebase.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Switching
|
|
46
|
+
|
|
47
|
+
You can switch between modes during a session using the _Tab_ key. Or your configured `switch_mode` keybind.
|
|
48
|
+
|
|
49
|
+
See also: [Formatters](/docs/formatters) for information about code formatting configuration.
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Configure
|
|
54
|
+
|
|
55
|
+
You can customize the built-in modes or create your own through configuration. Modes can be configured in two ways:
|
|
56
|
+
|
|
57
|
+
### JSON Configuration
|
|
58
|
+
|
|
59
|
+
Configure modes in your `neocode.json` config file:
|
|
60
|
+
|
|
61
|
+
```json title="neocode.json"
|
|
62
|
+
{
|
|
63
|
+
"$schema": "https://neo.khulnasoft.com/config.json",
|
|
64
|
+
"mode": {
|
|
65
|
+
"build": {
|
|
66
|
+
"model": "anthropic/claude-sonnet-4-20250514",
|
|
67
|
+
"prompt": "{file:./prompts/build.txt}",
|
|
68
|
+
"tools": {
|
|
69
|
+
"write": true,
|
|
70
|
+
"edit": true,
|
|
71
|
+
"bash": true
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
"plan": {
|
|
75
|
+
"model": "anthropic/claude-haiku-4-20250514",
|
|
76
|
+
"tools": {
|
|
77
|
+
"write": false,
|
|
78
|
+
"edit": false,
|
|
79
|
+
"bash": false
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Markdown Configuration
|
|
87
|
+
|
|
88
|
+
You can also define modes using markdown files. Place them in:
|
|
89
|
+
|
|
90
|
+
- Global: `~/.config/neocode/modes/`
|
|
91
|
+
- Project: `.neocode/modes/`
|
|
92
|
+
|
|
93
|
+
```markdown title="~/.config/neocode/modes/review.md"
|
|
94
|
+
---
|
|
95
|
+
model: anthropic/claude-sonnet-4-20250514
|
|
96
|
+
temperature: 0.1
|
|
97
|
+
tools:
|
|
98
|
+
write: false
|
|
99
|
+
edit: false
|
|
100
|
+
bash: false
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
You are in code review mode. Focus on:
|
|
104
|
+
|
|
105
|
+
- Code quality and best practices
|
|
106
|
+
- Potential bugs and edge cases
|
|
107
|
+
- Performance implications
|
|
108
|
+
- Security considerations
|
|
109
|
+
|
|
110
|
+
Provide constructive feedback without making direct changes.
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
The markdown file name becomes the mode name (e.g., `review.md` creates a `review` mode).
|
|
114
|
+
|
|
115
|
+
Let's look at these configuration options in detail.
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
### Model
|
|
120
|
+
|
|
121
|
+
Use the `model` config to override the default model for this mode. Useful for using different models optimized for different tasks. For example, a faster model for planning, a more capable model for implementation.
|
|
122
|
+
|
|
123
|
+
```json title="neocode.json"
|
|
124
|
+
{
|
|
125
|
+
"mode": {
|
|
126
|
+
"plan": {
|
|
127
|
+
"model": "anthropic/claude-haiku-4-20250514"
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
### Temperature
|
|
136
|
+
|
|
137
|
+
Control the randomness and creativity of the AI's responses with the `temperature` config. Lower values make responses more focused and deterministic, while higher values increase creativity and variability.
|
|
138
|
+
|
|
139
|
+
```json title="neocode.json"
|
|
140
|
+
{
|
|
141
|
+
"mode": {
|
|
142
|
+
"plan": {
|
|
143
|
+
"temperature": 0.1
|
|
144
|
+
},
|
|
145
|
+
"creative": {
|
|
146
|
+
"temperature": 0.8
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
Temperature values typically range from 0.0 to 1.0:
|
|
153
|
+
|
|
154
|
+
- **0.0-0.2**: Very focused and deterministic responses, ideal for code analysis and planning
|
|
155
|
+
- **0.3-0.5**: Balanced responses with some creativity, good for general development tasks
|
|
156
|
+
- **0.6-1.0**: More creative and varied responses, useful for brainstorming and exploration
|
|
157
|
+
|
|
158
|
+
```json title="neocode.json"
|
|
159
|
+
{
|
|
160
|
+
"mode": {
|
|
161
|
+
"analyze": {
|
|
162
|
+
"temperature": 0.1,
|
|
163
|
+
"prompt": "{file:./prompts/analysis.txt}"
|
|
164
|
+
},
|
|
165
|
+
"build": {
|
|
166
|
+
"temperature": 0.3
|
|
167
|
+
},
|
|
168
|
+
"brainstorm": {
|
|
169
|
+
"temperature": 0.7,
|
|
170
|
+
"prompt": "{file:./prompts/creative.txt}"
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
If no temperature is specified, neocode uses model-specific defaults (typically 0 for most models, 0.55 for Qwen models).
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
### Prompt
|
|
181
|
+
|
|
182
|
+
Specify a custom system prompt file for this mode with the `prompt` config. The prompt file should contain instructions specific to the mode's purpose.
|
|
183
|
+
|
|
184
|
+
```json title="neocode.json"
|
|
185
|
+
{
|
|
186
|
+
"mode": {
|
|
187
|
+
"review": {
|
|
188
|
+
"prompt": "{file:./prompts/code-review.txt}"
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
This path is relative to where the config file is located. So this works for
|
|
195
|
+
both the global neocode config and the project specific config.
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
### Tools
|
|
200
|
+
|
|
201
|
+
Control which tools are available in this mode with the `tools` config. You can enable or disable specific tools by setting them to `true` or `false`.
|
|
202
|
+
|
|
203
|
+
```json
|
|
204
|
+
{
|
|
205
|
+
"mode": {
|
|
206
|
+
"readonly": {
|
|
207
|
+
"tools": {
|
|
208
|
+
"write": false,
|
|
209
|
+
"edit": false,
|
|
210
|
+
"bash": false,
|
|
211
|
+
"read": true,
|
|
212
|
+
"grep": true,
|
|
213
|
+
"glob": true
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
If no tools are specified, all tools are enabled by default.
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
#### Available tools
|
|
225
|
+
|
|
226
|
+
Here are all the tools can be controlled through the mode config.
|
|
227
|
+
|
|
228
|
+
| Tool | Description |
|
|
229
|
+
| ----------- | ----------------------- |
|
|
230
|
+
| `bash` | Execute shell commands |
|
|
231
|
+
| `edit` | Modify existing files |
|
|
232
|
+
| `write` | Create new files |
|
|
233
|
+
| `read` | Read file contents |
|
|
234
|
+
| `grep` | Search file contents |
|
|
235
|
+
| `glob` | Find files by pattern |
|
|
236
|
+
| `list` | List directory contents |
|
|
237
|
+
| `patch` | Apply patches to files |
|
|
238
|
+
| `todowrite` | Manage todo lists |
|
|
239
|
+
| `todoread` | Read todo lists |
|
|
240
|
+
| `webfetch` | Fetch web content |
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
## Custom modes
|
|
245
|
+
|
|
246
|
+
You can create your own custom modes by adding them to the configuration. Here are examples using both approaches:
|
|
247
|
+
|
|
248
|
+
### Using JSON configuration
|
|
249
|
+
|
|
250
|
+
```json title="neocode.json" {4-14}
|
|
251
|
+
{
|
|
252
|
+
"$schema": "https://neo.khulnasoft.com/config.json",
|
|
253
|
+
"mode": {
|
|
254
|
+
"docs": {
|
|
255
|
+
"prompt": "{file:./prompts/documentation.txt}",
|
|
256
|
+
"tools": {
|
|
257
|
+
"write": true,
|
|
258
|
+
"edit": true,
|
|
259
|
+
"bash": false,
|
|
260
|
+
"read": true,
|
|
261
|
+
"grep": true,
|
|
262
|
+
"glob": true
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
### Using markdown files
|
|
270
|
+
|
|
271
|
+
Create mode files in `.neocode/modes/` for project-specific modes or `~/.config/neocode/modes/` for global modes:
|
|
272
|
+
|
|
273
|
+
```markdown title=".neocode/modes/debug.md"
|
|
274
|
+
---
|
|
275
|
+
temperature: 0.1
|
|
276
|
+
tools:
|
|
277
|
+
bash: true
|
|
278
|
+
read: true
|
|
279
|
+
grep: true
|
|
280
|
+
write: false
|
|
281
|
+
edit: false
|
|
282
|
+
---
|
|
283
|
+
|
|
284
|
+
You are in debug mode. Your primary goal is to help investigate and diagnose issues.
|
|
285
|
+
|
|
286
|
+
Focus on:
|
|
287
|
+
|
|
288
|
+
- Understanding the problem through careful analysis
|
|
289
|
+
- Using bash commands to inspect system state
|
|
290
|
+
- Reading relevant files and logs
|
|
291
|
+
- Searching for patterns and anomalies
|
|
292
|
+
- Providing clear explanations of findings
|
|
293
|
+
|
|
294
|
+
Do not make any changes to files. Only investigate and report.
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
```markdown title="~/.config/neocode/modes/refactor.md"
|
|
298
|
+
---
|
|
299
|
+
model: anthropic/claude-sonnet-4-20250514
|
|
300
|
+
temperature: 0.2
|
|
301
|
+
tools:
|
|
302
|
+
edit: true
|
|
303
|
+
read: true
|
|
304
|
+
grep: true
|
|
305
|
+
glob: true
|
|
306
|
+
---
|
|
307
|
+
|
|
308
|
+
You are in refactoring mode. Focus on improving code quality without changing functionality.
|
|
309
|
+
|
|
310
|
+
Priorities:
|
|
311
|
+
|
|
312
|
+
- Improve code readability and maintainability
|
|
313
|
+
- Apply consistent naming conventions
|
|
314
|
+
- Reduce code duplication
|
|
315
|
+
- Optimize performance where appropriate
|
|
316
|
+
- Ensure all tests continue to pass
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
---
|
|
320
|
+
|
|
321
|
+
### Use cases
|
|
322
|
+
|
|
323
|
+
Here are some common use cases for different modes.
|
|
324
|
+
|
|
325
|
+
- **Build mode**: Full development work with all tools enabled
|
|
326
|
+
- **Plan mode**: Analysis and planning without making changes
|
|
327
|
+
- **Review mode**: Code review with read-only access plus documentation tools
|
|
328
|
+
- **Debug mode**: Focused on investigation with bash and read tools enabled
|
|
329
|
+
- **Docs mode**: Documentation writing with file operations but no system commands
|
|
330
|
+
|
|
331
|
+
You might also find different models are good for different use cases.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Network
|
|
3
|
+
description: Configure proxies and custom certificates.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
NeoCode supports standard proxy environment variables and custom certificates for enterprise network environments.
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Proxy
|
|
11
|
+
|
|
12
|
+
NeoCode respects standard proxy environment variables.
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
# HTTPS proxy (recommended)
|
|
16
|
+
export HTTPS_PROXY=https://proxy.example.com:8080
|
|
17
|
+
|
|
18
|
+
# HTTP proxy (if HTTPS not available)
|
|
19
|
+
export HTTP_PROXY=http://proxy.example.com:8080
|
|
20
|
+
|
|
21
|
+
# Bypass proxy for local server (required)
|
|
22
|
+
export NO_PROXY=localhost,127.0.0.1
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
:::caution
|
|
26
|
+
The TUI communicates with a local HTTP server. You must bypass the proxy for this connection to prevent routing loops.
|
|
27
|
+
:::
|
|
28
|
+
|
|
29
|
+
You can configure the server's port and hostname using [CLI flags](/docs/cli#run).
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
### Authenticate
|
|
34
|
+
|
|
35
|
+
If your proxy requires basic authentication, include credentials in the URL.
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
export HTTPS_PROXY=http://username:password@proxy.example.com:8080
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
:::caution
|
|
42
|
+
Avoid hardcoding passwords. Use environment variables or secure credential storage.
|
|
43
|
+
:::
|
|
44
|
+
|
|
45
|
+
For proxies requiring advanced authentication like NTLM or Kerberos, consider using an LLM Gateway that supports your authentication method.
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Custom certificates
|
|
50
|
+
|
|
51
|
+
If your enterprise uses custom CAs for HTTPS connections, configure NeoCode to trust them.
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
export NODE_EXTRA_CA_CERTS=/path/to/ca-cert.pem
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
This works for both proxy connections and direct API access.
|