Terminal coding assistant with TypeScript TUI — multi-provider, session-based
This project has been archived.
The maintainers of this project have marked this project as archived. No new releases are expected.
Project description
🥷 codrninja
A terminal coding assistant with a TypeScript TUI — powered by the AI provider of your choice.
Providers
| Provider | Setup | Notes |
|---|---|---|
| claude-cli | Claude Code installed | Uses your Claude Code subscription — no API key needed |
| OpenAI | OAuth or API key | gpt-4o, gpt-5, codex models |
| Anthropic | OAuth or API key | claude-sonnet, claude-opus |
| Ollama | Local server | Any local model |
| OpenRouter | API key | Access to all major models |
Install
pip3 install codrninja
Then start the TUI:
codrninja
The server starts automatically in the background. On first run, configure your provider via /provider.
TypeScript TUI (recommended)
codrninja uses a TypeScript TUI built with Ink. On first launch it looks for the TUI at ~/codrninja-tui. If not found it falls back to the built-in Textual TUI.
To use the full TUI, clone it next to your home directory:
git clone https://github.com/20ZollCoder/codrninja-tui ~/codrninja-tui
cd ~/codrninja-tui && npm install
Quick Start
# Install
pip3 install codrninja
# Start
codrninja
# Inside the TUI — configure a provider:
/provider
# Select claude-cli to use your Claude Code subscription (no API key needed)
# Or select openai / anthropic and authenticate via OAuth or API key
TUI Slash Commands
| Command | Description |
|---|---|
/provider |
Switch or configure AI provider |
/model |
Change model for this session |
/exec <cmd> |
Run a shell command |
/search <query> |
Web search |
/fetch <url> |
Fetch a web page |
/commit <msg> |
Git add -A and commit |
/diff |
Show current git diff |
/test |
Run tests |
/build <task> |
Run build agent |
/plan <task> |
Run plan agent |
/clear |
Clear the conversation |
/undo |
Remove the last message pair |
/session |
Show session info |
/status |
Show provider / model status |
/help |
Show all commands |
/exit |
Quit |
Sessions
codrninja organises work into named sessions. Each session has its own conversation history and can have its own model and provider.
# Open a specific session directly
codrninja my-project
# Or use the CODRNINJA_SESSION env var
CODRNINJA_SESSION=my-project codrninja
Configuration
Provider and model settings are stored in ~/.config/codrninja/config.json and can be changed at any time from within the TUI via /provider and /model.
The server runs on port 7384 by default. Override with:
codrninja serve --port 8000
CODRNINJA_SERVER=http://127.0.0.1:8000 codrninja
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
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
File details
Details for the file codrninja-1.2.6.tar.gz.
File metadata
- Download URL: codrninja-1.2.6.tar.gz
- Upload date:
- Size: 105.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
33dd61c41b58b01902722c0c374a1e3022269b905a653294b34da9589412c253
|
|
| MD5 |
3c1c2c006730a1d315963427755b8620
|
|
| BLAKE2b-256 |
0c0ef1b9c773ec8c3d5aff8206d8faf70a20771bff87a65904d7b6c58bec1a67
|
File details
Details for the file codrninja-1.2.6-py3-none-any.whl.
File metadata
- Download URL: codrninja-1.2.6-py3-none-any.whl
- Upload date:
- Size: 115.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a069fc998b5349dcf61d18b88bb3a7e490318b963fb221f4326b1130ca766bdd
|
|
| MD5 |
8dbf330def79490c3308e7f87a067250
|
|
| BLAKE2b-256 |
c71f8bd78de1f3949f04f377ccc84b7d34f1256e900d9c3c88b58fc46ad13f36
|