AI-first coding assistant for automation
Project description
🥷 codrninja
AI-first coding assistant for automation. A lightweight, programmatic alternative to interactive coding tools like OpenCode or Claude Code.
🔌 Multi-Provider Support
Works with any AI provider:
| Provider | Setup | Models |
|---|---|---|
| Ollama (default) | Local server | codellama, llama2, mistral |
| OpenAI | API key | gpt-4, gpt-4-turbo, gpt-3.5 |
| Anthropic | API key | claude-3-opus, claude-3-sonnet |
| OpenRouter | API key | Access to all major models |
Provider Configuration
# Ollama (default)
export OLLAMA_URL=http://localhost:11434
export OLLAMA_MODEL=codellama
# OpenAI
export OPENAI_API_KEY=sk-...
export CODRNINJA_PROVIDER=openai
export CODRNINJA_MODEL=gpt-4
# Anthropic
export ANTHROPIC_API_KEY=sk-ant-...
export CODRNINJA_PROVIDER=anthropic
export CODRNINJA_MODEL=claude-3-sonnet-20240229
# OpenRouter
export OPENROUTER_API_KEY=sk-or-...
export CODRNINJA_PROVIDER=openrouter
export CODRNINJA_MODEL=openai/gpt-4
🚀 Quick Install
curl -fsSL https://raw.githubusercontent.com/20ZollCoder/codrninja/main/install.sh | bash
Or install from source:
git clone https://github.com/20ZollCoder/codrninja.git
cd codrninja
pip install -e .
pip install rich # Optional, for TUI
⚡ Quick Start
# Set your provider (Ollama is default)
export OLLAMA_URL=http://localhost:11434
# Or use OpenAI
# export OPENAI_API_KEY=sk-...
# export CODRNINJA_PROVIDER=openai
# Start interactive TUI
codrninja-tui my-project
# Or use agent mode
codrninja agent my-project "Create a Button component"
🎯 Features
For Humans (TUI Mode)
- 🎨 Beautiful terminal UI with ASCII art welcome
- 💻 Syntax highlighting for code blocks
- 📊 Tool usage tables
- ⌨️ Slash commands (
/help,/files,/read,/exec) - ⚡ Progress indicators
For AI Systems (Automation Mode)
- 🤖 Agent loop with tool execution
- 🛠️ Read, write, edit files automatically
- 🔧 Execute shell commands
- 📤 JSON output for scripting
- 🧠 Session-based conversations
📖 Usage
Interactive TUI
# Start TUI
codrninja-tui my-project
# Inside TUI:
You: Create a Button component in React
🤖 AI: I'll create that for you...
✅ Tool: write_file → src/components/Button.jsx
✅ Tool: execute_command → npm test (passed)
You: /read src/components/Button.jsx
📄 (shows file with syntax highlighting)
You: /exec npm run build
⚡ (runs build command)
You: /help
📖 (shows all commands)
Agent Mode (Scripting)
# Set automation mode
export AI_CODE_MODE=automation
# Run agent with auto-approval
codrninja agent my-project "Create a login form"
# Continue conversation
codrninja agent my-project "Add validation to the form"
Commands
| Command | Description |
|---|---|
codrninja-tui <session> |
Start interactive TUI |
codrninja agent <session> "msg" |
Run agent with tools |
codrninja send <session> "msg" |
Send message |
codrninja create-session <name> |
Create session |
codrninja show-session <name> |
Show history |
TUI Slash Commands
| Command | Description |
|---|---|
/help |
Show help |
/files |
List files |
/read <file> |
Read file |
/write <file> |
Write file (interactive) |
/exec <cmd> |
Execute command |
/model |
Show AI model config |
/session |
Show session info |
/clear |
Clear screen |
/exit |
Quit |
🔧 Configuration
# Environment variables
export OLLAMA_URL=http://localhost:11434 # Ollama endpoint
export OLLAMA_MODEL=codellama # Default model
export AI_CODE_MODE=automation # JSON output mode
🆚 Comparison with OpenCode
| Feature | OpenCode | codrninja |
|---|---|---|
| Size | ~146MB Go binary | ~8KB Python |
| TTY Required | ❌ Yes | ✅ No |
| JSON Output | ❌ No | ✅ Yes |
| Agent Loop | ✅ Yes | ✅ Yes |
| Tool Execution | ✅ Yes | ✅ Yes |
| Session API | Hidden | Simple CLI |
| Installation | Complex | pip install |
| Automation | Limited | First-class |
📦 Installation Details
The install script will:
- ✅ Check Python and pip
- ✅ Install codrninja from PyPI or git
- ✅ Install Rich (optional, for TUI)
- ✅ Add
~/.local/binto PATH - ✅ Create config directory
- ✅ Install
codrninja-setuphelper
🔗 Links
- GitHub: https://github.com/20ZollCoder/codrninja
- Issues: https://github.com/20ZollCoder/codrninja/issues
📄 License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
codrninja-0.1.0.tar.gz
(23.7 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
codrninja-0.1.0-py3-none-any.whl
(25.1 kB
view details)
File details
Details for the file codrninja-0.1.0.tar.gz.
File metadata
- Download URL: codrninja-0.1.0.tar.gz
- Upload date:
- Size: 23.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fafb50780e4109a8441a772c7d5b4b3e5f6558b4928e6e23f0e9795d42121cc3
|
|
| MD5 |
e8ce6edd3c4a051e8a8af981f179f09d
|
|
| BLAKE2b-256 |
6a96e4a510891a286043a14e217919ace5cc26d62c7a96f760be260110136c54
|
File details
Details for the file codrninja-0.1.0-py3-none-any.whl.
File metadata
- Download URL: codrninja-0.1.0-py3-none-any.whl
- Upload date:
- Size: 25.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6df48258aab4512528d6714128f9fab61d47815b1678f9bfd73156d1c09e6666
|
|
| MD5 |
bd0805a4280b7ab2e65743c198ad92b8
|
|
| BLAKE2b-256 |
6888d615fb5d66dfe035b9b87fe10c78cbcd4c08729f1a127669afe8dd043efe
|