Skip to main content

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 Before Using Your AI Copilot

Create a new Python file in your project: trace_ai.py with the code below

import execdiff
import time

print("\nStarting AI action trace...\n")
execdiff.start_action_trace(workspace=".")

input("Tracing is ON. Use your AI copilot now.\n\nPress ENTER here once it's done...")

print("\nStopping trace...\n")
execdiff.stop_action_trace()

print("\nSummary of last AI action:\n")
print(execdiff.last_action_summary())

Now run this from the terminal:

python trace_ai.py

Tracing has now started and you’ll see:

Starting AI action trace...

Tracing is ON. Use your AI copilot now.
Press ENTER here once it's done...

Leave this terminal running.


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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

execdiff-0.0.7.tar.gz (16.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

execdiff-0.0.7-py3-none-any.whl (14.5 kB view details)

Uploaded Python 3

File details

Details for the file execdiff-0.0.7.tar.gz.

File metadata

  • Download URL: execdiff-0.0.7.tar.gz
  • Upload date:
  • Size: 16.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for execdiff-0.0.7.tar.gz
Algorithm Hash digest
SHA256 a78f5d86d5bed188f3584c10e2779256134bd548908be2546080868fe77c968c
MD5 2148ef5642c9dec27645bd58a59dd4c8
BLAKE2b-256 ef2e05d7e201f8e89a4ba2cbbfca3bdadde77cfeb4c251f4518b9f801541895a

See more details on using hashes here.

File details

Details for the file execdiff-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: execdiff-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 14.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for execdiff-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 6d25ab633f0fa24fffead048929aa62a6994adb20e23c7fc2d9489e08d3efdcb
MD5 095b400a5d4cf8036951bf3ffa9a91d3
BLAKE2b-256 52b73e29cad9c269dbe81b870ab78b843bd1c5b65df27da5ba8e5679766d86e8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page