| .github | ||
| .vscode | ||
| codebridge | ||
| doc | ||
| externals | ||
| scripts | ||
| .gitignore | ||
| .gitmodules | ||
| codebridge_design.md | ||
| CodeBridge.ico | ||
| profiles.json | ||
| README.md | ||
| requirements.txt | ||
SXXXXXXX_CodeBridge
SXXXXXXX_CodeBridge is a small desktop utility that compares two directory trees, creates ZIP "export packages" containing changed files and a JSON manifest, and can apply those packages to target trees. It is intended for lightweight synchronization and code/package exchange workflows.
Supported platforms: Windows, macOS, Linux (requires Python 3.11+ and tkinter)
Features / Caratteristiche
- Compare two directory trees and show added, modified and deleted files
- Produce a ZIP export package with a
bridge_manifest.jsondescribing the changes - Apply an export package to a destination tree (handles deletions and file extraction)
- GUI with side-by-side diff viewer, minimap, profile-based ignore lists, and embedded logs
Quick Start / Avvio rapido
English
- Install Python 3.11+ and ensure
tkinteris available. - From the repository root run:
python -m codebridge
Running in a local virtual environment / Eseguire in un ambiente .venv
It is recommended to run the application inside an isolated Python virtual environment.
Windows (PowerShell or Command Prompt):
# from repository root
scripts\create_venv.bat
# then activate
.venv\Scripts\activate.bat
python -m codebridge
Unix / macOS (bash / zsh):
# from repository root
./scripts/create_venv.sh
source .venv/bin/activate
python -m codebridge
Notes / Note:
tkinteris part of the Python standard library but may need the platform GUI packages installed (e.g.,sudo apt install python3-tkon Debian/Ubuntu).- Add any external dependencies to
requirements.txtand re-run the script to install them into.venv.
Italiano
- Installa Python 3.11+ e assicurati che
tkintersia disponibile. - Dalla cartella del repository esegui:
python -m codebridge
Data contract / Manifest
Exported ZIP packages contain a bridge_manifest.json with the following keys:
{
"timestamp": "2023-10-27T10:00:00",
"commit_message": "...",
"changes": {"added": [], "modified": [], "deleted": []}
}
This manifest is used when applying a package so deletions are handled and modified/added files are extracted.
Profiles and ignore lists / Profili e liste di ignore
The application supports named profiles that persist to profiles.json at the repository root. Each profile can include ignore_extensions so you can exclude build artifacts or temporary files from comparisons.
Contributing / Contribuire
- Please follow PEP8 style for Python changes.
- GUI and core logic are separated under
codebridge/guiandcodebridge/core— keep UI-only changes inguiand logic changes incore.
License
Please check repository root for license information.