Skip to main content

Paste-once runner for AI shell blocks with interactive placeholders

Reason this release was yanked:

0.1.0

Project description

xadabra

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

Part of the spell family: binabrakeyabraxadabra.

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: xadabra-0.1.0.tar.gz
  • Upload date:
  • Size: 6.6 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.0.tar.gz
Algorithm Hash digest
SHA256 0678df428c80e2c03b0053c54a8d5d06d86d79cad1bc092ef806c88a20734e19
MD5 6112d65ea36e0df473fc3820b182d8d5
BLAKE2b-256 a4dea4017f0a25715cd9aeb03669f3716f6dbd2308ba5e46717e6529ea13b957

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xadabra-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.1 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 480fc4910818f5222235d45b4db536f38e20ea02e499654521e96e3e757120b5
MD5 dd991559b433c23509e7e62623909427
BLAKE2b-256 87ffe2243b6b59600f7ef58eddea6094364d5376cc994587b6c3c4df6e71668f

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