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.

$ 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.0.tar.gz (11.6 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.0-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

Details for the file doomcli-0.1.0.tar.gz.

File metadata

  • Download URL: doomcli-0.1.0.tar.gz
  • Upload date:
  • Size: 11.6 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.0.tar.gz
Algorithm Hash digest
SHA256 ae4aea2136a3ff36f811f9ed4c5c4172a5dfd4413b35cd83f29805ff0cadffcc
MD5 439cf1d6f1feab00316843cdafc74738
BLAKE2b-256 0b3ce484d5db60c6573634086b0182352a795de63dd21a25686a79a4de01d0bd

See more details on using hashes here.

File details

Details for the file doomcli-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: doomcli-0.1.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d901bf06a0abf136435920496afc0fd3f820e8475034646ee581c731a5843ac8
MD5 42152d4d86e27d77b5c9d92da88828c7
BLAKE2b-256 5a0dca29f351f6993cd60471e309580a300e40eb9d79f8e4db7437c973e60c03

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.1

2 files

This release

0.1.0 This release

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