Skip to content
@taffish

TAFFISH

Tools And Flows Framework Intensify SHell

TAFFISH

English | 中文

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.

Table of Contents

Start Here

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/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.
TAFFISH Security Model Layered security and trust model for releases, installers, mirrors, Hub/index gates, local installs, containers, and MCP.
taffish/taffish-index Generated static package index consumed by taf update, taf search, taf info, and taf install.
taffish/taffish.github.io Source repository for the web Hub.
taffish/.github This organization profile.

What TAFFISH Provides

  • A shell-native reproducible execution layer for command-line bioinformatics, starting from the shell commands users already run.
  • A shell-native executable package model that turns tool invocations into versioned, container-resolved, installable, distributable, composable, and verifiable command entities.
  • Command-level reproducibility for bioinformatics tools and lightweight flows, complementing workflow systems such as Nextflow and Snakemake from the layer beneath their task commands rather than replacing them.
  • The TAFFISH DSL and its taffish compiler, which compile .taf scripts into shell scripts while preserving command-line composability.
  • taf, a local package manager, app installer, and command runner for TAFFISH executable packages.
  • TAFFISH Hub, a GitHub-based executable package ecosystem that lets users discover, update, install, inspect, and run apps locally.
  • Container-aware execution through Docker, Podman, or Apptainer while keeping TAFFISH commands usable as ordinary shell commands.
  • App metadata for versions, dependencies, platforms, containers, upstream sources, smoke checks, and Hub trust signals.
  • taffish-mcp, a conservative MCP server that lets AI clients inspect TAFFISH projects and compile candidate commands without running containers.
  • An open-source Common Lisp implementation under Apache License 2.0.

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.

Installation

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 -- --user

System install for shared servers:

curl -fsSL https://raw.githubusercontent.com/taffish/taffish/main/install/install-taffish.sh | sudo sh -s -- --system

For 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 -- --user

China/Gitee system install:

curl -fsSL https://gitee.com/taffish-org/taffish/raw/main/install/install-taffish.gitee.sh | sudo sh -s -- --system

China/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 list

For 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.

How TAFFISH Hub Works

TAFFISH Hub is currently GitHub-based. It publishes executable package metadata for local taf commands rather than running user jobs on a server.

  1. Each app lives in its own repository with a root taffish.toml.
  2. App repositories publish release tags such as v0.1.0-r1.
  3. App repositories build container images in their own GitHub Actions workflows.
  4. taffish-index scans the organization, validates new versions, records dependency, platform, container digest, smoke, trust, and upstream metadata, and writes static JSON index files.
  5. Users run taf update, then install and run apps locally through taf.

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.

For Users

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.

For App Developers

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.

Paper

The TAFFISH project is described in the bioRxiv preprint:

TAFFISH: A lightweight, modular, and containerized workflow framework for reproducible bioinformatics analyses

Authors: Kaiyuan Han, Ting Wang, Shi-Shi Yuan, Cai-Yi Ma, Wei Su, Kejun Deng, Xiaolong Li, Hao Lv, and Hao Lin.

Project Status

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.

Popular repositories Loading

  1. .github .github Public

    Organization profile for TAFFISH: a Lisp-based DSL, CLI, Hub, and package ecosystem for reproducible bioinformatics workflows.

  2. taffish-index taffish-index Public

    Generated TAFFISH package index for published tools and flows.

    Common Lisp

  3. taffish.github.io taffish.github.io Public

    Static TAFFISH Hub website for browsing indexed TAFFISH tools and flows.

    JavaScript

  4. taffish taffish Public

    TAFFISH local CLI: TAF compiler, taf package manager, and MCP server for reproducible bioinformatics tools and workflows.

    Common Lisp

  5. taffish-docs taffish-docs Public

    Public documentation for TAFFISH, TAFFISH Hub, taf-app development, MCP integration, and the security model.

  6. augustus augustus Public

    Shell

Repositories

Showing 10 of 34 repositories

Top languages

Loading…

Most used topics

Loading…