# ExecuTrace - GitHub Repository ## ๐Ÿ“ฆ Project Overview **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. ## ๐Ÿš€ Available on PyPI This project is published on PyPI and can be installed globally: ```bash pip install exectrace-workflow ``` **PyPI Link:** https://pypi.org/project/exectrace-workflow/ ## ๐Ÿ“‹ Latest Release **Version:** 1.0.1 **Release Date:** April 6, 2026 **PyPI:** https://pypi.org/project/exectrace-workflow/1.0.1/ ## ๐ŸŽฏ Core Features ### Recording - Captures terminal commands from shell history (bash, zsh) - Tracks file system changes (create, modify, delete) - Saves workflow metadata (timestamps, user, environment) ### Storage - **Dual Format Support:** - JSON (human-readable, version control friendly) - XML (structured, enterprise-compatible) - Flexible storage paths - Automatic backup support ### Replay Modes - **Dry-run:** Preview changes without executing - **Explain:** Show what will happen step-by-step - **Smart:** Execute with intelligent error handling ### CLI Interface Commands available: - `exectrace record ` - Start recording a workflow - `exectrace stop` - Stop recording - `exectrace replay ` - Replay a workflow - `exectrace list` - Show all workflows - `exectrace edit ` - Edit a workflow - `exectrace delete ` - Delete a workflow ## ๐Ÿ“ Repository Structure ``` 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 ``` ## ๐Ÿ› ๏ธ Development Setup ### Prerequisites - Python 3.9 or higher - pip or pip3 ### Clone and Install ```bash git clone https://github.com/Stalin-143/ExecuTrace.git cd ExecuTrace pip install -e . ``` ### Virtual Environment (Recommended) ```bash python3 -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -e . ``` ## ๐Ÿงช Testing Run the test suite: ```bash python -m pytest tests/ ``` Or test individual modules: ```bash python -c "from exectrace.cli import main; main()" ``` ## ๐Ÿ“ Usage Examples ### Record a Workflow ```bash # Start recording exectrace record my-setup # Run your commands npm install python -m build # Stop recording exectrace stop ``` ### Replay a Workflow ```bash # 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 --smart ``` ### List All Workflows ```bash exectrace list ``` Shows workflows with storage format tags: ``` my-setup [json] build-process [xml] deploy-prod [json] ``` ## ๐Ÿ”ง Features & Architecture ### Workflow Model 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 ### Storage Factory Pattern Dynamic storage backend selection: ```python from exectrace.storage.factory import get_storage # Get storage backend storage = get_storage("json", "/path/to/workflows") ``` ### Interactive CLI User-friendly prompts for: - Storage location selection - File format preference (JSON/XML) - Workflow editing - Confirmation dialogs ## ๐Ÿ“Š Python Requirements - **Minimum:** Python 3.9 - **Tested:** Python 3.9, 3.10, 3.11, 3.12 - **Dependencies:** None (stdlib only) ## ๐Ÿ“„ License MIT License - See [LICENSE](LICENSE) for details. ## ๐Ÿค Contributing We welcome contributions! Please: 1. Fork the repository 2. Create a feature branch (`git checkout -b feature/amazing-thing`) 3. Commit your changes (`git commit -m "Add amazing thing"`) 4. Push to the branch (`git push origin feature/amazing-thing`) 5. Open a Pull Request ## ๐Ÿ“ž Support For issues, questions, or suggestions: - **GitHub Issues:** https://github.com/Stalin-143/ExecuTrace/issues - **PyPI Project:** https://pypi.org/project/exectrace-workflow/ ## ๐ŸŽ“ Learn More - [README.md](README.md) - User guide and quick start - [examples/basic_usage.py](examples/basic_usage.py) - Code examples --- **Version:** 1.0.1 **Last Updated:** April 6, 2026 **Status:** Production Ready โœ