@antaif3ng/tilcode
v0.111.0
Published
A clean, observable, and provider-agnostic CLI coding assistant based on Claude Code
Downloads
986
Readme
Tilcode
A clean, observable, and provider-agnostic CLI coding assistant based on Claude Code.
Features
- Works with any OpenAI-compatible API (MiniMax, DeepSeek, OpenRouter, etc.)
- No telemetry, no data upload, no login required
- Multi-model quick-switch via
/modelcommand - Optional Langfuse observability integration
- Auto-discovery of skills from project directories
- File-based configuration (
.tilcode/provider.json)
Install
Requires Node.js >= 18 and Bun >= 1.3.
# Install Bun (if not already installed)
curl -fsSL https://bun.sh/install | bash
# Install Tilcode
npm install -g @antaif3ng/tilcodeQuick Start
- Create
~/.tilcode/provider.json:
{
"provider": "openai-compat",
"model": "your-model-name",
"apiKey": "your-api-key",
"baseUrl": "https://your-provider.com/v1"
}- Run:
tilcodeConfiguration
Provider (~/.tilcode/provider.json)
User-level config applies to all projects. Project-level (.tilcode/provider.json in project root) overrides user-level.
{
"provider": "openai-compat",
"model": "MiniMax-M2.7-highspeed",
"apiKey": "sk-xxx",
"baseUrl": "https://api.minimaxi.com/v1",
"models": [
{
"name": "MiniMax-M2.7-highspeed",
"label": "MiniMax M2.7",
"description": "Default model"
},
{
"name": "deepseek-chat",
"label": "DeepSeek V3",
"apiKey": "sk-ds-xxx",
"baseUrl": "https://api.deepseek.com/v1"
}
]
}Fields in models[] entries:
name(required) - model name sent to APIlabel- display name in/modelpickerdescription- description in pickerapiKey- override top-level key for this modelbaseUrl- override top-level URL for this modelmaxOutputTokens- clamp max output tokens (auto-detected if not set)
Observability (~/.tilcode/config.json)
{
"langfuse": {
"enabled": true,
"secretKey": "sk-lf-xxx",
"publicKey": "pk-lf-xxx",
"host": "https://cloud.langfuse.com"
}
}Usage
# Interactive mode
tilcode
# Pipe mode
echo "explain this code" | tilcode -p
# With a specific model
tilcode --model deepseek-chat
# Switch model at runtime
/modelLicense
MIT
