miii-cli 0.1.0 → 0.1.2
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/.claude/settings.local.json +2 -1
- package/LICENSE +21 -0
- package/README.md +87 -80
- package/package.json +10 -6
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 maruakshay
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,120 +1,122 @@
|
|
|
1
|
-
# miii
|
|
1
|
+
# miii-cli
|
|
2
|
+
|
|
3
|
+
> Local AI coding assistant for your terminal. No cloud. No API keys. No latency.
|
|
2
4
|
|
|
3
5
|
```
|
|
4
|
-
|
|
5
|
-
│ Claude Code-level
|
|
6
|
-
|
|
6
|
+
╭─────────────────────────────────────────────────────────╮
|
|
7
|
+
│ miii — Claude Code-level workflows, local models only │
|
|
8
|
+
╰─────────────────────────────────────────────────────────╯
|
|
7
9
|
```
|
|
8
10
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
+
[](https://www.npmjs.com/package/miii-cli)
|
|
12
|
+
[](LICENSE)
|
|
13
|
+
[](https://nodejs.org)
|
|
11
14
|
|
|
12
15
|
---
|
|
13
16
|
|
|
14
|
-
##
|
|
15
|
-
|
|
16
|
-
```bash
|
|
17
|
-
npm install -g miii-cli
|
|
18
|
-
```
|
|
17
|
+
## What is miii?
|
|
19
18
|
|
|
20
|
-
|
|
19
|
+
`miii` is a terminal-native AI coding assistant powered by local models via [Ollama](https://ollama.com) or any OpenAI-compatible API (LM Studio, vLLM, Groq, Together, etc.).
|
|
21
20
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
npm link
|
|
28
|
-
```
|
|
21
|
+
- **Runs 100% locally** — your code never leaves your machine
|
|
22
|
+
- **File-aware** — type `@filename` to inject any file into context instantly
|
|
23
|
+
- **Tool-enabled** — reads, writes, edits, and runs shell commands autonomously
|
|
24
|
+
- **Session memory** — conversations persist across launches
|
|
25
|
+
- **Extensible** — add custom slash commands via Markdown or TypeScript skill files
|
|
29
26
|
|
|
30
27
|
---
|
|
31
28
|
|
|
32
|
-
##
|
|
29
|
+
## Install
|
|
33
30
|
|
|
34
31
|
```bash
|
|
35
|
-
|
|
36
|
-
miii --model codellama # use a specific model
|
|
37
|
-
miii --session myproject # start in a named session
|
|
38
|
-
miii -s work -m llama3.2 # short flags
|
|
32
|
+
npm install -g miii-cli
|
|
39
33
|
```
|
|
40
34
|
|
|
41
|
-
|
|
35
|
+
**Requirements:** Node.js 18+ and [Ollama](https://ollama.com) (or any OpenAI-compatible API)
|
|
42
36
|
|
|
43
37
|
---
|
|
44
38
|
|
|
45
|
-
##
|
|
39
|
+
## Quick start
|
|
46
40
|
|
|
47
|
-
|
|
41
|
+
```bash
|
|
42
|
+
# Make sure Ollama is running
|
|
43
|
+
ollama serve
|
|
48
44
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
| `/session <name>` | Switch to (or create) a named session |
|
|
55
|
-
| `/list` | List all loaded skills |
|
|
56
|
-
| `/exit` | Exit miii |
|
|
45
|
+
# Start miii
|
|
46
|
+
miii
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
On launch, miii opens a model picker. Select a model and start coding.
|
|
57
50
|
|
|
58
|
-
|
|
51
|
+
```bash
|
|
52
|
+
miii # default session
|
|
53
|
+
miii --model codellama # specific model
|
|
54
|
+
miii --session myproject # named session
|
|
55
|
+
miii -s work -m llama3.2 # short flags
|
|
56
|
+
```
|
|
59
57
|
|
|
60
58
|
---
|
|
61
59
|
|
|
62
60
|
## File context with `@`
|
|
63
61
|
|
|
64
|
-
Type `@` anywhere in your message to fuzzy-
|
|
62
|
+
Type `@` anywhere in your message to fuzzy-search and inject project files into the model's context:
|
|
65
63
|
|
|
66
64
|
```
|
|
67
65
|
❯ review the auth logic in @src/auth/middleware.ts
|
|
66
|
+
❯ refactor @src/utils/parser.ts to handle edge cases
|
|
68
67
|
```
|
|
69
68
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
Filtered automatically: `node_modules`, `dist`, `.git`, lock files, binaries, images.
|
|
69
|
+
Automatically excluded: `node_modules`, `dist`, `.git`, lock files, binaries, images.
|
|
73
70
|
|
|
74
71
|
---
|
|
75
72
|
|
|
76
|
-
##
|
|
77
|
-
|
|
78
|
-
Every conversation is saved. Sessions persist between launches.
|
|
79
|
-
|
|
80
|
-
```bash
|
|
81
|
-
miii # continues "default" session
|
|
82
|
-
miii --session feature-auth # continues or creates "feature-auth"
|
|
83
|
-
```
|
|
73
|
+
## Built-in commands
|
|
84
74
|
|
|
85
|
-
|
|
75
|
+
Type `/` to open the command palette.
|
|
86
76
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
77
|
+
| Command | Description |
|
|
78
|
+
|---|---|
|
|
79
|
+
| `/models` | Switch or pull Ollama models |
|
|
80
|
+
| `/session <name>` | Switch to or create a named session |
|
|
81
|
+
| `/sessions` | List all sessions with message counts |
|
|
82
|
+
| `/clear` | Clear current session history |
|
|
83
|
+
| `/list` | Show loaded skills |
|
|
84
|
+
| `/exit` | Exit miii |
|
|
94
85
|
|
|
95
86
|
---
|
|
96
87
|
|
|
97
|
-
##
|
|
88
|
+
## Built-in tools
|
|
98
89
|
|
|
99
|
-
|
|
90
|
+
The model can call these tools automatically — no setup needed.
|
|
100
91
|
|
|
101
|
-
| Tool |
|
|
92
|
+
| Tool | Description |
|
|
102
93
|
|---|---|
|
|
103
94
|
| `read_file` | Read any file |
|
|
104
95
|
| `list_files` | List directory contents |
|
|
105
96
|
| `edit_file` | Create or overwrite a file |
|
|
106
97
|
| `delete_file` | Delete a file |
|
|
107
|
-
| `run_command` | Run a shell command in
|
|
98
|
+
| `run_command` | Run a shell command in the current directory |
|
|
108
99
|
|
|
109
|
-
|
|
100
|
+
Tool calls chain up to 6 hops deep — the model reads, edits, runs, and verifies on its own.
|
|
110
101
|
|
|
111
102
|
---
|
|
112
103
|
|
|
113
|
-
##
|
|
104
|
+
## Sessions
|
|
105
|
+
|
|
106
|
+
Every conversation is saved and resumed automatically.
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
miii # resumes "default" session
|
|
110
|
+
miii --session feature-auth # resumes or creates "feature-auth"
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Sessions stored at `~/.config/miii/sessions/`.
|
|
114
114
|
|
|
115
|
-
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## Skills
|
|
116
118
|
|
|
117
|
-
Create `~/.config/miii/skills
|
|
119
|
+
Skills are custom `/` commands. Create a Markdown file in `~/.config/miii/skills/`:
|
|
118
120
|
|
|
119
121
|
```markdown
|
|
120
122
|
---
|
|
@@ -126,7 +128,7 @@ Review the code I'm about to share. Look for bugs, edge cases, and improvements.
|
|
|
126
128
|
Be direct and specific. No markdown.
|
|
127
129
|
```
|
|
128
130
|
|
|
129
|
-
|
|
131
|
+
Use it:
|
|
130
132
|
|
|
131
133
|
```
|
|
132
134
|
/review
|
|
@@ -138,10 +140,11 @@ Skills can also be TypeScript files with an `execute` function for programmatic
|
|
|
138
140
|
|
|
139
141
|
## Configuration
|
|
140
142
|
|
|
141
|
-
|
|
143
|
+
Config is loaded from (in order):
|
|
142
144
|
1. `.miii.json` in the current directory
|
|
143
145
|
2. `~/.config/miii/config.json`
|
|
144
146
|
|
|
147
|
+
**Ollama (default):**
|
|
145
148
|
```json
|
|
146
149
|
{
|
|
147
150
|
"model": "llama3.2",
|
|
@@ -150,8 +153,7 @@ miii looks for config in:
|
|
|
150
153
|
}
|
|
151
154
|
```
|
|
152
155
|
|
|
153
|
-
|
|
154
|
-
|
|
156
|
+
**OpenAI-compatible API:**
|
|
155
157
|
```json
|
|
156
158
|
{
|
|
157
159
|
"model": "gpt-4o",
|
|
@@ -160,14 +162,7 @@ For OpenAI-compatible APIs:
|
|
|
160
162
|
}
|
|
161
163
|
```
|
|
162
164
|
|
|
163
|
-
Works with
|
|
164
|
-
|
|
165
|
-
---
|
|
166
|
-
|
|
167
|
-
## Requirements
|
|
168
|
-
|
|
169
|
-
- Node.js 18+
|
|
170
|
-
- [Ollama](https://ollama.com) (or any OpenAI-compatible API)
|
|
165
|
+
Works with LM Studio, vLLM, Groq, Together, and any other OpenAI-compatible server.
|
|
171
166
|
|
|
172
167
|
---
|
|
173
168
|
|
|
@@ -176,7 +171,19 @@ Works with any OpenAI-compatible server: LM Studio, vLLM, Groq, Together, etc.
|
|
|
176
171
|
| Key | Action |
|
|
177
172
|
|---|---|
|
|
178
173
|
| `enter` | Send message |
|
|
179
|
-
| `ctrl+c` | Abort streaming |
|
|
180
|
-
| `ctrl+c` x2 | Exit |
|
|
181
|
-
| `esc` | Close overlay
|
|
182
|
-
| `↑ ↓` | Navigate command palette or file picker |
|
|
174
|
+
| `ctrl+c` | Abort streaming response |
|
|
175
|
+
| `ctrl+c` x2 | Exit miii |
|
|
176
|
+
| `esc` | Close overlay or abort |
|
|
177
|
+
| `↑ / ↓` | Navigate command palette or file picker |
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## Source
|
|
182
|
+
|
|
183
|
+
```bash
|
|
184
|
+
git clone https://github.com/maruakshay/miii-cli
|
|
185
|
+
cd miii-cli
|
|
186
|
+
npm install
|
|
187
|
+
npm run build
|
|
188
|
+
npm link
|
|
189
|
+
```
|
package/package.json
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "miii-cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"type": "module",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"engines": {
|
|
7
|
+
"node": ">=18"
|
|
8
|
+
},
|
|
5
9
|
"bin": {
|
|
6
10
|
"miii": "dist/index.js"
|
|
7
11
|
},
|
|
@@ -12,17 +16,17 @@
|
|
|
12
16
|
"link": "npm run build && npm link"
|
|
13
17
|
},
|
|
14
18
|
"dependencies": {
|
|
15
|
-
"ink": "^5.2.0",
|
|
16
|
-
"react": "^18.3.1",
|
|
17
19
|
"diff": "^7.0.0",
|
|
18
20
|
"glob": "^11.0.1",
|
|
19
|
-
"
|
|
21
|
+
"ink": "^5.2.0",
|
|
22
|
+
"minimist": "^1.2.8",
|
|
23
|
+
"react": "^18.3.1"
|
|
20
24
|
},
|
|
21
25
|
"devDependencies": {
|
|
22
|
-
"@types/node": "^22.10.0",
|
|
23
|
-
"@types/react": "^18.3.1",
|
|
24
26
|
"@types/diff": "^7.0.0",
|
|
25
27
|
"@types/minimist": "^1.2.5",
|
|
28
|
+
"@types/node": "^22.10.0",
|
|
29
|
+
"@types/react": "^18.3.1",
|
|
26
30
|
"tsx": "^4.19.1",
|
|
27
31
|
"typescript": "^5.7.3"
|
|
28
32
|
}
|