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.
Metadata
Release files for execdiff 0.0.12
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| execdiff-0.0.12.tar.gz | 10.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| execdiff-0.0.12-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 21.1 kB
Release files / execdiff-0.0.12.tar.gz
| Download URL | execdiff-0.0.12.tar.gz |
|---|---|
| Size | 10.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4137b361ffae9726e4c108951e67bc58050b2047576bf15c48e4c7ce761a849c
|
|
BLAKE2b-256 checksum How to use checksums |
2bc679a89630e88e6a492108109afdee7bafee4ca8ea0e10161e403e22bb8ec6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / execdiff-0.0.12-py3-none-any.whl
| Download URL | execdiff-0.0.12-py3-none-any.whl |
|---|---|
| Size | 10.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f3d1504fd80efc40371636fdee2c79b07df1d2e5e9a9dbfc6b8fe90f39356c82
|
|
BLAKE2b-256 checksum How to use checksums |
60b4ebc0633dc9a4c33d17a05e8b19c926fe5f28806d6ef386bb8fb89d1257f4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Security for execdiff 0.0.12
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.