Skip to content
evidentloopPublic

About

Resumable, traceable AI coding — plans, handoffs, and evidence stay with the repo across hosts.

Topics

Resources

Contributing

Stars

368 stars

Watchers

17 watching

Forks

Repository files navigation

Sopify

Version AI coding plans and evidence in Git — resume work across tools, teammates, and agents.

Installs into the AI coding tools you already use. Questions and small fixes are handled directly; plans start only when needed.

License Version

Codex Claude Code Qoder Copilot Cursor Antigravity Trae

English · 简体中文 · Quick Start · Contributors

Sopify — plans, decisions and verification evidence saved as ordinary files in your repo

Sopify is a set of rules and Skills that installs into the AI coding tool you already use. When work needs a plan, it saves the plan, the decisions and the verification evidence as ordinary files under .sopify/, versioned in Git, so the next session — another tool, another person, another agent — resumes from the record instead of from memory.

Quick Start

1. Install into your tool.

curl -fsSL https://github.com/evidentloop/sopify/releases/latest/download/install.sh | bash -s -- --target codex:en-US
Your tool --target
Codex codex:en-US / codex:zh-CN
Claude Code claude:en-US / claude:zh-CN
Qoder qoder:en-US / qoder:zh-CN
Copilot copilot:en-US / copilot:zh-CN
Cursor cursor:en-US / cursor:zh-CN
Antigravity antigravity:en-US / antigravity:zh-CN
Trae trae:en-US / trae:zh-CN

Python 3.11 or newer; the installer checks before downloading. It writes host instructions and Skills only.

2. In your project, type one line into the chat box.

~go plan add input validation to the signup form

Sopify asks about anything still unresolved and writes .sopify/plan/YYYYMMDD_signup_form_validation/plan.md only after you answer in the conversation. In a non-interactive session (such as -p / --print) the question ends that turn — send the request again with your answers included. This step changes no business code.

3. Run the plan, then archive it.

~go            # run or resume the current plan
~go finalize   # once all tasks are complete, archive the plan to .sopify/history/

~go works through the plan one task at a time: implement, then verify and review, mark the task done once checks pass, and move to the next. It pauses when a fact is missing or a decision requires your input, and continues after you answer. After an interruption, a tool switch, or a handover, type ~go again: it reads the plan and its evidence, then continues with the next unfinished task that can proceed. In a fresh clone, if the target plan is unclear, it asks which one to continue. A finished plan stays in plan/ until you run ~go finalize. See How Sopify Works for the read order and pause rules.

What lands in your repo

Path What it is In Git?
.sopify/sopify.json project marker committed
.sopify/plan/, .sopify/history/ plans and verification evidence committed
.sopify/state/ local pointers: active plan and resume hint not committed; ignored by default through .git/info/exclude

Windows uses the PowerShell installer instead of step 1:

iwr https://github.com/evidentloop/sopify/releases/latest/download/install.ps1 -OutFile sopify-install.ps1
.\sopify-install.ps1 --target codex:en-US

Where It Pays Off

A long task gets interrupted. Before: the session ends and the reasoning ends with it. After: ~go reads .sopify/plan/ and resumes at the next unfinished task.

Another tool or another person takes over. Before: paste the context again and hope nothing important was dropped. After: this release was built that way — a fresh Qoder session whose only input was ~go resumed a plan written by Claude Code.

Several agents split the work. Before: two agents edit the same files and overwrite each other. After: one owner holds the plan, workers take bounded tasks, and the evidence lands in one place. See Using Sopify with Orca.

A plan written in Claude Code is resumed by a fresh Qoder session that reads .sopify/ after receiving only ~go
Every decision traced — auditable and reviewable

When Not to Use It

  • Questions, code reading, and explanations
  • Small fixes: a rename, a typo, a one-line style change
  • Throwaway scripts and exploratory tries

These are handled directly and never enter the plan workflow. A plan starts only when you type ~go plan, ask to continue work in progress, or when ~go decides one is needed.

Command Cheat Sheet

Command When to type it
~go plan <request> New work that needs a plan — asks first when anything is unclear, writes .sopify/plan/<id>/plan.md only after you answer, and changes no code
~go Run or resume the current plan; routine questions and small fixes are answered directly without resuming a plan
~go finalize Close out the active plan and move it to .sopify/history/

Supported Hosts

Host Status Install
Codex Verified --target codex:en-US / codex:zh-CN
Claude Code Verified --target claude:en-US / claude:zh-CN
Qoder Verified --target qoder:en-US / qoder:zh-CN
Copilot Baseline --target copilot:en-US / copilot:zh-CN
Cursor Baseline --target cursor:en-US / cursor:zh-CN
Antigravity Baseline; tested in real sessions --target antigravity:en-US / antigravity:zh-CN
Trae Baseline --target trae:en-US / trae:zh-CN

Verified means the managed workflow has been run in a real session on that host, not only installed. Baseline means the installation is verified; real-session evidence varies by host — see each host's doc.

A Real Case

This archived workflow ran inside Codex. A complex request became a tracked plan, an audit concern stopped the work for a user decision, and after the user approved a minimal fix the verification evidence was recorded and the plan was archived.

Sopify in a real Codex workflow: a request becomes a plan, an audit concern stops for the user's decision, and the minimal fix and verification evidence are recorded before archive

  • Plan first — Codex did not start coding immediately; it captured the goal, boundaries and verification steps in a tracked plan.
  • Stop for a decision — the first audit found one concern; work paused for the user, then only a minimal identity check was added.
  • Close with evidence — the second audit found no open risk; 5 protocol checks and 55 targeted tests with 48 subtests were recorded before archive.

The real task was an optional verifier integration. The animation shows how Sopify managed it; the archived files show what happened: plan · verification receipt · final receipt.

Further Reading

  • How Sopify Works — workflow stages, checkpoints, the four files a new session reads first, the .sopify/ layout, and the product form and architecture diagrams
  • Getting Started — install details, inspecting the script before running it, host-specific setup, updating, removing, and the optional EvidentLoop companion
  • Using Sopify with Orca — owner, executor and reviewer roles for multi-agent work
  • Host Onboarding — how a new host adapter is probed and recorded
  • External Repo Quickstart — step-by-step demo on a repo that is not Sopify's own
  • Configuration example — optional sopify.config.yaml overrides; defaults work without it

Version History

License

Contributing

For user-visible behavior changes, update both README.md and README.zh-CN.md when needed, then follow CONTRIBUTING.md for validation.

About

Resumable, traceable AI coding — plans, handoffs, and evidence stay with the repo across hosts.

Topics

Resources

Contributing

Stars

368 stars

Watchers

17 watching

Forks

Releases

Packages

Contributors

Languages