nimi-code 0.0.0-stage → 1.0.0
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/LICENSE +15 -0
- package/bin/nimi.js +2 -0
- package/dist/main.js +2081 -0
- package/package.json +63 -4
- package/readme.md +77 -0
- package/README.md +0 -3
package/package.json
CHANGED
|
@@ -1,6 +1,65 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nimi-code",
|
|
3
|
-
"version": "
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Minimal coding agent: a language model with controlled access to your files, shell, and git.",
|
|
5
|
+
"license": "ISC",
|
|
6
|
+
"author": "",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/Harsh16gupta/nimi.git"
|
|
10
|
+
},
|
|
11
|
+
"keywords": [
|
|
12
|
+
"ai",
|
|
13
|
+
"agent",
|
|
14
|
+
"coding-agent",
|
|
15
|
+
"cli",
|
|
16
|
+
"anthropic",
|
|
17
|
+
"openai"
|
|
18
|
+
],
|
|
19
|
+
"homepage": "https://github.com/Harsh16gupta/nimi#readme",
|
|
20
|
+
"bugs": {
|
|
21
|
+
"url": "https://github.com/Harsh16gupta/nimi/issues"
|
|
22
|
+
},
|
|
23
|
+
"publishConfig": {
|
|
24
|
+
"access": "public"
|
|
25
|
+
},
|
|
26
|
+
"engines": {
|
|
27
|
+
"node": ">=22"
|
|
28
|
+
},
|
|
29
|
+
"files": [
|
|
30
|
+
"bin/",
|
|
31
|
+
"dist/",
|
|
32
|
+
"readme.md",
|
|
33
|
+
"LICENSE"
|
|
34
|
+
],
|
|
35
|
+
"scripts": {
|
|
36
|
+
"build": "tsup",
|
|
37
|
+
"prepublishOnly": "npm run build",
|
|
38
|
+
"check": "biome lint src && npx tsc --noEmit",
|
|
39
|
+
"test:tools": "vitest run test/tools.test.ts",
|
|
40
|
+
"test": "vitest run"
|
|
41
|
+
},
|
|
42
|
+
"type": "module",
|
|
43
|
+
"dependencies": {
|
|
44
|
+
"@anthropic-ai/sdk": "^0.131.0",
|
|
45
|
+
"dotenv": "^18.0.5",
|
|
46
|
+
"ink": "^8.0.0",
|
|
47
|
+
"ink-spinner": "^5.0.0",
|
|
48
|
+
"ink-text-input": "^6.0.0",
|
|
49
|
+
"openai": "^7.25.0",
|
|
50
|
+
"react": "^19.3.1"
|
|
51
|
+
},
|
|
52
|
+
"devDependencies": {
|
|
53
|
+
"@biomejs/biome": "^2.6.6",
|
|
54
|
+
"@types/node": "^26.6.3",
|
|
55
|
+
"@types/react": "^19.3.0",
|
|
56
|
+
"tsup": "^9.0.0",
|
|
57
|
+
"tsx": "^4.23.15",
|
|
58
|
+
"typescript": "^7.0.2",
|
|
59
|
+
"vitest": "^5.1.0"
|
|
60
|
+
},
|
|
61
|
+
"bin": {
|
|
62
|
+
"nimi": "./bin/nimi.js"
|
|
63
|
+
},
|
|
64
|
+
"packageManager": "npm@11.20.0"
|
|
65
|
+
}
|
package/readme.md
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# nimi — minimal coding agent
|
|
2
|
+
|
|
3
|
+
A lightweight terminal agent: a language model with controlled access to your
|
|
4
|
+
files, shell, and git, running a read-act loop until the task is done.
|
|
5
|
+
|
|
6
|
+
```
|
|
7
|
+
nimi "list the typescript files under src"
|
|
8
|
+
echo "explain the agent loop" | nimi -p
|
|
9
|
+
nimi --classic "refactor src/tools/grep.ts"
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## Quickstart
|
|
13
|
+
|
|
14
|
+
Requires Node 22+ and one provider key.
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
npm install -g nimi
|
|
18
|
+
export META_API_KEY=... # or ANTHROPIC_API_KEY, OPENAI_API_KEY, ...
|
|
19
|
+
nimi "hello"
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
From source:
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
npm install
|
|
26
|
+
cp .env.example .env # add your key(s)
|
|
27
|
+
npm run build
|
|
28
|
+
node bin/nimi.js "hello"
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
```env
|
|
32
|
+
ANTHROPIC_API_KEY=...
|
|
33
|
+
GROQ_API_KEY=...
|
|
34
|
+
META_API_KEY=...
|
|
35
|
+
DEEPSEEK_API_KEY=...
|
|
36
|
+
OPENAI_API_KEY=...
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Usage
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
nimi [message] Interactive TUI (default)
|
|
43
|
+
nimi --classic [message] Plain readline REPL (no Ink needed)
|
|
44
|
+
nimi --print [message] One-shot: stream the answer to stdout
|
|
45
|
+
echo ... | nimi -p Read the prompt from a pipe
|
|
46
|
+
|
|
47
|
+
Options
|
|
48
|
+
-p, --prompt <text> Prompt to send
|
|
49
|
+
-z, --provider <id> anthropic, groq, meta, deepseek, openai, anthropic-openai
|
|
50
|
+
--model <id> Model id (registry in src/providers/models.ts)
|
|
51
|
+
--session <id> Resume a saved session (--list-sessions to list)
|
|
52
|
+
--context-limit <n> Override the model's context window
|
|
53
|
+
--classic --print --yolo REPL / one-shot / skip permission prompts
|
|
54
|
+
-v, --version -h, --help
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
TUI slash: `/model /tools /sessions /session /compact /context /clear /help /quit`.
|
|
58
|
+
|
|
59
|
+
## Tools (15)
|
|
60
|
+
|
|
61
|
+
Read-only (never prompt): `read ls find grep git_status git_log git_diff`.
|
|
62
|
+
Ask `y/a/always/n` (or `--yolo`): `write edit bash` + `git_add git_commit
|
|
63
|
+
git_branch git_checkout git_reset`. Output capped at 20000 chars, 30s timeouts.
|
|
64
|
+
|
|
65
|
+
## Config
|
|
66
|
+
|
|
67
|
+
`~/.nimi/settings.json` < `.nimi/settings.json` < `NIMI_PROVIDER`/`NIMI_MODEL`
|
|
68
|
+
< CLI flags. Sessions live in `.nimi/sessions/<id>.jsonl` (gitignored).
|
|
69
|
+
|
|
70
|
+
## Development
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
npm run check # biome lint + tsc --noEmit (0 errors)
|
|
74
|
+
npm run test:tools # offline tool suite, no keys (7 tests)
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Context auto-compacts at 75% of the window (`/compact` for manual).
|
package/README.md
DELETED