Passive execution tracing for file and package changes.
Project description
Monitor AI Tool Workspace Changes
AI coding tools like GitHub Copilot, Cursor, Replit AI, and agentic workflows install dependencies, modify configurations, and run setup commands in a project workspace.
Tracking Changes Beyond Git
If GitHub Copilot implements a feature like API integration, it may:
- Generate code.
- Install libraries via the terminal.
- Modify configuration files.
- Create output files.
But when something breaks after execution, Git only shows code changes — not:
- newly installed packages
- runtime-created files
- deleted files
- config updates done during execution
So it’s hard to tell what actually changed after an AI copilot action.
Here’s how to capture everything automatically using VS Code (or any IDE with a terminal).
Step 1: Open Your Project in Your IDE
Open your project folder in VS Code (or any IDE).
Now open the integrated terminal: Terminal → New Terminal
Step 2 (Optional): Create a Project-Level Python Environment
If you want installs isolated to this project:
python3 -m venv venv
source venv/bin/activate
Otherwise, you can skip this step.
Step 3: Install ExecDiff from Terminal
Run this inside the terminal:
pip install execdiff
Step 4: Start Tracing Using the CLI
You can now use the built-in CLI to trace your workspace changes:
execdiff trace
You will see:
Tracing is ON. Use your AI copilot now.
Leave this terminal running while you use your AI copilot or make changes in your project.
When you are done, press Enter in the terminal. ExecDiff will stop tracing and print a summary of all changes made during the session.
Step 5: Use Your AI Copilot Normally
Now continue development normally inside your IDE using any AI copilot.
For example, ask:
“Create a new feature for loading hello world into a pandas data frame and displaying it. Install the required libraries”
Your copilot may now:
- generate new code
- install dependencies
- modify config files
- create or delete files
inside your project workspace.
You don’t need to change anything in your workflow.
Just let your AI copilot run whatever setup it needs internally.
Step 6: Stop the Trace
Once it’s done, come back to terminal and press Enter
You’ll get:
Summary of last AI action:
Created:
- output.txt
- data.json
Modified:
- settings.py
Installed:
- requests==2.32.0
This includes:
- filesystem changes
- installed packages
- deleted files
- execution-time config updates
All changes made during runtime.
Automatic Logs
Each AI-driven action is also stored inside:
.execdiff/logs/actions.jsonl
Now get a running history of what changed in your project after every AI action.
You can now continue using any AI copilot inside VS Code (or any IDE) normally while ExecDiff captures everything it changes behind the scenes.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file execdiff-0.0.12.tar.gz.
File metadata
- Download URL: execdiff-0.0.12.tar.gz
- Upload date:
- Size: 10.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4137b361ffae9726e4c108951e67bc58050b2047576bf15c48e4c7ce761a849c
|
|
| MD5 |
978e7e567a04932e8c3277cf1104abc4
|
|
| BLAKE2b-256 |
2bc679a89630e88e6a492108109afdee7bafee4ca8ea0e10161e403e22bb8ec6
|
File details
Details for the file execdiff-0.0.12-py3-none-any.whl.
File metadata
- Download URL: execdiff-0.0.12-py3-none-any.whl
- Upload date:
- Size: 10.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f3d1504fd80efc40371636fdee2c79b07df1d2e5e9a9dbfc6b8fe90f39356c82
|
|
| MD5 |
a279b591cd6fac45bf6001af07b6e016
|
|
| BLAKE2b-256 |
60b4ebc0633dc9a4c33d17a05e8b19c926fe5f28806d6ef386bb8fb89d1257f4
|