Skip to main content

Export Command

The export command packages an entire Rumour workspace directory into a single ZIP archive using Deflate compression. This is useful for sharing workflows with teammates, archiving a test suite, or distributing a collection as a portable bundle.

Basic Usage

rumour export --input <WORKSPACE_DIR> --output <FILE.zip> [OPTIONS]

Options

OptionShortRequiredDescription
--input-iPath to the Rumour workspace directory to export
--output-oPath to the destination ZIP file
--yes-ySkip overwrite confirmation if the output ZIP already exists

Example 1 — Basic Export

Export a workspace directory to a ZIP file:

rumour export --input ./my_api_project --output ./my_api_project.zip

Output:

Exporting Rumour workspace from ./my_api_project to ./my_api_project.zip...
PASS Successfully exported to ZIP.

What this means:

  • Rumour walks the entire ./my_api_project directory tree recursively.
  • Every file and sub-directory is added to the ZIP archive at its relative path.
  • The archive uses Deflate compression (zip::CompressionMethod::Deflated).
  • The output file is created at the path you specified.

ZIP contents (verified with unzip -l):

Archive: my_api_project.zip
Length Date Time Name
--------- ---------- ----- ----
0 2026-05-31 13:40 Auth/
232 2026-05-31 13:40 Auth/Login.toml
67 2026-05-31 13:40 workspace.env.toml
0 2026-05-31 13:40 Users/
212 2026-05-31 13:40 Users/Create_User.toml
155 2026-05-31 13:40 Users/Get_User.toml
--------- -------
666 6 files

What this means:

  • Folder entries (e.g. Auth/, Users/) are stored as directory entries in the ZIP.
  • Files are stored at their relative paths from the input directory root — not as absolute paths.
  • The workspace.env.toml environment file is included (see Security Notes below).

Example 2 — Overwrite an Existing ZIP (-y)

If the target ZIP already exists, Rumour will ask for confirmation before overwriting it:

# Without -y: prompts for confirmation
rumour export --input ./my_api_project --output ./my_api_project.zip
File my_api_project.zip already exists. Overwrite? [y/N]

If you type N or press Enter (default is No):

Aborted.
# With -y: skips the confirmation prompt entirely
rumour export --input ./my_api_project --output ./my_api_project.zip -y

Output:

Exporting Rumour workspace from ./my_api_project to ./my_api_project.zip...
PASS Successfully exported to ZIP.

What this means:

  • -y is useful in scripted/automated contexts (CI pipelines, backup cron jobs) where you cannot respond to an interactive prompt.

Example 3 — Timestamped Backup Script

A common pattern is to use a shell script for automated daily backups:

DATE=$(date +%Y%m%d_%H%M%S)
rumour export --input ./my_api_project --output "./backups/my_api_project_${DATE}.zip" -y

Output:

Exporting Rumour workspace from ./my_api_project to ./backups/my_api_project_20260531_134010.zip...
PASS Successfully exported to ZIP.

Restoring an Exported Workspace

To share or restore the exported ZIP, extract it with the standard unzip command:

# Extract the ZIP to a new directory
unzip my_api_project.zip -d ./restored_project

# Verify structure
find ./restored_project -type f | sort

Output:

./restored_project/Auth/Login.toml
./restored_project/Users/Create_User.toml
./restored_project/Users/Get_User.toml
./restored_project/workspace.env.toml
# Run the restored workflow immediately
rumour run ./restored_project/

What's Included in the ZIP

The export command includes everything inside the input directory — no filtering is applied. This means:

ContentIncluded?
Request .toml files✓ Yes
workspace.env.toml environment file✓ Yes
Sub-directories and nested structure✓ Yes
Hidden directories (.rumour/, .git/)✓ Yes (all files are included)
Vault secrets (~/.rumour/vault.enc)✗ No — vault is stored globally, not inside workspaces

Security Notes

[!WARNING] The workspace.env.toml file is included in the export. If your environment file contains plain-text credentials or tokens, they will be present in the ZIP. Before sharing a ZIP externally:

  • Remove or redact secrets from workspace.env.toml.
  • Use Rumour's Vault to store sensitive values encrypted, referencing them as {{vault.secret_name}} in your env file instead of embedding raw values.

[!NOTE] Vault secrets (~/.rumour/vault.enc) are stored in your home directory, not inside the workspace. They are never included in exports.

Common Use Cases

Share with a Teammate

rumour export --input ./api_tests --output ./api_tests_for_team.zip

Send api_tests_for_team.zip. Your teammate extracts it and runs:

unzip api_tests_for_team.zip -d ./api_tests
rumour run ./api_tests/

CI/CD Artifact

Archive your test suite as a build artifact after a successful pipeline run:

rumour export --input ./tests --output "artifacts/test-suite-$(git describe --tags).zip" -y

Version a Release

Include a ZIP of your Rumour workflow alongside a software release:

rumour export --input ./api_workflows --output "releases/v2.1.0-api-workflows.zip" -y