first commit

This commit is contained in:
w4nn4d13
2026-04-06 13:37:26 +05:30
commit 065eae9134
52 changed files with 1918 additions and 0 deletions
+101
View File
@@ -0,0 +1,101 @@
Metadata-Version: 2.4
Name: exectrace
Version: 0.1.0
Summary: Record and replay developer workflows including terminal commands and file system changes
Author: ExecuTrace Contributors
License: MIT
Requires-Python: >=3.9
Description-Content-Type: text/markdown
# ExecuTrace
ExecuTrace is a Python library and CLI that records and replays developer workflows.
It captures:
- Terminal commands (best-effort from shell history)
- File system changes (create, modify, delete)
- Timestamps for every recorded action
Workflows are stored as JSON for easy editing and inspection.
## Features
### Core
- Record workflow sessions
- Track file system changes
- Save workflows in JSON
- Replay workflows step-by-step
### Advanced
- Smart replay (`--smart`) to skip already executed steps
- Dry-run mode (`--dry-run`) to simulate without execution
- Explain mode (`--explain`) to describe each action
- Sensitive data filtering for captured command text
- Workflow editing API (`WorkflowEditor`)
## Installation
```bash
pip install -e .
```
## CLI Usage
Start recording:
```bash
exectrace record my-workflow
```
Stop recording:
```bash
exectrace stop
```
Replay a workflow:
```bash
exectrace replay my-workflow --explain
```
Replay with dry-run and smart skipping:
```bash
exectrace replay my-workflow --dry-run --smart --explain
```
List workflows:
```bash
exectrace list
```
JSON list output:
```bash
exectrace list --json
```
## Storage Layout
By default, ExecuTrace stores data in:
```text
~/.exectrace/
workflows/
<workflow>.json
state/
active_recording.json
replay_state_<workflow>.json
```
Override with environment variable:
```bash
export EXECTRACE_HOME=/path/to/custom/state
```
## Example
See `examples/basic_usage.py`.
+28
View File
@@ -0,0 +1,28 @@
README.md
pyproject.toml
exectrace/__init__.py
exectrace/__main__.py
exectrace/cli.py
exectrace.egg-info/PKG-INFO
exectrace.egg-info/SOURCES.txt
exectrace.egg-info/dependency_links.txt
exectrace.egg-info/entry_points.txt
exectrace.egg-info/top_level.txt
exectrace/core/__init__.py
exectrace/core/editor.py
exectrace/core/models.py
exectrace/core/replayer.py
exectrace/recorder/__init__.py
exectrace/recorder/command_capture.py
exectrace/recorder/fs_tracker.py
exectrace/recorder/session.py
exectrace/storage/__init__.py
exectrace/storage/factory.py
exectrace/storage/json_storage.py
exectrace/storage/xml_storage.py
exectrace/utils/__init__.py
exectrace/utils/hash_utils.py
exectrace/utils/interactive.py
exectrace/utils/logger.py
exectrace/utils/sensitive_filter.py
exectrace/utils/time_utils.py
+1
View File
@@ -0,0 +1 @@
+2
View File
@@ -0,0 +1,2 @@
[console_scripts]
exectrace = exectrace.cli:main
+1
View File
@@ -0,0 +1 @@
exectrace