TAFFISH brings reproducibility back to shell-based bioinformatics commands.
TAFFISH stands for Tools And Flows Framework Intensify SHell. It is a shell-native reproducible execution and delivery layer for bioinformatics command-line tools and lightweight workflows.
TAFFISH does not try to replace shell scripting or existing workflow systems. Instead, it turns tool calls, parameters, container runtimes, metadata, and versioned releases into installable, distributable, composable, and verifiable executable packages that still behave like ordinary shell commands.
- Start Here
- Flow Portal And Examples
- What TAFFISH Provides
- Installation
- How TAFFISH Hub Works
- For Users
- For App Developers
- Paper
- Project Status
| Resource | Purpose |
|---|---|
| taffish.com | Official project homepage, public positioning, project story, history, and entry point. |
| What Is TAFFISH? | Core positioning note: bringing reproducibility back to shell-based bioinformatics commands. |
| TAFFISH Hub | Browse available TAFFISH executable packages, apps, tools, flows, versions, dependencies, trust metadata, and install commands. |
| TAFFISH Flow Portal | Curated entry point for official TAFFISH flow families, route pages, examples, and human-facing flow documentation. |
| taffish/taffish | Open-source TAFFISH source repository, installers, source-tree developer docs, and binary release payloads for taf, taffish, and taffish-mcp. |
| taffish/taffish-docs | Documentation for TAFFISH, TAFFISH Hub, app projects, .taf scripts, containers, dependencies, and publishing. |
The TAFFISH Flow Portal is the human-facing
entry point for official flow families. It maps problem-oriented routes built
from installable TAFFISH command packages, while the underlying execution still
comes from ordinary taf-* commands and explicit input/output contracts.
The portal links:
- official route families such as RNA-seq, NGS QC, BAM QC, BLAST, and phylogeny;
- flow-specific pages and example reports when a route has a mature public case;
- the deeper RNA-seq Flow Family site, which remains the most complete public flow-family case study.
- Command-level reproducibility for the shell commands bioinformaticians already use.
- A
.taflanguage andtaffishcompiler for packaging command interfaces as shell-native executable apps. tafand TAFFISH Hub for discovering, installing, inspecting, and running versioned tools and lightweight flows.- Container-aware execution through Docker, Podman, or Apptainer, with metadata for versions, dependencies, platforms, smoke checks, and trust signals.
- An open Common Lisp implementation and a conservative
taffish-mcpinterface for AI-assisted project inspection.
For detailed CLI behavior, .taf syntax, container runtime options, mirrors,
MCP setup, security details, source builds, and release-specific changes, use
taffish/taffish-docs and the
taffish/taffish README.
Install the TAFFISH CLI from taffish/taffish. That repository is the canonical place for source code, current installers, supported platforms, release versions, runtime dependencies, container backend notes, network notes, source-build instructions, release verification, and troubleshooting.
Quick user install:
curl -fsSL https://raw.githubusercontent.com/taffish/taffish/main/install/install-taffish.sh | sh -s -- --userSystem install for shared servers:
curl -fsSL https://raw.githubusercontent.com/taffish/taffish/main/install/install-taffish.sh | sudo sh -s -- --systemFor users in China, the Gitee installer downloads from the Gitee mirror and can initialize the China mirror profile:
curl -fsSL https://gitee.com/taffish-org/taffish/raw/main/install/install-taffish.gitee.sh | sh -s -- --userChina/Gitee system install:
curl -fsSL https://gitee.com/taffish-org/taffish/raw/main/install/install-taffish.gitee.sh | sudo sh -s -- --systemChina/Gitee note: the Gitee mirror is provided for environments where GitHub raw content is slow or blocked. Some mirror services may restrict anonymous raw downloads of large files, especially for larger macOS binaries. If the Gitee installer cannot fetch a binary, use the GitHub installer with a working network/proxy, download manually after logging in to the mirror, or check the current notes in the taffish/taffish README.
After taf is available locally, the usual starting point is:
taf doctor
taf update
taf search <keyword>
taf install <app>
taf info <app>
taf outdated
taf upgrade
taf listFor pinned releases, platform-specific requirements, China/Gitee notes, mirror configuration, source builds, release verification, container backend behavior, private/local app installs, and troubleshooting, use the current taffish/taffish README and TAFFISH documentation.
For a guided first run, read the TAFFISH Quick Start.
TAFFISH Hub is currently GitHub-based. It publishes executable package metadata
for local taf commands rather than running user jobs on a server.
- Each app lives in its own repository with a root
taffish.toml. - App repositories publish release tags such as
v0.1.0-r1. - App repositories build container images in their own GitHub Actions workflows.
- taffish-index scans the organization, validates new versions, records dependency, platform, container digest, smoke, trust, and upstream metadata, and writes static JSON index files.
- Users run
taf update, then install and run apps locally throughtaf.
The public web Hub at taffish.github.io is the human-facing browser for this ecosystem. The index repository is the machine-facing data source.
Use TAFFISH Hub to browse available executable
packages and use taf locally to install and run them. For installation, CLI
behavior, .taf syntax, container usage, and troubleshooting, read
taffish/taffish-docs.
TAFFISH app projects are structured executable-package repositories with
taffish.toml, src/main.taf, docs/help.md, target/ build artifacts,
versioned release tags, and optional metadata for dependencies, platform
constraints, containers, smoke checks, Hub trust status, and upstream software
sources.
The official Hub is curated by the taffish organization. At the moment,
publishing to the official Hub is limited to organization members. Developers
who want to contribute apps can contact the maintainer to discuss joining the
organization or publishing strategy.
The TAFFISH project is described in the bioRxiv preprint:
Authors: Kaiyuan Han, Ting Wang, Shi-Shi Yuan, Cai-Yi Ma, Wei Su, Kejun Deng, Xiaolong Li, Hao Lv, and Hao Lin.
TAFFISH is open source and under active development. The local CLI/compiler implementation is published in taffish/taffish under Apache License 2.0. The current public infrastructure is built around GitHub repositories, GitHub Actions, GitHub Packages, GitHub Pages, and a static package index. A dedicated server-backed Hub may become useful later, but the current design intentionally keeps the publishing and indexing path simple, auditable, and easy to reproduce.