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
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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| doomcli-0.1.1.tar.gz | 11.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.