DOOM
Your terminal understands English. You stop Googling commands.
DOOM is a local AI terminal agent that translates natural-language requests into zsh commands. Type what you want in plain English, preview the command, and run it. One request → one command. Private, fast, runs on your machine.
GitHub: Ahmad170412/DoomCLI | Model: Ahmad170412/Doom-V1
$ doom "how much ram does this mac have"
╭───── command ─────╮
│ sysctl hw.memsize │
╰───────────────────╯
[Displays the total physical memory installed in the machine.]
run cancel edit (n):
Installation
From PyPI
pip install doomcli
doom "your request here"
On first run, DOOM will ask permission to download the model (~850MB) from Hugging Face. The model is cached in ~/.doom/model/ for future use.
From source
git clone https://github.com/Ahmad170412/DoomCLI.git
cd DoomCLI
pip install -e .
doom "list all running processes"
Standalone (no pip)
# Clone with the model
git clone --recurse-submodules https://github.com/Ahmad170412/DoomCLI.git
cd DoomCLI
# Create venv
python3 -m venv .venv
.venv/bin/pip install mlx mlx-lm rich prompt_toolkit
# Run
./doom "your request here"
Usage
One-shot mode
doom "create a new react project called my-app"
doom "what's my public ip"
doom "add OPENROUTER_API_KEY to my zshrc"
doom "find all files larger than 100mb"
Interactive REPL
doom
Drops you into a loop where you can type request after request. Type exit or Ctrl-C to quit.
Flags
| Flag | What it does |
|---|---|
--yes |
Auto-confirm non-destructive commands (still gates dangerous ones) |
--dry-run |
Preview the command, never execute |
--max-tokens 256 |
Max tokens for generation (default 256) |
Edit flow
When you see a command you want to tweak:
run cancel edit (n): e
edit command: echo 'export API_KEY="sk-123"' >> ~/.zshrc
The command is pre-filled — arrow keys, backspace, type your changes, Enter.
How It Works
DOOM runs a fine-tuned Qwen2.5-Coder-1.5B model locally on your machine. No API calls. No data leaves your computer.
- You type a natural-language request
- The model generates exactly one zsh command + a short explanation
- DOOM previews the command in a clean panel
- You confirm:
[y]run,[n]cancel, or[e]edit the command - DOOM executes the command and shows the output
Model
The fine-tuned model is available on Hugging Face: Ahmad170412/Doom-V1
| Metric | Base Qwen 1.5B | DOOM |
|---|---|---|
| Combined correct | 25% | 50% |
| Exact string match | 19% | 38% |
| Format violations | 38 | 0 |
Safety
DOOM has a 30-pattern destructive classifier that flags dangerous commands before execution:
- File deletion (
rm,rmdir,find -delete) - Process control (
kill,pkill,dd) - Privilege escalation (
sudo,eval,curl | sh)
Destructive commands get a red warning panel and always require explicit [y] confirmation.
One command contract: DOOM will never generate &&, ;, pipes, or loops. One request → one command.
Requirements
- macOS (Apple Silicon — M1/M2/M3/M4)
- Python 3.11+ (3.13 recommended)
License
MIT
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 doomcli-0.1.1.tar.gz.
File metadata
- Download URL: doomcli-0.1.1.tar.gz
- Upload date:
- Size: 11.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
318cb1a6469d40f99ed1ca08b7d6a80660cabb51528b117bb23c24b8ca2e5a7b
|
|
| MD5 |
ac0c6df80a45b6e90850afee37ccadfa
|
|
| BLAKE2b-256 |
4fc0d51d2f8e5fc54ff4c27c444407387c9dadd2293b79f39d1e7c8a62d412f5
|
File details
Details for the file doomcli-0.1.1-py3-none-any.whl.
File metadata
- Download URL: doomcli-0.1.1-py3-none-any.whl
- Upload date:
- Size: 10.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0fb8f1d7ace755b974cc3b28b3a54af1536e596c29d53a26c1fdd60ebe62444c
|
|
| MD5 |
02f270a35583ad6cf78752324a610d50
|
|
| BLAKE2b-256 |
6e9cbfb0138ae63a30c998d916e30028cca067fb2b0619eaca84b9513a6ba8a8
|