Command-level reproducibility
TAFFISH focuses on the command execution layer beneath workflows: first make each tool invocation reproducible, then compose them into larger analyses.
Shell-native executable packages
TAFFISH turns shell-based bioinformatics tool invocations into versioned, container-resolved, installable executable packages for command-level reproducibility.
TAFFISH stands for Tools And Flows Framework Intensify SHell.
Core position
TAFFISH focuses on the command execution layer beneath workflows: first make each tool invocation reproducible, then compose them into larger analyses.
TAFFISH does not move commands away from shell. It keeps ordinary command-line use while adding versioned, container-resolved execution semantics underneath.
A TAFFISH app binds a tool call, command interface, metadata, runtime container, dependencies, smoke checks, and Hub index records into one installable command entity.
Runtime and implementation
TAFFISH apps are designed to run through Docker, Podman, or Apptainer, including HPC-oriented environments where Apptainer is the natural choice.
The compiler, CLI, metadata handling, and index tooling stay in Common Lisp, with SBCL for open development and LispWorks solving Linux delivery.
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.
Get started
The canonical installers and backend notes live in the core repository. After taf is available locally, the first command path is intentionally small.
Open installation guidetaf update
taf install <app>
taf info <app>
taf list --online
Hub architecture
A root taffish.toml declares package metadata, command name, kind, entry script, container hints, parameter-facing help, and optional upstream information.
Release tags use the v0.1.0-r1 pattern, keeping upstream app versions and TAFFISH rebuilds distinguishable.
Each app repository owns its own Dockerfile-based image build and publishes the image through GitHub infrastructure.
taffish-index scans app repositories, validates new versions, records dependencies, platform constraints, container digests, and smoke/trust metadata, then writes JSON for taf.
Ecosystem
Source repositories, organization profile, releases, package infrastructure, and issues.
Browse apps TAFFISH HubThe web interface for executable packages, tools, flows, trust metadata, and install commands.
Read docs taffish-docsCommand packaging model, language guide, Hub model, app development, publishing, and metadata reference.
Core source taffish/taffishThe compiler, taf CLI, installers, source-build guide, releases, and security policy.
Project stories
The positioning note: TAFFISH brings reproducibility back to shell-based bioinformatics commands.
HistoryA short note on how the project grew from repeated command-line work into executable packages, tools, flows, and a Hub.
Personal noteA personal essay on biological questions, repeated analysis work, Common Lisp, Shell, and why TAFFISH kept growing.
Preprint
First affiliation: University of Electronic Science and Technology of China.
* Corresponding authors.