@levelcode/cli 0.0.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 +124 -0
- package/package.json +91 -0
package/README.md
ADDED
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
# @levelcode/cli
|
|
2
|
+
|
|
3
|
+
The official CLI for **LevelCode** - an open-source AI coding agent that outperforms Claude Code.
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/@levelcode/cli)
|
|
6
|
+
[](https://github.com/yethikrishna/levelcode/blob/master/LICENSE)
|
|
7
|
+
|
|
8
|
+
## Features
|
|
9
|
+
|
|
10
|
+
- **Multi-Agent Architecture**: Specialized agents work together for precise codebase editing
|
|
11
|
+
- **200+ Model Support**: Use any model via OpenRouter (Claude, GPT, DeepSeek, Qwen, etc.)
|
|
12
|
+
- **Terminal-First**: Beautiful, responsive UI with real-time streaming
|
|
13
|
+
- **Custom Workflows**: Create specialized agents with TypeScript
|
|
14
|
+
|
|
15
|
+
## Installation
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
# Using npm
|
|
19
|
+
npm install -g @levelcode/cli
|
|
20
|
+
|
|
21
|
+
# Using bun (recommended)
|
|
22
|
+
bun install -g @levelcode/cli
|
|
23
|
+
|
|
24
|
+
# Using yarn
|
|
25
|
+
yarn global add @levelcode/cli
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Quick Start
|
|
29
|
+
|
|
30
|
+
1. **Set your API key:**
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
export OPENROUTER_API_KEY="sk-or-v1-..."
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Get your key from [OpenRouter](https://openrouter.ai/keys).
|
|
37
|
+
|
|
38
|
+
2. **Run LevelCode:**
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
cd your-project
|
|
42
|
+
levelcode
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
3. **Start coding with AI:**
|
|
46
|
+
|
|
47
|
+
Just tell LevelCode what you want:
|
|
48
|
+
- "Fix the SQL injection vulnerability"
|
|
49
|
+
- "Add rate limiting to all API endpoints"
|
|
50
|
+
- "Refactor the database connection code"
|
|
51
|
+
- "Add unit tests for the auth module"
|
|
52
|
+
|
|
53
|
+
## CLI Options
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
# Use a specific model
|
|
57
|
+
levelcode --model anthropic/claude-3.5-sonnet
|
|
58
|
+
|
|
59
|
+
# Set working directory
|
|
60
|
+
levelcode --cwd /path/to/project
|
|
61
|
+
|
|
62
|
+
# Non-interactive mode
|
|
63
|
+
levelcode "Add error handling to all API calls"
|
|
64
|
+
|
|
65
|
+
# Show help
|
|
66
|
+
levelcode --help
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Configuration
|
|
70
|
+
|
|
71
|
+
Create a `levelcode.config.ts` in your project:
|
|
72
|
+
|
|
73
|
+
```typescript
|
|
74
|
+
export default {
|
|
75
|
+
model: 'anthropic/claude-3.5-sonnet',
|
|
76
|
+
ignore: ['node_modules/**', 'dist/**'],
|
|
77
|
+
};
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Development
|
|
81
|
+
|
|
82
|
+
### Running in Development Mode
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
bun run dev
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Testing
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
bun test
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Interactive E2E Testing
|
|
95
|
+
|
|
96
|
+
For testing interactive CLI features, install tmux:
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
# macOS
|
|
100
|
+
brew install tmux
|
|
101
|
+
|
|
102
|
+
# Ubuntu/Debian
|
|
103
|
+
sudo apt-get install tmux
|
|
104
|
+
|
|
105
|
+
# Windows (via WSL)
|
|
106
|
+
wsl --install && sudo apt-get install tmux
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
Run the proof-of-concept:
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
bun run test:tmux-poc
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## Documentation
|
|
116
|
+
|
|
117
|
+
- [Full Documentation](https://github.com/yethikrishna/levelcode#readme)
|
|
118
|
+
- [SDK Reference](https://github.com/yethikrishna/levelcode/tree/master/sdk)
|
|
119
|
+
- [Custom Agents Guide](https://github.com/yethikrishna/levelcode/blob/master/docs/custom-agents.md)
|
|
120
|
+
- [Configuration Options](https://github.com/yethikrishna/levelcode/blob/master/docs/configuration.md)
|
|
121
|
+
|
|
122
|
+
## License
|
|
123
|
+
|
|
124
|
+
Apache-2.0 - Created by [Yethikrishna R](https://github.com/yethikrishna)
|
package/package.json
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@levelcode/cli",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "LevelCode CLI - Terminal-based AI coding agent that outperforms Claude Code",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Yethikrishna R",
|
|
7
|
+
"email": "yethikrishnarcvn7a@gmail.com"
|
|
8
|
+
},
|
|
9
|
+
"license": "Apache-2.0",
|
|
10
|
+
"repository": {
|
|
11
|
+
"type": "git",
|
|
12
|
+
"url": "git+https://github.com/yethikrishna/levelcode.git",
|
|
13
|
+
"directory": "cli"
|
|
14
|
+
},
|
|
15
|
+
"bugs": {
|
|
16
|
+
"url": "https://github.com/yethikrishna/levelcode/issues"
|
|
17
|
+
},
|
|
18
|
+
"homepage": "https://github.com/yethikrishna/levelcode/tree/master/cli",
|
|
19
|
+
"keywords": [
|
|
20
|
+
"levelcode",
|
|
21
|
+
"ai",
|
|
22
|
+
"coding-agent",
|
|
23
|
+
"cli",
|
|
24
|
+
"terminal",
|
|
25
|
+
"llm",
|
|
26
|
+
"openrouter"
|
|
27
|
+
],
|
|
28
|
+
"private": false,
|
|
29
|
+
"type": "module",
|
|
30
|
+
"bin": {
|
|
31
|
+
"levelcode": "./dist/cli.js",
|
|
32
|
+
"levelcode-tui": "./bin/codecane"
|
|
33
|
+
},
|
|
34
|
+
"files": [
|
|
35
|
+
"dist",
|
|
36
|
+
"bin",
|
|
37
|
+
"README.md"
|
|
38
|
+
],
|
|
39
|
+
"exports": {
|
|
40
|
+
".": {
|
|
41
|
+
"bun": "./src/index.tsx",
|
|
42
|
+
"import": "./dist/index.js",
|
|
43
|
+
"types": "./dist/index.d.ts",
|
|
44
|
+
"default": "./dist/index.js"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"scripts": {
|
|
48
|
+
"dev": "bun run prebuild:agents && bun run src/index.tsx --cwd ..",
|
|
49
|
+
"prebuild:agents": "bun run scripts/prebuild-agents.ts",
|
|
50
|
+
"build:binary": "bun ./scripts/build-binary.ts levelcode $npm_package_version",
|
|
51
|
+
"release": "bun run scripts/release.ts",
|
|
52
|
+
"test": "NODE_ENV=production bun test",
|
|
53
|
+
"test:tmux-poc": "bun run src/__tests__/tmux-poc.ts",
|
|
54
|
+
"typecheck": "tsc --noEmit -p ."
|
|
55
|
+
},
|
|
56
|
+
"sideEffects": false,
|
|
57
|
+
"engines": {
|
|
58
|
+
"bun": "^1.3.5"
|
|
59
|
+
},
|
|
60
|
+
"dependencies": {
|
|
61
|
+
"@levelcode/sdk": "workspace:*",
|
|
62
|
+
"@gravity-ai/api": "^0.1.2",
|
|
63
|
+
"@opentui/core": "0.1.74",
|
|
64
|
+
"@opentui/react": "0.1.74",
|
|
65
|
+
"@tanstack/react-query": "^5.90.12",
|
|
66
|
+
"commander": "^14.0.1",
|
|
67
|
+
"immer": "^10.1.3",
|
|
68
|
+
"jimp": "^1.6.0",
|
|
69
|
+
"open": "^10.1.0",
|
|
70
|
+
"pino": "9.4.0",
|
|
71
|
+
"posthog-node": "^5.8.0",
|
|
72
|
+
"react": "^19.0.0",
|
|
73
|
+
"react-reconciler": "^0.32.0",
|
|
74
|
+
"remark-breaks": "^4.0.0",
|
|
75
|
+
"remark-gfm": "^4.0.1",
|
|
76
|
+
"remark-parse": "^11.0.0",
|
|
77
|
+
"string-width": "^7.2.0",
|
|
78
|
+
"terminal-image": "^4.1.0",
|
|
79
|
+
"ts-pattern": "^5.9.0",
|
|
80
|
+
"unified": "^11.0.0",
|
|
81
|
+
"yoga-layout": "^3.2.1",
|
|
82
|
+
"zod": "^4.2.1",
|
|
83
|
+
"zustand": "^5.0.8"
|
|
84
|
+
},
|
|
85
|
+
"devDependencies": {
|
|
86
|
+
"@types/react": "^18.3.12",
|
|
87
|
+
"@types/react-reconciler": "^0.32.0",
|
|
88
|
+
"react-dom": "^19.0.0",
|
|
89
|
+
"strip-ansi": "^7.1.2"
|
|
90
|
+
}
|
|
91
|
+
}
|