@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.
Files changed (2) hide show
  1. package/README.md +124 -0
  2. 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
+ [![npm version](https://img.shields.io/npm/v/@levelcode/cli.svg)](https://www.npmjs.com/package/@levelcode/cli)
6
+ [![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](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
+ }