The CLI ships two commands. codegraph-trace records and reads history. tracer handles encrypted team sync. You need Python 3.10 or newer and git.
From the GitTRACE repository root, create a virtual environment and install. No API key is needed for local recording.
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
pip install -e ".[dev,panel,languages]"
codegraph-trace --help
tracer --help
One admin creates the entity once. Everyone logs in with four credentials and registers an encryption key. The private half of the key stays on your machine.
tracer entity create # one time, creates your org, you become admin
tracer login # entity name, entity password, username, password
tracer keys setup # generates and registers your encryption key
tracer entity add-user # admins add teammates, --role admin for more admins
Capture any edit between two commits with its reasoning attached. Then open the story of any file.
codegraph-trace record step-1 --author human \
--reasoning "wrote login() by hand" \
--before <sha> --after <sha> --repo .
codegraph-trace history auth.py --repo .
codegraph-trace versions --repo .
Fork a lineage from any recorded version and fold it back later. The review command bundles the diff with the reasoning log and the decision ledger.
codegraph-trace branch create feat-oauth --from 3 --repo .
codegraph-trace branch merge feat-oauth --repo .
codegraph-trace review feat-oauth --repo . # add --json for agents
codegraph-trace branches show --repo .
A push encrypts on your device to all registered member keys and uploads ciphertext. A pull decrypts locally with your private key.
tracer push --repo . -m "initial trace"
tracer pull --repo .
tracer review # changes awaiting review
tracer status # entity, members, keys, versions
The local panel serves the same codegraph and decision ledger the front page walks through.
codegraph-trace panel --port 8765 --repo .
# open http://127.0.0.1:8765
python -m codegraph_trace.cli <subcommand>. Agent recording currently supports OpenHands sessions out of the box. Human commits are recorded with record.