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

Metadata

Release files for doomcli 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for doomcli 0.1.1
File Size Uploaded Provenance
doomcli-0.1.1.tar.gz 11.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for doomcli 0.1.1
File Interpreter ABI Platform
doomcli-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 22.5 kB

Release files / doomcli-0.1.1.tar.gz

Download URL doomcli-0.1.1.tar.gz
Size 11.7 kB
Tags Source
SHA-256 checksum
How to use checksums
318cb1a6469d40f99ed1ca08b7d6a80660cabb51528b117bb23c24b8ca2e5a7b
BLAKE2b-256 checksum
How to use checksums
4fc0d51d2f8e5fc54ff4c27c444407387c9dadd2293b79f39d1e7c8a62d412f5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.7

Release files / doomcli-0.1.1-py3-none-any.whl

Download URL doomcli-0.1.1-py3-none-any.whl
Size 10.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0fb8f1d7ace755b974cc3b28b3a54af1536e596c29d53a26c1fdd60ebe62444c
BLAKE2b-256 checksum
How to use checksums
6e9cbfb0138ae63a30c998d916e30028cca067fb2b0619eaca84b9513a6ba8a8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.7

Security for doomcli 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files No provenance

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