Skip to content

jfly/shtuff

Repository files navigation

shtuff Deploy to PyPI

Shell stuff will stuff commands into a shell à la tmux send-keys or screen stuff.

Installation

If your environment is configured to use Python 3 by default:

$ pip install shtuff

Otherwise:

$ pip3 install shtuff

Please note: shtuff only works on Python 3.7+!

Examples

In shell A, run:

$ shtuff as shell-a

In shell B, run:

$ shtuff into shell-a "git status"

Observe how shell A ran git status.

An example use case for shtuff new might be a setup script to open a couple shells automatically. Consider this script:

#!/usr/bin/env bash
termite -e "shtuff new vim" &
termite -e "shtuff new 'tail -f /var/log/somelog.log'" &

This script will open two terminals, one running vim, and one running tail.

Development

This repo defines a nix devShell. If you use direnv, it will automatically get loaded for you and you can skip to Run Tests:. If you do not use direnv, you will need to enter the shell with:

$ nix develop

Run tests:

$ make test

Releasing

We release using Makefile, choose the relevant target:

$ make release-major
$ make release-minor
$ make release-patch

and wait for the automated deploy to PyPi!