ExecuTrace is a Python library and CLI tool that captures, records, and replays developer workflows reliably. This repository contains the complete source code for the project.
This project is published on PyPI and can be installed globally:
pip install exectrace-workflowPyPI Link: https://pypi.org/project/exectrace-workflow/
Version: 1.0.1
Release Date: April 6, 2026
PyPI: https://pypi.org/project/exectrace-workflow/1.0.1/
- Captures terminal commands from shell history (bash, zsh)
- Tracks file system changes (create, modify, delete)
- Saves workflow metadata (timestamps, user, environment)
- Dual Format Support:
- JSON (human-readable, version control friendly)
- XML (structured, enterprise-compatible)
- Flexible storage paths
- Automatic backup support
- Dry-run: Preview changes without executing
- Explain: Show what will happen step-by-step
- Smart: Execute with intelligent error handling
Commands available:
exectrace record <name>- Start recording a workflowexectrace stop- Stop recordingexectrace replay <name>- Replay a workflowexectrace list- Show all workflowsexectrace edit <name>- Edit a workflowexectrace delete <name>- Delete a workflow
ExecuTrace/
├── exectrace/ # Main package
│ ├── cli.py # CLI interface
│ ├── core/ # Core modules
│ │ ├── editor.py
│ │ ├── models.py
│ │ └── replayer.py
│ ├── recorder/ # Recording functionality
│ │ ├── command_capture.py
│ │ ├── fs_tracker.py
│ │ └── session.py
│ ├── storage/ # Storage backends
│ │ ├── json_storage.py
│ │ ├── xml_storage.py
│ │ └── factory.py
│ └── utils/ # Utility modules
│ ├── hash_utils.py
│ ├── logger.py
│ ├── sensitive_filter.py
│ └── time_utils.py
├── examples/ # Example usage
│ └── basic_usage.py
├── pyproject.toml # Package configuration
├── README.md # User documentation
└── GITHUB.md # This file
- Python 3.9 or higher
- pip or pip3
git clone https://github.com/Stalin-143/ExecuTrace.git
cd ExecuTrace
pip install -e .python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -e .Run the test suite:
python -m pytest tests/Or test individual modules:
python -c "from exectrace.cli import main; main()"# Start recording
exectrace record my-setup
# Run your commands
npm install
python -m build
# Stop recording
exectrace stop# Dry run (preview)
exectrace replay my-setup --dry-run
# Explain mode (step-by-step)
exectrace replay my-setup --explain
# Smart mode (execute with error handling)
exectrace replay my-setup --smartexectrace listShows workflows with storage format tags:
my-setup [json]
build-process [xml]
deploy-prod [json]
Each workflow contains:
- Name: Unique identifier
- Actions: List of recorded commands and file changes
- Metadata: Timestamps, user info, environment variables
- Format: JSON or XML storage
Dynamic storage backend selection:
from exectrace.storage.factory import get_storage
# Get storage backend
storage = get_storage("json", "/path/to/workflows")User-friendly prompts for:
- Storage location selection
- File format preference (JSON/XML)
- Workflow editing
- Confirmation dialogs
- Minimum: Python 3.9
- Tested: Python 3.9, 3.10, 3.11, 3.12
- Dependencies: None (stdlib only)
MIT License - See LICENSE for details.
We welcome contributions! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-thing) - Commit your changes (
git commit -m "Add amazing thing") - Push to the branch (
git push origin feature/amazing-thing) - Open a Pull Request
For issues, questions, or suggestions:
- GitHub Issues: https://github.com/Stalin-143/ExecuTrace/issues
- PyPI Project: https://pypi.org/project/exectrace-workflow/
- README.md - User guide and quick start
- examples/basic_usage.py - Code examples
Version: 1.0.1
Last Updated: April 6, 2026
Status: Production Ready ✅