Skip to main content

Paste-once runner for AI shell blocks with interactive placeholders

Project description

xadabra

Proprietary — Copyright © 2026 Everplay-Tech LLC. See LICENSE.

Paste-once runner for AI shell blocks. No more hand-editing {{placeholders}} in command blocks.

Noldorian tier (pip operator tools — not snx spells). Siblings: binabra, keyabra.

Install

pip install xadabra

Example

An AI gives you this block:

#!/bin/zsh
cd {{FOLDER|path:Where is the folder?}}
export API_KEY={{!API_KEY:Paste the API key}}
./deploy.sh

Copy it, then:

xadabra

xadabra reads your clipboard, prompts once per placeholder (API key hidden), shows a masked preview, asks Run? [y/N], then executes via zsh.

Placeholder syntax

Form Meaning
{{NAME}} Prompt NAME:
{{NAME:Question}} Custom prompt
{{NAME:Question:default}} Default if you press Enter
{{!NAME:Question}} Secret (getpass, masked in preview)
{{NAME|path:Question}} Must be an existing path (~, quotes, \\ unescaped)

Each unique NAME is prompted once and substituted everywhere.

Usage

xadabra              # read script from clipboard (pbpaste)
xadabra script.sh    # read from file
xadabra - <<'EOF'    # read from stdin
echo hello {{WHO:Who?}}
EOF

xadabra --dry-run    # preview only
xadabra --yes        # skip confirmation

Safety

  • No network, no telemetry
  • Optional local history: ~/.xadabra/history.jsonl (scripts only — never placeholder values)
  • Secrets masked as ***** in previews and history

Publish

pip install binabra keyabra build twine
cd ~/Projects/xadabra && python3 -m build
keyabra pypi publish

Tests

cd ~/Projects/xadabra
python3 -m unittest discover -s tests -v

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xadabra-0.1.1.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

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

xadabra-0.1.1-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file xadabra-0.1.1.tar.gz.

File metadata

  • Download URL: xadabra-0.1.1.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for xadabra-0.1.1.tar.gz
Algorithm Hash digest
SHA256 0b16922f14f00a9edabfa881bcc556af475fec15be23da0a1b1f4d9611de7720
MD5 e2b7a25ab76c095c0efb57df7da53626
BLAKE2b-256 fb3271ec64b78b238220328b699129ac35ddcc556d388bc45f045c2aee850988

See more details on using hashes here.

File details

Details for the file xadabra-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: xadabra-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 8.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for xadabra-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0efcab3523ebf802c006c5bf2cdb859f900b7fc3b94153337d0d77569d6e69c5
MD5 b25ab2213b533dd8fb699a983b707e41
BLAKE2b-256 62c540a2fd02923045c0d5e636b05952d0e4edf973aed438e917670d98fe057e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page