Skip to main content

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.

  1. You type a natural-language request
  2. The model generates exactly one zsh command + a short explanation
  3. DOOM previews the command in a clean panel
  4. You confirm: [y] run, [n] cancel, or [e] edit the command
  5. 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

doomcli-0.1.1.tar.gz (11.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

doomcli-0.1.1-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

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

Hashes for doomcli-0.1.1.tar.gz
Algorithm Hash digest
SHA256 318cb1a6469d40f99ed1ca08b7d6a80660cabb51528b117bb23c24b8ca2e5a7b
MD5 ac0c6df80a45b6e90850afee37ccadfa
BLAKE2b-256 4fc0d51d2f8e5fc54ff4c27c444407387c9dadd2293b79f39d1e7c8a62d412f5

See more details on using hashes here.

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

Hashes for doomcli-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0fb8f1d7ace755b974cc3b28b3a54af1536e596c29d53a26c1fdd60ebe62444c
MD5 02f270a35583ad6cf78752324a610d50
BLAKE2b-256 6e9cbfb0138ae63a30c998d916e30028cca067fb2b0619eaca84b9513a6ba8a8

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page