Managing RAFT projects

Most users interact with RAFT projects through raft run and raft generate-reports. The commands below are useful once you have several projects, need to move a project between environments, or need to preserve a project snapshot.

Generated project README

RAFT writes a README.md into each created project directory. It records the project id, detected workflow context, manifest path, creation command, common follow-up commands, and important output/log paths.

Open this file when returning to an older project or when sharing a project directory with another user.

Check project status

Use raft project-status to inspect a project without changing it:

$ raft project-status --project-id my-project

The status command summarizes the detected workflow, the manifest referenced by workflow/main.nf, manifest sample counts, latest trace status, output directories, and workflow-specific checks when available.

For more detail, see Project status.

Package a project

Use raft package-project to create a portable project snapshot:

$ raft package-project --project-id my-project

By default, RAFT writes:

projects/my-project/rftpkgs/default.rftpkg

Choose a package name with --output:

$ raft package-project \
    --project-id my-project \
    --output my-project-2026-04-14

This writes my-project-2026-04-14.rftpkg under the project’s rftpkgs/ directory.

Useful options:

  • --no-git excludes Git metadata from packaged workflow module directories

  • --no-checksums skips checksum generation

For the package file structure, see RAFT project packages.

Load a packaged project

Use raft load-project to create a project from an existing .rftpkg:

$ raft load-project \
    --project-id restored-project \
    --rftpkg /path/to/default.rftpkg

RAFT initializes a new project directory, extracts the package into the project’s internal .raft/ area, restores the packaged inputs/ and workflow/ directories, and rewrites stored project identifiers where needed.

You can also load from a Git repository that stores project packages:

$ raft load-project \
    --project-id restored-project \
    --repo-url https://example.org/group/project-packages.git \
    --branch main

Push a package to a repository

raft push-project is intended to push an existing package into a project package repository:

$ raft push-project \
    --project-id my-project \
    --rftpkg default

Warning

This command exists in RAFT but is less polished than the standard off-the-shelf run path. Validate repository configuration and package contents before relying on it for production transfer.

Rename a project

Use raft rename-project to rename a project and update selected internal files:

$ raft rename-project \
    --project-id old-project-id \
    --new-id new-project-id

RAFT updates known project-id references in:

  • workflow/mounts.config

  • workflow/nextflow.config

  • .raft/auto.raft

Then it moves the project directory to the new project id.

Warning

Rename support is limited to the files RAFT explicitly rewrites. If you manually added project-id references elsewhere, review the project after renaming.