Skip to content
@taffish

TAFFISH

Tools And Flows Framework Intensify SHell

TAFFISH

English | 中文

TAFFISH is an open bioinformatics tool and workflow ecosystem for building, sharing, and running reproducible analyses with versioned apps, containerized runtime environments, and a lightweight shell-native workflow language.

It sits between ad-hoc shell scripts and heavyweight workflow systems: close enough to the command line for everyday bioinformatics work, but structured enough to make tools, environments, parameters, and workflows reusable.

Table of Contents

Start Here

Resource Purpose
taffish.com Official project homepage, project story, history, and public entry point.
TAFFISH Hub Browse available TAFFISH apps, tools, flows, versions, dependencies, and install commands.
taffish/taffish Binary distribution for the local taf, taffish, and taffish-mcp commands; canonical installation entry point.
taffish/taffish-docs Documentation for TAFFISH, TAFFISH Hub, app projects, .taf scripts, containers, dependencies, and publishing.
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

  • The TAFFISH DSL and its taffish compiler, which compile .taf scripts into shell scripts while preserving command-line composability.
  • taf, a local package manager and runner for TAFFISH apps.
  • Versioned app releases using the version-release form, such as 0.1.0-r1.
  • Container-aware execution through Apptainer, Podman, or Docker backends.
  • Hub indexing so users can discover, update, install, and inspect apps from a static GitHub-hosted index.
  • Flow dependency metadata so taf install can resolve required app versions automatically.
  • taf publish --release, backed by ignored release.md drafts for publish messages and GitHub Release notes.
  • Runtime mirror configuration for China/Gitee or internal Git service mirrors.
  • Installer-managed shell completion files and Vim syntax files for everyday CLI and .taf editing.
  • taffish-mcp, a conservative stdio MCP server for safe AI-client access to TAFFISH project, Hub, config, history, resource, prompt, and read-only TAF compiler-helper operations. See the TAFFISH MCP Guide and AI client setup guide.

Installation

Install the TAFFISH CLI from taffish/taffish. That repository is the canonical place for current installers, supported platforms, release versions, runtime dependencies, container backend notes, network notes, 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 a pinned release install, platform-specific requirements, Gitee/macOS notes, offline installation, shell completion, Vim syntax files, and detailed troubleshooting, use the current taffish/taffish README.

Persistent mirror configuration can be initialized with:

taf config init --china --force
taf update

Runtime config can change the index URL used by taf update and rewrite canonical GitHub app repository URLs during taf install, which makes Gitee or internal Git service mirrors possible without changing the official index schema.

For a guided first run, read the TAFFISH Quick Start.

How TAFFISH Hub Works

TAFFISH Hub is currently GitHub-based.

  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 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 apps 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 repositories with taffish.toml, src/main.taf, docs/help.md, target/ build artifacts, versioned release tags, and optional metadata for dependencies, platform constraints, containers, 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 under active development. 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

    The right organization of taffish is: https://github.com/taffish-org

  2. taffish-index taffish-index Public

    Generated TAFFISH package index repository

    Common Lisp

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

    JavaScript

  4. taffish taffish Public

    TAFFISH binary distribution

    Shell

  5. taffish-docs taffish-docs Public

  6. augustus augustus Public

    Shell

Repositories

Showing 7 of 7 repositories

Top languages

Loading…

Most used topics

Loading…