Skip to main content

Bookmarks for terminal workflows.

Project description

Redo

Bookmarks for terminal workflows.

Redo saves command chains you type again and again, then runs them later with one short command. It is built for developers, students, and hackathon builders who want repeatable setup, test, build, clean, and ship workflows without memorizing long README sections.

Redo banner

Why Redo Exists

Every project has commands that people keep retyping:

git add .
git commit -m "fixed ui"
git push
npm install
npm run dev
pytest
python -m build

Redo turns those repeated chains into named workflows:

redo run ship
redo run dev
redo run build

Highlights

Feature Why it matters
Named workflows Save command chains once and run them anytime.
Placeholders Use values like {message} or {project_name} at run time.
Rich run UI See clean progress, status, failures, and optional command output.
Dry runs Preview exactly what will run before executing anything.
Edit command Fix saved workflows without deleting and recreating them.
Templates Start from useful built-in developer workflow templates.
Linting Catch comma-separated command mistakes, risky commands, and typos.
Update checks Redo can tell users when a newer release is available and install it.
Doctor/autofix Diagnose and repair common storage problems.
Import/export/backup Move workflows between machines or keep backups.

Install

pip install redo-cli

Upgrade:

pip install --upgrade redo-cli

Or let Redo check and upgrade itself:

redo update

Verify:

redo --info

Quick Start

Create a workflow:

redo new ship

Enter one command per prompt:

Description: Commit and push code
Command: git add .
Command: git commit -m "{message}"
Command: git push
Command: :done

Run it:

redo run ship

Redo asks for the placeholder value:

message: added dark mode

Then Redo runs:

git add .
git commit -m "added dark mode"
git push

Preview first:

redo run ship --dry

Show successful command output:

redo run ship --show-output

Templates

Templates make Redo useful immediately:

redo templates
redo use ship ship
redo use python-test test
redo use node-dev dev

The ship template creates:

git add .
git commit -m "{message}"
git push

Core Commands

Command Purpose
redo new <name> Create a workflow interactively.
redo use <template> <name> Create a workflow from a template.
redo run <name> Run a saved workflow.
redo run <name> --dry Preview commands without running them.
redo run <name> --show-output Show captured output after successful commands.
redo edit <name> Edit a saved workflow.
redo list List workflows.
redo show <name> Show workflow details.
redo search <query> Search names, descriptions, and commands.
redo lint Find common workflow mistakes.
redo stats Show usage and estimated time saved.
redo update Check for a newer Redo release and install it.
redo update --check-only Check for updates without installing.

Maintenance Commands

redo doctor
redo autofix
redo backup --dir backups
redo export workflows.json
redo import workflows.json
redo path
redo folder
redo clearhistory

Placeholders

Use placeholders for values that change each run:

git commit -m "{message}"
npm create vite@latest {project_name}
cd {project_name}

Valid placeholder names use letters, numbers, and underscores, and cannot start with a number:

{message}
{project_name}
{ticket_123}

Redo asks once for each unique placeholder and reuses the value everywhere in the workflow.

Safety

Redo warns before running risky commands such as:

rm -rf
del /s
format
sudo
git reset --hard

Use --dry before running a workflow for the first time.

Storage

Redo stores workflows in:

%APPDATA%/Redo/workflows.json

You can print the exact path:

redo path

For testing or custom setups, override the storage directory:

REDO_DATA_DIR=<path>

Contributing

Contributions are welcome. Good first improvements include:

  • workflow templates for popular tools
  • better lint rules
  • clearer Windows/macOS/Linux shell support
  • documentation improvements
  • focused tests for edge cases

Read docs.md before opening a PR. It explains the architecture, command flow, storage contract, testing approach, and contribution standards.

Development

git clone https://github.com/VibeSlayer-code/Redo.git
cd Redo
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
pip install -e .
pytest

Build:

python -m build

Credit

Created by Vibeslayer-code.

License

See license.txt.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

redo_cli-1.1.7.tar.gz (31.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

redo_cli-1.1.7-py3-none-any.whl (24.0 kB view details)

Uploaded Python 3

File details

Details for the file redo_cli-1.1.7.tar.gz.

File metadata

  • Download URL: redo_cli-1.1.7.tar.gz
  • Upload date:
  • Size: 31.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for redo_cli-1.1.7.tar.gz
Algorithm Hash digest
SHA256 cd466b868aec5e8531338e304df38a238076806ea669f74af6e463cf067468e6
MD5 c7c8187abe253457210b7123986cc115
BLAKE2b-256 ea07caa853d14b08b5bc7d99c531e0050ce612c886614f3fdfcc673a2c2ef846

See more details on using hashes here.

File details

Details for the file redo_cli-1.1.7-py3-none-any.whl.

File metadata

  • Download URL: redo_cli-1.1.7-py3-none-any.whl
  • Upload date:
  • Size: 24.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for redo_cli-1.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 28fbd8bd9f2e63a0af8dfd6276beffaa739d2a112eeda259bc446c749bdeb656
MD5 ccd0ba76f3f99553bf64a58d84f06035
BLAKE2b-256 27eb167e2a061e4900c669653d35ac1e420732d5fb3c0f38ca6b6ff2fd1e623d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page