Shell-native executable packages

Bringing reproducibility back to shell commands

TAFFISH packages bioinformatics tools as installable, versioned shell commands, with containers defining their runtime environment.

TAFFISH stands for Tools And Flows Framework Intensify SHell.

Shell-First Ordinary commands, reproducible semantics
Executable Apps Tool call, metadata, runtime
Workflow-Compatible Usable beneath existing systems

Core position

TAFFISH starts where bioinformatics actually happens: shell commands.

01

Command-level reproducibility

TAFFISH focuses on the command execution layer beneath workflows: first make each tool invocation reproducible, then compose them into larger analyses.

02

Shell-native delivery

TAFFISH does not move commands away from shell. It keeps ordinary command-line use while adding versioned, container-resolved execution semantics underneath.

03

Executable package ecosystem

An app brings its command, version, runtime requirements, and help together. Find tools and flows in the Hub and install them with taf.

Get started

Install a tool. Keep using shell commands.

Install TAFFISH and configure a container backend first. Then try a fixed SAMtools release; the Hub lists more tools and their requirements.

Open installation guide
taf update
taf install samtools 1.23.1-r1
taf-samtools-v1.23.1-r1 samtools --version

Runtime and implementation

Common Lisp implementation, familiar container backends.

Container backends

Choose the runtime that fits the machine.

TAFFISH apps are designed to run through Docker, Podman, or Apptainer, including HPC-oriented environments where Apptainer is the natural choice.

Implementation

The core tooling stays close to the language.

The compiler, CLI, metadata handling, and index tooling stay in Common Lisp, with SBCL for open development and LispWorks solving Linux delivery.

Target environments

Unix-like shells first, with WSL as the Windows path.

TAFFISH is shaped around shell-native bioinformatics work on Linux and macOS; Windows users can use WSL2 with a configured container backend.

Architecture and distribution support may vary by TAFFISH release and app image; package metadata should declare amd64/arm64 availability when relevant.

Linux macOS

Hub architecture

GitHub repositories become verifiable executable packages.

  1. 1

    Create an app repository

    A root taffish.toml declares package metadata, command name, kind, entry script, container hints, parameter-facing help, and optional upstream information.

  2. 2

    Tag versioned releases

    Release tags use the v0.1.0-r1 pattern, keeping upstream app versions and TAFFISH rebuilds distinguishable.

  3. 3

    Build containers in Actions

    Apps that need their own container image build and publish it through GitHub Actions. Flows can instead compose existing apps.

  4. 4

    Refresh the static index

    taffish-index scans app repositories, validates new versions, records dependencies, platform constraints, container digests, and smoke/trust metadata, then writes JSON for taf.

Project stories

Essays on what TAFFISH is, where it came from, and why it matters.

Positioning

What Is TAFFISH?

The positioning note: TAFFISH brings reproducibility back to shell-based bioinformatics commands.

Positioning essay

Not Another Workflow Engine

Why TAFFISH works at the command layer beneath and beside workflow systems.

History

TAFFISH History

A look back at how the project grew from repeated command-line work into executable packages, tools, flows, and a Hub.

Personal note

My TAFFISH Story

A personal essay on biological questions, repeated analysis work, Common Lisp, Shell, and why TAFFISH kept growing.

Preprint

TAFFISH is described in a bioRxiv preprint.

TAFFISH: shell-native command-level reproducibility for bioinformatics

Kaiyuan Han, Ting Wang, Shishi Yuan, Caiyi Ma, Wei Su, Xiaolong Li, Kejun Deng*, Hao Lin*, and Hao Lyu*.

First affiliation: The Clinical Hospital of Chengdu Brain Science Institute, School of Life Science and Technology, University of Electronic Science and Technology of China.

* Corresponding authors.