winter-super-cli 2026.6.19 → 2026.6.20
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 +144 -641
- package/package.json +1 -1
- package/src/ai/provider-adapters.js +317 -0
- package/src/ai/providers.js +104 -122
- package/src/cli/repl.js +3484 -3484
- package/src/tools/executor.js +37 -36
package/README.md
CHANGED
|
@@ -1,719 +1,222 @@
|
|
|
1
|
-
# Winter
|
|
1
|
+
# Winter
|
|
2
2
|
|
|
3
|
-
> **Winter** is
|
|
3
|
+
> **Winter** is an AI-powered CLI for coding, debugging, refactoring, and multi-provider model orchestration.
|
|
4
4
|
>
|
|
5
|
-
>
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Key Features
|
|
10
|
-
|
|
11
|
-
| Feature | Description |
|
|
12
|
-
|---------|-------------|
|
|
13
|
-
| **26 AI Tools** | Read, Write, Edit, Bash, Glob, Grep, Notebook, Todo, Scheduler, Agent, MCP & more |
|
|
14
|
-
| **Multi-Provider** | Anthropic, OpenAI, Ollama, Groq -- with **smart context routing** |
|
|
15
|
-
| **Context Router** | Auto-selects best provider per task (Claude for code, OpenAI for docs, Groq for speed, Ollama for privacy) |
|
|
16
|
-
| **Session Management** | Isolated sessions with persistent memory, plans, and context |
|
|
17
|
-
| **MCP Support** | Model Context Protocol -- connect VS Code, GitHub, databases & more |
|
|
18
|
-
| **Permission System** | Granular allowlist for tools, commands, and MCP servers |
|
|
19
|
-
| **Secret Management** | Auto-migrate API keys to `secrets.env` -- no keys in config files |
|
|
20
|
-
| **Refactoring** | AI-assisted refactors with test-backed verification and minimal behavior drift |
|
|
21
|
-
| **Skills System** | Strong skill workflows with `skill-creator`, hot-reloadable custom skills, and bundled guidance |
|
|
22
|
-
| **TypeScript Definitions** | Typed surface for core CLI helpers and skill metadata |
|
|
23
|
-
| **Plugin System** | Load local Claude Code / Codex plugins |
|
|
24
|
-
| **Design Integration** | Browse & apply design systems from awesome-design-md |
|
|
25
|
-
| **Auto-Healing** | TDD-style loop -- AI runs tests & fixes errors automatically |
|
|
26
|
-
| **Git Auto-Pilot** | Auto commit messages + AI code reviews |
|
|
27
|
-
| **Real-time Streaming** | SSE streaming for instant response display |
|
|
28
|
-
| **Task Scheduler** | Schedule wakeup calls for delayed operations |
|
|
29
|
-
| **Clipboard Integration** | `/paste` command reads clipboard directly |
|
|
30
|
-
| **Image Support** | Analyze images & screenshots via `/image` |
|
|
31
|
-
| **Cross-Platform** | Windows, macOS, Linux -- full shell support |
|
|
32
|
-
| **Codebase Index** | Fast semantic search with optional CodeGraph integration |
|
|
33
|
-
| **Embedded Context Corpus** | Built-in knowledge base from 7,900+ embedded documents |
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## Project Stats
|
|
38
|
-
|
|
39
|
-
| Metric | Value |
|
|
40
|
-
|--------|-------|
|
|
41
|
-
| **Total Source Files** | 125 |
|
|
42
|
-
| **Source Lines of Code** | 26,080 |
|
|
43
|
-
| **Source Code Size** | ~1 MB |
|
|
44
|
-
| **Tools** | **26** |
|
|
45
|
-
| **Slash Commands** | 50+ |
|
|
46
|
-
| **AI Providers** | 4 (Anthropic, OpenAI, Ollama, Groq) |
|
|
47
|
-
| **Bundled Resources** | 8,578 files (design guides, agent docs, karpathy tools, page agents) |
|
|
48
|
-
| **Node.js** | >= 18.0.0 |
|
|
49
|
-
|
|
50
|
-
---
|
|
51
|
-
|
|
52
|
-
## Installation
|
|
53
|
-
|
|
54
|
-
### Global install via npm
|
|
5
|
+
> Built for local development workflows, Winter combines a fast terminal UX, session memory, slash commands, tool execution, provider routing, and a growing set of automation features.
|
|
55
6
|
|
|
56
|
-
|
|
57
|
-
npm install -g winter-super-cli@latest
|
|
58
|
-
```
|
|
7
|
+
## Highlights
|
|
59
8
|
|
|
60
|
-
|
|
9
|
+
- **Multi-provider AI** with support for OpenAI-compatible, Anthropic, and Gemini-style APIs
|
|
10
|
+
- **Universal provider abstraction** for custom gateways and named presets like Qwen, Kimi, MiniMax, DeepSeek, OpenRouter, Groq, Ollama, Mistral, Fireworks, SiliconFlow, Zhipu, Baichuan, and more
|
|
11
|
+
- **Custom provider support** with `apiFormat: openai | anthropic | gemini`
|
|
12
|
+
- **Streaming + tool use** through a normalized provider adapter layer
|
|
13
|
+
- **Session memory, plans, tasks, and history** for long-running coding work
|
|
14
|
+
- **Rich slash-command workflow** for provider switching, search, debugging, design systems, skills, MCP, and automation
|
|
15
|
+
- **Local resource packs** for design systems, agent docs, Karpathy tools, Claude/Codex references, and ECC knowledge browsing
|
|
61
16
|
|
|
62
|
-
|
|
63
|
-
git clone https://github.com/anhtu1707/winter.git
|
|
64
|
-
cd winter
|
|
65
|
-
node bin/winter.js
|
|
66
|
-
```
|
|
17
|
+
## Quick Start
|
|
67
18
|
|
|
68
|
-
###
|
|
19
|
+
### Install
|
|
69
20
|
|
|
70
21
|
```bash
|
|
71
|
-
winter
|
|
72
|
-
winter --help
|
|
22
|
+
npm install -g winter-super-cli
|
|
73
23
|
```
|
|
74
24
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
## Quick Start
|
|
25
|
+
### Run
|
|
78
26
|
|
|
79
27
|
```bash
|
|
80
|
-
# Start REPL in current directory
|
|
81
28
|
winter
|
|
82
|
-
|
|
83
|
-
# Start with a specific session
|
|
84
|
-
winter --session mysession
|
|
85
|
-
|
|
86
|
-
# Run one-shot command
|
|
87
|
-
winter chat "refactor this function to use async/await"
|
|
88
|
-
|
|
89
|
-
# Call all providers
|
|
90
|
-
winter call "Analyze this code architecture"
|
|
91
|
-
|
|
92
|
-
# Non-interactive mode
|
|
93
|
-
winter chat "explain this" --no-interactive
|
|
94
29
|
```
|
|
95
30
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
## AI Providers
|
|
99
|
-
|
|
100
|
-
Winter supports **4 AI providers** with automatic context routing:
|
|
101
|
-
|
|
102
|
-
| Provider | Config Key | Default Model | Best For |
|
|
103
|
-
|----------|------------|---------------|----------|
|
|
104
|
-
| **Anthropic** | `anthropic` | `claude-sonnet-4-20250514` | Code review, refactoring, debugging |
|
|
105
|
-
| **OpenAI** | `openai` | `gpt-4-turbo` | Documentation, explanations |
|
|
106
|
-
| **Ollama** (local) | `ollama` | `llama3` | Privacy, offline use |
|
|
107
|
-
| **Groq** | `groq` | `llama-3.1-70b-versatile` | Speed, quick tasks |
|
|
108
|
-
|
|
109
|
-
### Provider commands
|
|
31
|
+
### Verify
|
|
110
32
|
|
|
111
33
|
```bash
|
|
112
|
-
|
|
113
|
-
winter
|
|
114
|
-
|
|
115
|
-
# Switch provider
|
|
116
|
-
winter provider ollama
|
|
117
|
-
|
|
118
|
-
# Set model for current provider
|
|
119
|
-
winter model gpt-4
|
|
120
|
-
|
|
121
|
-
# Set model for specific provider
|
|
122
|
-
winter model ollama llama3.1
|
|
123
|
-
|
|
124
|
-
# List all models
|
|
125
|
-
winter models
|
|
34
|
+
winter --help
|
|
35
|
+
winter --version
|
|
126
36
|
```
|
|
127
37
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
Winter automatically selects the best provider based on your task:
|
|
131
|
-
|
|
132
|
-
```javascript
|
|
133
|
-
// Code tasks -> Claude (or first available)
|
|
134
|
-
"Please review this refactor and fix the bug"
|
|
38
|
+
## What Winter Does
|
|
135
39
|
|
|
136
|
-
|
|
137
|
-
"Write a commit message for these changes"
|
|
40
|
+
Winter is designed to help you move through the full coding loop:
|
|
138
41
|
|
|
139
|
-
|
|
140
|
-
|
|
42
|
+
1. inspect the codebase
|
|
43
|
+
2. plan the change
|
|
44
|
+
3. edit surgically
|
|
45
|
+
4. verify with tests or syntax checks
|
|
46
|
+
5. repeat until the result is solid
|
|
141
47
|
|
|
142
|
-
|
|
143
|
-
"Analyze this sensitive code locally"
|
|
48
|
+
It is especially useful for:
|
|
144
49
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
50
|
+
- debugging runtime issues
|
|
51
|
+
- refactoring existing code
|
|
52
|
+
- generating and applying patches
|
|
53
|
+
- switching between AI providers
|
|
54
|
+
- inspecting large local contexts
|
|
55
|
+
- working with tools, sessions, and background tasks
|
|
148
56
|
|
|
149
|
-
|
|
57
|
+
## Provider Support
|
|
150
58
|
|
|
151
|
-
|
|
59
|
+
Winter supports a flexible provider model:
|
|
152
60
|
|
|
153
|
-
|
|
61
|
+
- **OpenAI-compatible APIs**
|
|
62
|
+
- **Anthropic native API**
|
|
63
|
+
- **Google Gemini native API**
|
|
64
|
+
- **Custom local or remote gateways**
|
|
65
|
+
- **Preset providers** with automatic base URL / model defaults
|
|
154
66
|
|
|
155
|
-
###
|
|
67
|
+
### Example: custom OpenAI-compatible provider
|
|
156
68
|
|
|
157
69
|
```json
|
|
158
70
|
{
|
|
159
|
-
"
|
|
160
|
-
|
|
161
|
-
"
|
|
162
|
-
"model": "
|
|
163
|
-
},
|
|
164
|
-
"openai": {
|
|
165
|
-
"apiKeyEnv": "OPENAI_API_KEY",
|
|
166
|
-
"model": "gpt-4-turbo"
|
|
167
|
-
},
|
|
168
|
-
"ollama": {
|
|
169
|
-
"baseURL": "http://localhost:11434",
|
|
170
|
-
"model": "llama3"
|
|
171
|
-
},
|
|
172
|
-
"groq": {
|
|
173
|
-
"apiKeyEnv": "GROQ_API_KEY",
|
|
174
|
-
"model": "llama-3.1-70b-versatile"
|
|
175
|
-
},
|
|
176
|
-
"permissions": {
|
|
177
|
-
"promptByDefault": true,
|
|
178
|
-
"allowlist": {
|
|
179
|
-
"tools": ["Read", "Glob", "Grep", "WebFetch", "WebSearch", "Parallel"],
|
|
180
|
-
"commands": [],
|
|
181
|
-
"mcpServers": []
|
|
182
|
-
}
|
|
183
|
-
},
|
|
184
|
-
"mcp": {
|
|
185
|
-
"servers": []
|
|
186
|
-
},
|
|
187
|
-
"sandbox": {
|
|
188
|
-
"enabled": true,
|
|
189
|
-
"allowedCommands": ["git", "npm", "node", "python", "code"]
|
|
190
|
-
},
|
|
191
|
-
"session": {
|
|
192
|
-
"autoSave": true,
|
|
193
|
-
"maxHistory": 500
|
|
71
|
+
"custom": {
|
|
72
|
+
"baseURL": "http://localhost:4000/v1",
|
|
73
|
+
"apiKey": "your-key",
|
|
74
|
+
"model": "gpt-4o-mini"
|
|
194
75
|
}
|
|
195
76
|
}
|
|
196
77
|
```
|
|
197
78
|
|
|
198
|
-
###
|
|
199
|
-
|
|
200
|
-
API keys are **never stored in winter.json**. They are auto-migrated to `~/.winter/secrets.env`:
|
|
201
|
-
|
|
202
|
-
```bash
|
|
203
|
-
# Check config
|
|
204
|
-
winter config
|
|
205
|
-
|
|
206
|
-
# Migrate existing inline secrets to secrets.env
|
|
207
|
-
winter config migrate-secrets
|
|
79
|
+
### Example: custom Anthropic provider
|
|
208
80
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
81
|
+
```json
|
|
82
|
+
{
|
|
83
|
+
"custom": {
|
|
84
|
+
"apiFormat": "anthropic",
|
|
85
|
+
"apiKey": "your-anthropic-key",
|
|
86
|
+
"model": "claude-3-5-sonnet-latest"
|
|
87
|
+
}
|
|
88
|
+
}
|
|
214
89
|
```
|
|
215
90
|
|
|
216
|
-
|
|
91
|
+
### Example: custom Gemini provider
|
|
217
92
|
|
|
93
|
+
```json
|
|
94
|
+
{
|
|
95
|
+
"custom": {
|
|
96
|
+
"apiFormat": "gemini",
|
|
97
|
+
"apiKey": "your-gemini-key",
|
|
98
|
+
"model": "gemini-1.5-pro"
|
|
99
|
+
}
|
|
100
|
+
}
|
|
218
101
|
```
|
|
219
|
-
# ~/.winter/secrets.env
|
|
220
|
-
ANTHROPIC_API_KEY=sk-ant-...
|
|
221
|
-
OPENAI_API_KEY=sk-proj-...
|
|
222
|
-
GROQ_API_KEY=gsk-...
|
|
223
|
-
```
|
|
224
|
-
|
|
225
|
-
---
|
|
226
|
-
|
|
227
|
-
## 26 AI Tools
|
|
228
|
-
|
|
229
|
-
Winter provides **26 tools** -- fully compatible with Claude Code's tool interface + extras:
|
|
230
|
-
|
|
231
|
-
| # | Tool | Description |
|
|
232
|
-
|----|------|-------------|
|
|
233
|
-
| 1 | **Read** | Read files with line numbers |
|
|
234
|
-
| 2 | **Write** | Create new files |
|
|
235
|
-
| 3 | **Edit** | Surgical string replacement (search & replace) |
|
|
236
|
-
| 4 | **Bash** | Execute shell commands |
|
|
237
|
-
| 5 | **Glob** | Find files by pattern |
|
|
238
|
-
| 6 | **Grep** | Advanced regex search (context lines, case-insensitive, invert, multiline, max results) |
|
|
239
|
-
| 7 | **LSP** | Language Server Protocol integration |
|
|
240
|
-
| 8 | **TaskCreate** | Create background tasks |
|
|
241
|
-
| 9 | **TaskUpdate** | Update task status |
|
|
242
|
-
| 10 | **TaskList** | List all tasks |
|
|
243
|
-
| 11 | **MCP** | Model Context Protocol tool calls |
|
|
244
|
-
| 12 | **Parallel** | Execute multiple tools in parallel |
|
|
245
|
-
| 13 | **NotebookRead** | Read Jupyter notebook cells |
|
|
246
|
-
| 14 | **NotebookEdit** | Edit Jupyter notebook cells |
|
|
247
|
-
| 15 | **TodoWrite** | Write todo items to a file |
|
|
248
|
-
| 16 | **TodoList** | List todo items |
|
|
249
|
-
| 17 | **ScheduleWakeup** | Schedule delayed operations |
|
|
250
|
-
| 18 | **AskUserQuestion** | Ask the user a question (text/select/multiselect) |
|
|
251
|
-
| 19 | **Agent** | Deploy a sub-agent for complex tasks |
|
|
252
|
-
| 20 | **InsertText** | Insert text at specific positions (line, after, before, beginning, end) |
|
|
253
|
-
| 21 | **StrReplaceAll** | Batch string replace across files |
|
|
254
|
-
| 22 | **BrowserDebug** | Browser automation & debugging |
|
|
255
|
-
| 23 | **WebFetch** | Fetch web page content |
|
|
256
|
-
| 24 | **WebSearch** | Search the web |
|
|
257
|
-
| 25 | **WebArchive** | Archive & retrieve web pages (Wayback Machine + local cache) |
|
|
258
|
-
| 26 | **HtmlEffectiveness** | Compile hybrid Markdown + YAML components into self-contained HTML |
|
|
259
|
-
|
|
260
|
-
### Advanced Grep Features
|
|
261
|
-
|
|
262
|
-
Grep tool supports:
|
|
263
|
-
|
|
264
|
-
- **Regex patterns** -- actual `RegExp`, not substring matching
|
|
265
|
-
- **Case insensitive** -- `case_insensitive: true`
|
|
266
|
-
- **Invert match** -- `invert_match: true`
|
|
267
|
-
- **Fixed string** -- `fixed_string: true` (escape regex chars)
|
|
268
|
-
- **Context lines** -- `context_lines`, `before_lines`, `after_lines`
|
|
269
|
-
- **Max results** -- configurable limit (default 50, max 500)
|
|
270
|
-
- **Line numbers** -- toggle `line_numbers: true/false`
|
|
271
|
-
- **Multiline** -- `multiline: true` search across lines
|
|
272
|
-
- **Output modes** -- `content`, `files_with_matches`, `count`
|
|
273
|
-
|
|
274
|
-
---
|
|
275
|
-
|
|
276
|
-
## Bundled Resources
|
|
277
|
-
|
|
278
|
-
Winter ships with **7 integrated resource corpora** (8,578 files total):
|
|
279
|
-
|
|
280
|
-
| Resource | Files | Size | Description |
|
|
281
|
-
|----------|-------|------|-------------|
|
|
282
|
-
| **codex** | 206 | 116 MB | Codex CLI documentation & examples |
|
|
283
|
-
| **page-agent** | 239 | - | Alibaba GUI agent framework |
|
|
284
|
-
| **awesome-design-md** | 142 | 14 MB | 71 design systems (Airbnb, Apple, BMW, Claude, Coinbase, Cursor, Figma...) |
|
|
285
|
-
| **claude** | 795 | 3 MB | Claude Code prompts & patterns |
|
|
286
|
-
| **agents.md** | 62 | 2 MB | Agent documentation & examples |
|
|
287
|
-
| **karpathy-tools** | 2 | 1.3 MB | Karpathy's coding principles (Think Before Coding, Simplicity First, Surgical Changes, Goal-Driven Execution) |
|
|
288
|
-
| **ecc** | 7,932 | - | Embedded Context Corpus - searchable knowledge base |
|
|
289
|
-
|
|
290
|
-
### Resource Commands
|
|
291
|
-
|
|
292
|
-
```bash
|
|
293
|
-
# Browse karpathy-tools
|
|
294
|
-
/karpathy
|
|
295
|
-
|
|
296
|
-
# Browse codex resources
|
|
297
|
-
/codex
|
|
298
102
|
|
|
299
|
-
|
|
300
|
-
/claude
|
|
103
|
+
### Example: preset provider
|
|
301
104
|
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
105
|
+
```json
|
|
106
|
+
{
|
|
107
|
+
"qwen": {
|
|
108
|
+
"apiKey": "your-dashscope-key"
|
|
109
|
+
},
|
|
110
|
+
"kimi": {
|
|
111
|
+
"apiKey": "your-moonshot-key"
|
|
112
|
+
},
|
|
113
|
+
"minimax": {
|
|
114
|
+
"apiKey": "your-minimax-key"
|
|
115
|
+
}
|
|
116
|
+
}
|
|
311
117
|
```
|
|
312
118
|
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
## Slash Commands
|
|
316
|
-
|
|
317
|
-
### Project & Session
|
|
318
|
-
|
|
319
|
-
| Command | Description |
|
|
320
|
-
|---------|-------------|
|
|
321
|
-
| `/project` | Show/set current project |
|
|
322
|
-
| `/pwd` | Show current directory |
|
|
323
|
-
| `/cd <path>` | Change directory |
|
|
324
|
-
| `/session` | Show current session ID |
|
|
325
|
-
| `/sessions` | List all sessions |
|
|
326
|
-
| `/clear` | Clear screen |
|
|
327
|
-
|
|
328
|
-
### Memory & Plans
|
|
329
|
-
|
|
330
|
-
| Command | Description |
|
|
331
|
-
|---------|-------------|
|
|
332
|
-
| `/remember <text>` | Store in memory |
|
|
333
|
-
| `/memories` | Show stored memories |
|
|
334
|
-
| `/forget [pattern]` | Clear memories |
|
|
335
|
-
| `/compress` | Compress conversation context |
|
|
336
|
-
| `/plan` | Create/view plans |
|
|
337
|
-
| `/plans` | List active plans |
|
|
338
|
-
| `/task <desc>` | Create task |
|
|
339
|
-
| `/tasks` | List tasks |
|
|
340
|
-
|
|
341
|
-
### Git & Automation
|
|
342
|
-
|
|
343
|
-
| Command | Description |
|
|
344
|
-
|---------|-------------|
|
|
345
|
-
| `/commit` | Auto-generate commit message & commit |
|
|
346
|
-
| `/review` | AI code review on current diff |
|
|
347
|
-
| `/diff` | Preview git diff |
|
|
348
|
-
| `/watch <cmd>` | Watch files & run command |
|
|
349
|
-
| `/stats` | Tool usage statistics |
|
|
350
|
-
| `/replay [n]` | Replay tool events |
|
|
351
|
-
| `/swe <task>` | Run SWE-agent workflow |
|
|
352
|
-
| `/auto <task>` | Auto-healing mode (TDD loop) |
|
|
353
|
-
| `/autopilot <task>` | Autonomous analyze/fix/verify workflow |
|
|
354
|
-
| `/autopilot <task> --max-loops <n> --verify "cmd1;cmd2"` | Configure retry loops and explicit verification commands |
|
|
355
|
-
|
|
356
|
-
### Tool Shortcuts
|
|
357
|
-
|
|
358
|
-
| Command | Description |
|
|
359
|
-
|---------|-------------|
|
|
360
|
-
| `/read <file>` | Quick file read |
|
|
361
|
-
| `/write <file>` | Quick file write (via editor) |
|
|
362
|
-
| `/edit <file>` | Quick file edit |
|
|
363
|
-
| `/bash <cmd>` | Quick command execution |
|
|
364
|
-
| `/glob <pattern>` | Quick file search |
|
|
365
|
-
| `/grep <pattern>` | Quick text search |
|
|
366
|
-
| `/image <file>` | Analyze image/screenshot |
|
|
367
|
-
| `/paste` | Paste clipboard content |
|
|
368
|
-
|
|
369
|
-
### Resources & Design
|
|
370
|
-
|
|
371
|
-
| Command | Description |
|
|
372
|
-
|---------|-------------|
|
|
373
|
-
| `/codex` | Browse ~/.codex resources |
|
|
374
|
-
| `/claude` | Browse ~/.claude resources |
|
|
375
|
-
| `/karpathy` | Browse karpathy-tools |
|
|
376
|
-
| `/agents` | Read ~/agents.md |
|
|
377
|
-
| `/resources` | Show bundled resources |
|
|
378
|
-
| `/htmlfx` | Manage html-effectiveness integration (install/list/compile) |
|
|
379
|
-
| `/design search <brand>` | Search design systems |
|
|
380
|
-
| `/design add <brand>` | Add design system |
|
|
381
|
-
| `/design list` | List design systems |
|
|
382
|
-
| `/design preview <brand>` | Preview design system |
|
|
383
|
-
| `/ecc search <query>` | Search Embedded Context Corpus |
|
|
384
|
-
| `/ecc browse <path>` | Browse ECC section |
|
|
385
|
-
| `/skill list` | List skills |
|
|
386
|
-
| `/skill enable <name>` | Enable a skill |
|
|
387
|
-
| `/skill create <name>` | Create a custom skill |
|
|
388
|
-
| `/plugin list` | List plugins |
|
|
389
|
-
| `/plugin install <url>` | Install a plugin |
|
|
390
|
-
|
|
391
|
-
### Provider & Config
|
|
392
|
-
|
|
393
|
-
| Command | Description |
|
|
394
|
-
|---------|-------------|
|
|
395
|
-
| `/provider [name]` | Show/switch provider |
|
|
396
|
-
| `/providers` | List all providers |
|
|
397
|
-
| `/model [id]` | Show/set model |
|
|
398
|
-
| `/models` | List models |
|
|
399
|
-
| `/config` | Show configuration |
|
|
400
|
-
| `/mcp list` | List MCP servers |
|
|
401
|
-
| `/mcp add <name> <cmd>` | Add MCP server |
|
|
402
|
-
| `/mcp remove <name>` | Remove MCP server |
|
|
403
|
-
| `/permissions list` | List permission allowlist |
|
|
404
|
-
| `/permissions allow <kind> <value>` | Allow tool/command/mcp |
|
|
405
|
-
|
|
406
|
-
### Help & Exit
|
|
407
|
-
|
|
408
|
-
| Command | Description |
|
|
409
|
-
|---------|-------------|
|
|
410
|
-
| `/help` or `/?` | Show help |
|
|
411
|
-
| `/exit` or `/quit` | Exit Winter |
|
|
412
|
-
|
|
413
|
-
---
|
|
414
|
-
|
|
415
|
-
## MCP Integration
|
|
416
|
-
|
|
417
|
-
Winter supports the **Model Context Protocol** for connecting to external tools and services.
|
|
418
|
-
|
|
419
|
-
### MCP CLI Commands
|
|
119
|
+
## Key Commands
|
|
420
120
|
|
|
421
|
-
|
|
422
|
-
# List configured MCP servers
|
|
423
|
-
winter mcp list
|
|
424
|
-
|
|
425
|
-
# Add an MCP server
|
|
426
|
-
winter mcp add my-server node ./path/to/server.js
|
|
427
|
-
|
|
428
|
-
# Remove an MCP server
|
|
429
|
-
winter mcp remove my-server
|
|
430
|
-
|
|
431
|
-
# Allow an MCP server (permissions)
|
|
432
|
-
winter mcp allow my-server
|
|
433
|
-
```
|
|
434
|
-
|
|
435
|
-
### MCP Permission Management
|
|
121
|
+
### Provider commands
|
|
436
122
|
|
|
437
123
|
```bash
|
|
438
|
-
|
|
439
|
-
winter
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
winter
|
|
443
|
-
|
|
444
|
-
# Allow a command
|
|
445
|
-
winter permissions allow command git
|
|
446
|
-
|
|
447
|
-
# Allow an MCP server
|
|
448
|
-
winter permissions allow mcp my-server
|
|
449
|
-
|
|
450
|
-
# Toggle prompt-before-execute mode
|
|
451
|
-
winter permissions prompt off
|
|
452
|
-
```
|
|
453
|
-
|
|
454
|
-
### Dynamic Tool Routing
|
|
455
|
-
|
|
456
|
-
Tools with the `mcp__` prefix are automatically routed to the appropriate MCP server:
|
|
457
|
-
|
|
458
|
-
```
|
|
459
|
-
mcp__vscode__openFile -> VS Code extension server
|
|
460
|
-
mcp__github__createPR -> GitHub integration server
|
|
461
|
-
mcp__db__query -> Database server
|
|
124
|
+
winter providers
|
|
125
|
+
winter provider <name>
|
|
126
|
+
winter model <model-id>
|
|
127
|
+
winter models
|
|
128
|
+
winter config
|
|
462
129
|
```
|
|
463
130
|
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
## Session Management
|
|
467
|
-
|
|
468
|
-
Winter provides persistent session management with memory and context.
|
|
131
|
+
### Project workflow
|
|
469
132
|
|
|
470
133
|
```bash
|
|
471
|
-
|
|
472
|
-
winter
|
|
473
|
-
winter
|
|
474
|
-
winter
|
|
475
|
-
|
|
476
|
-
# In REPL
|
|
477
|
-
/session # Show session ID
|
|
478
|
-
/sessions # List all sessions
|
|
479
|
-
/remember <text> # Store in memory
|
|
480
|
-
/memories # Show memories
|
|
481
|
-
/forget [pattern] # Clear memory
|
|
482
|
-
/compress # Compress context
|
|
134
|
+
winter
|
|
135
|
+
winter /context "analyze this refactor"
|
|
136
|
+
winter /doctor full
|
|
137
|
+
winter /scorecard
|
|
483
138
|
```
|
|
484
139
|
|
|
485
|
-
###
|
|
486
|
-
|
|
487
|
-
| Level | Scope | Purpose |
|
|
488
|
-
|-------|-------|---------|
|
|
489
|
-
| **Working Memory** | Current session | Task context, conversation history |
|
|
490
|
-
| **Project Memory** | Project-wide | Project-specific learnings & rules |
|
|
491
|
-
| **Long-term Memory** | Cross-project | Reusable patterns & knowledge |
|
|
492
|
-
|
|
493
|
-
---
|
|
140
|
+
### Useful slash commands
|
|
494
141
|
|
|
495
|
-
|
|
142
|
+
- `/providers` — list configured providers
|
|
143
|
+
- `/provider` — switch provider
|
|
144
|
+
- `/model` — set active model
|
|
145
|
+
- `/context` — inspect model context
|
|
146
|
+
- `/doctor` — diagnose provider/model/tool calls
|
|
147
|
+
- `/design` — browse and apply design systems
|
|
148
|
+
- `/skill` — manage skills
|
|
149
|
+
- `/mcp` — manage MCP servers
|
|
150
|
+
- `/auto` — run test/fix loop
|
|
151
|
+
- `/ensemble` — run providers in parallel
|
|
152
|
+
- `/vote` — compare model outputs
|
|
496
153
|
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
### Built-in Skills
|
|
500
|
-
|
|
501
|
-
| Skill | Description |
|
|
502
|
-
|-------|-------------|
|
|
503
|
-
| `coding` | Code analysis, generation, review |
|
|
504
|
-
| `design` | Design system integration |
|
|
505
|
-
| `debug` | Debugging assistance |
|
|
506
|
-
| `refactor` | Code refactoring |
|
|
507
|
-
| `test` | Test generation |
|
|
508
|
-
| `skill-creator` | Create & modify custom skills |
|
|
154
|
+
## Configuration
|
|
509
155
|
|
|
510
|
-
|
|
156
|
+
Winter reads config from the user profile directory. Typical settings include:
|
|
511
157
|
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
158
|
+
- default provider
|
|
159
|
+
- provider entries
|
|
160
|
+
- permissions
|
|
161
|
+
- session behavior
|
|
162
|
+
- MCP servers
|
|
163
|
+
- sandbox / allowlist options
|
|
516
164
|
|
|
517
|
-
|
|
518
|
-
winter skill list
|
|
165
|
+
### Minimal example
|
|
519
166
|
|
|
520
|
-
|
|
521
|
-
|
|
167
|
+
```json
|
|
168
|
+
{
|
|
169
|
+
"defaultProvider": "custom",
|
|
170
|
+
"custom": {
|
|
171
|
+
"apiFormat": "openai",
|
|
172
|
+
"baseURL": "http://localhost:4000/v1",
|
|
173
|
+
"apiKey": "your-key",
|
|
174
|
+
"model": "gpt-4o-mini"
|
|
175
|
+
}
|
|
176
|
+
}
|
|
522
177
|
```
|
|
523
178
|
|
|
524
|
-
|
|
179
|
+
## Documentation
|
|
525
180
|
|
|
526
|
-
|
|
181
|
+
- [Provider abstraction guide](docs/provider-abstraction.md)
|
|
182
|
+
- [Project architecture](docs/architecture.md)
|
|
183
|
+
- [Slash commands](src/cli/slash-commands.js)
|
|
527
184
|
|
|
528
|
-
|
|
185
|
+
## Development
|
|
529
186
|
|
|
530
187
|
```bash
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
winter plugin remove <name> # Remove plugin
|
|
188
|
+
npm install
|
|
189
|
+
npm test
|
|
534
190
|
```
|
|
535
191
|
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
## Embedded Context Corpus (ECC)
|
|
539
|
-
|
|
540
|
-
Winter includes a **searchable knowledge base** with 7,932 embedded documents covering:
|
|
541
|
-
|
|
542
|
-
- Error handling patterns
|
|
543
|
-
- Testing strategies
|
|
544
|
-
- Security best practices
|
|
545
|
-
- Performance optimization
|
|
546
|
-
- And more...
|
|
547
|
-
|
|
548
|
-
### ECC Commands
|
|
192
|
+
### Useful scripts
|
|
549
193
|
|
|
550
194
|
```bash
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
# Browse sections
|
|
556
|
-
winter ecc browse skills
|
|
557
|
-
winter ecc browse skills/error-handling
|
|
558
|
-
winter ecc browse testing/patterns
|
|
559
|
-
```
|
|
560
|
-
|
|
561
|
-
---
|
|
562
|
-
|
|
563
|
-
## Architecture
|
|
564
|
-
|
|
195
|
+
npm run test
|
|
196
|
+
npm run prepublish:gate
|
|
197
|
+
npm run pack:audit
|
|
198
|
+
npm run smoke:package
|
|
565
199
|
```
|
|
566
|
-
winter/
|
|
567
|
-
|- bin/
|
|
568
|
-
| - winter.js # Entry point
|
|
569
|
-
|- src/
|
|
570
|
-
| |- agent/
|
|
571
|
-
| | - swe-agent.js # SWE-agent integration
|
|
572
|
-
| | - runtime.js # Agent runtime
|
|
573
|
-
| | - agent-definitions.js
|
|
574
|
-
| |- ai/
|
|
575
|
-
| | - providers.js # AI provider management + streaming
|
|
576
|
-
| | - orchestrator.js # AI orchestration
|
|
577
|
-
| | - reasoning.js # Reasoning patterns
|
|
578
|
-
| | - small-model-amplifier.js
|
|
579
|
-
| | - workflow-selector.js
|
|
580
|
-
| |- cache/
|
|
581
|
-
| | - system.js # Caching layer
|
|
582
|
-
| | - embeddings.js # Embedding cache
|
|
583
|
-
| |- cli/
|
|
584
|
-
| | - commands.js # CLI command parser (50+ commands)
|
|
585
|
-
| | - config.js # Config loader + secret management
|
|
586
|
-
| | - conversation-format.js
|
|
587
|
-
| | - markdown-format.js
|
|
588
|
-
| | - prompt-builder.js
|
|
589
|
-
| | - repl-commands.js
|
|
590
|
-
| | - repl.js # Interactive REPL loop
|
|
591
|
-
| | - secret-env.js # Env file loader + redaction
|
|
592
|
-
| | - slash-commands.js
|
|
593
|
-
| | - snowflake-logo.js # Cyberpunk UI branding
|
|
594
|
-
| | - spinner.js
|
|
595
|
-
| | - terminal-ui.js
|
|
596
|
-
| | - context-loader.js # Resource loading
|
|
597
|
-
| | - ecc.js # Embedded Context Corpus
|
|
598
|
-
| | - codebase-index/ # Fast semantic search
|
|
599
|
-
| |- context/
|
|
600
|
-
| | - compress.js # Conversation compression
|
|
601
|
-
| | - router.js # Smart provider routing
|
|
602
|
-
| | - resource-loader.js
|
|
603
|
-
| |- design/
|
|
604
|
-
| | - commands.js # Design system commands
|
|
605
|
-
| |- mcp/
|
|
606
|
-
| | - client.js # MCP client
|
|
607
|
-
| | - protocol.js # MCP protocol implementation
|
|
608
|
-
| |- plugins/
|
|
609
|
-
| | - manager.js # Plugin manager
|
|
610
|
-
| |- session/
|
|
611
|
-
| | - manager.js # Session manager
|
|
612
|
-
| |- skills/
|
|
613
|
-
| | - manager.js # Skills manager
|
|
614
|
-
| - tools/
|
|
615
|
-
| - executor.js # Tool executor (25 tools)
|
|
616
|
-
| - notebook.js # Jupyter notebook tools
|
|
617
|
-
| - todo.js # Todo tools
|
|
618
|
-
| - scheduler.js # Schedule wakeup tool
|
|
619
|
-
| - interactive.js # Ask user tool
|
|
620
|
-
| - agent.js # Sub-agent tool
|
|
621
|
-
| - insert-text.js # Insert text tool
|
|
622
|
-
| - str-replace-all.js # Batch replace tool
|
|
623
|
-
| - web-archive.js # Web archive tool
|
|
624
|
-
| - permission.js # Permission manager
|
|
625
|
-
|- resources/local/
|
|
626
|
-
| |- codex/ # Codex CLI resources (206 files)
|
|
627
|
-
| |- page-agent/ # GUI automation (239 files)
|
|
628
|
-
| |- awesome-design-md/ # Design systems (142 files)
|
|
629
|
-
| |- claude/ # Claude patterns (795 files)
|
|
630
|
-
| |- agents.md/ # Agent docs (62 files)
|
|
631
|
-
| |- karpathy-tools/ # Coding principles (2 files)
|
|
632
|
-
| |- ecc/ # Embedded Context Corpus (7,932 files)
|
|
633
|
-
|- README.md
|
|
634
|
-
|- WINTER.md # Project rules for AI
|
|
635
|
-
|- package.json
|
|
636
|
-
```
|
|
637
|
-
|
|
638
|
-
---
|
|
639
|
-
|
|
640
|
-
## Core Philosophy
|
|
641
|
-
|
|
642
|
-
Winter operates on **four core principles**:
|
|
643
|
-
|
|
644
|
-
### 1. Think Before Coding
|
|
645
|
-
*Nghi trước khi code*
|
|
646
|
-
|
|
647
|
-
- State assumptions explicitly. If uncertain, ask.
|
|
648
|
-
- Surface tradeoffs and alternatives -- don't pick silently.
|
|
649
|
-
- If a simpler approach exists, say so. Push back when warranted.
|
|
650
|
-
|
|
651
|
-
### 2. Simplicity First
|
|
652
|
-
*Đơn giản là trên hết*
|
|
653
|
-
|
|
654
|
-
- Minimum code that solves the problem. Nothing speculative.
|
|
655
|
-
- No features beyond what was asked.
|
|
656
|
-
- No abstractions for single-use code.
|
|
657
|
-
- No error handling for impossible scenarios.
|
|
658
200
|
|
|
659
|
-
|
|
660
|
-
*Sửa đổi chính xác*
|
|
201
|
+
## Repository Structure
|
|
661
202
|
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
-
|
|
672
|
-
-
|
|
673
|
-
|
|
674
|
-
> *These principles are integrated from [Karpathy Tools](resources/local/karpathy-tools/CLAUDE.md) and applied throughout Winter's operation.*
|
|
675
|
-
|
|
676
|
-
---
|
|
677
|
-
|
|
678
|
-
## Streaming & Real-time
|
|
679
|
-
|
|
680
|
-
Winter supports **real-time SSE streaming** for instant response display:
|
|
681
|
-
|
|
682
|
-
```
|
|
683
|
-
User input -> REPL -> collectAssistantStream()
|
|
684
|
-
-> providers.streamRequest() -> streamRequestToProvider()
|
|
685
|
-
-> Fetch POST /chat/completions (stream: true)
|
|
686
|
-
-> Parse SSE data: events
|
|
687
|
-
-> Each chunk.content -> process.stdout.write immediately
|
|
688
|
-
-> Fallback to sendRequest() if stream fails
|
|
203
|
+
```text
|
|
204
|
+
src/
|
|
205
|
+
ai/ provider manager, adapters, prompts, reasoning
|
|
206
|
+
cli/ REPL, slash commands, session UI
|
|
207
|
+
context/ routing, resource loading, compression
|
|
208
|
+
tools/ file, shell, browser, agent, and utility tools
|
|
209
|
+
resources/local/
|
|
210
|
+
design-md/ local design system corpus
|
|
211
|
+
agents.md/ agent workflow docs
|
|
212
|
+
karpathy-tools/
|
|
213
|
+
page-agent/
|
|
689
214
|
```
|
|
690
215
|
|
|
691
|
-
---
|
|
692
|
-
|
|
693
|
-
## Cross-Platform Support
|
|
694
|
-
|
|
695
|
-
| Platform | Shell Support | Status |
|
|
696
|
-
|----------|----------------|--------|
|
|
697
|
-
| **Windows** | cmd, PowerShell, Git Bash | Full support |
|
|
698
|
-
| **macOS** | zsh, bash | Full support |
|
|
699
|
-
| **Linux** | bash, sh, zsh | Full support |
|
|
700
|
-
|
|
701
|
-
Winter auto-detects your platform and shell:
|
|
702
|
-
- On Windows: uses `cmd` or `powershell` as appropriate
|
|
703
|
-
- On macOS/Linux: uses native POSIX shell
|
|
704
|
-
|
|
705
|
-
---
|
|
706
|
-
|
|
707
216
|
## License
|
|
708
217
|
|
|
709
|
-
MIT
|
|
710
|
-
|
|
711
|
-
---
|
|
218
|
+
MIT
|
|
712
219
|
|
|
713
220
|
## Author
|
|
714
221
|
|
|
715
|
-
**Atus**
|
|
716
|
-
|
|
717
|
-
---
|
|
718
|
-
|
|
719
|
-
*Built with care -- Winter is the AI assistant that never sleeps.*
|
|
222
|
+
**Atus** — [github.com/anhtu1707](https://github.com/anhtu1707) - **Atus** — [facebook.com/iam.anhtu](https://facebook.com/iam.anhtu)
|