@antaif3ng/tilcode 0.100.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/README.md +107 -0
- package/dist/cli.js +719322 -0
- package/package.json +141 -0
package/README.md
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# Tilcode
|
|
2
|
+
|
|
3
|
+
A clean, observable, and provider-agnostic CLI coding assistant based on Claude Code.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- Works with any OpenAI-compatible API (MiniMax, DeepSeek, OpenRouter, etc.)
|
|
8
|
+
- No telemetry, no data upload, no login required
|
|
9
|
+
- Multi-model quick-switch via `/model` command
|
|
10
|
+
- Optional Langfuse observability integration
|
|
11
|
+
- Auto-discovery of skills from project directories
|
|
12
|
+
- File-based configuration (`.tilcode/provider.json`)
|
|
13
|
+
|
|
14
|
+
## Install
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
# Requires Bun >= 1.3.11
|
|
18
|
+
npm install -g tilcode
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Quick Start
|
|
22
|
+
|
|
23
|
+
1. Create `~/.tilcode/provider.json`:
|
|
24
|
+
|
|
25
|
+
```json
|
|
26
|
+
{
|
|
27
|
+
"provider": "openai-compat",
|
|
28
|
+
"model": "your-model-name",
|
|
29
|
+
"apiKey": "your-api-key",
|
|
30
|
+
"baseUrl": "https://your-provider.com/v1"
|
|
31
|
+
}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
2. Run:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
tilcode
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Configuration
|
|
41
|
+
|
|
42
|
+
### Provider (`~/.tilcode/provider.json`)
|
|
43
|
+
|
|
44
|
+
User-level config applies to all projects. Project-level (`.tilcode/provider.json` in project root) overrides user-level.
|
|
45
|
+
|
|
46
|
+
```json
|
|
47
|
+
{
|
|
48
|
+
"provider": "openai-compat",
|
|
49
|
+
"model": "MiniMax-M2.7-highspeed",
|
|
50
|
+
"apiKey": "sk-xxx",
|
|
51
|
+
"baseUrl": "https://api.minimaxi.com/v1",
|
|
52
|
+
"models": [
|
|
53
|
+
{
|
|
54
|
+
"name": "MiniMax-M2.7-highspeed",
|
|
55
|
+
"label": "MiniMax M2.7",
|
|
56
|
+
"description": "Default model"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"name": "deepseek-chat",
|
|
60
|
+
"label": "DeepSeek V3",
|
|
61
|
+
"apiKey": "sk-ds-xxx",
|
|
62
|
+
"baseUrl": "https://api.deepseek.com/v1"
|
|
63
|
+
}
|
|
64
|
+
]
|
|
65
|
+
}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Fields in `models[]` entries:
|
|
69
|
+
- `name` (required) - model name sent to API
|
|
70
|
+
- `label` - display name in `/model` picker
|
|
71
|
+
- `description` - description in picker
|
|
72
|
+
- `apiKey` - override top-level key for this model
|
|
73
|
+
- `baseUrl` - override top-level URL for this model
|
|
74
|
+
- `maxOutputTokens` - clamp max output tokens (auto-detected if not set)
|
|
75
|
+
|
|
76
|
+
### Observability (`~/.tilcode/config.json`)
|
|
77
|
+
|
|
78
|
+
```json
|
|
79
|
+
{
|
|
80
|
+
"langfuse": {
|
|
81
|
+
"enabled": true,
|
|
82
|
+
"secretKey": "sk-lf-xxx",
|
|
83
|
+
"publicKey": "pk-lf-xxx",
|
|
84
|
+
"host": "https://cloud.langfuse.com"
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Usage
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
# Interactive mode
|
|
93
|
+
tilcode
|
|
94
|
+
|
|
95
|
+
# Pipe mode
|
|
96
|
+
echo "explain this code" | tilcode -p
|
|
97
|
+
|
|
98
|
+
# With a specific model
|
|
99
|
+
tilcode --model deepseek-chat
|
|
100
|
+
|
|
101
|
+
# Switch model at runtime
|
|
102
|
+
/model
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## License
|
|
106
|
+
|
|
107
|
+
MIT
|