Skip to content

Confide fixes your code when a library it depends on changes.

Most projects are built on libraries, code other people write and publish. When a library releases a version that breaks old code, Confide finds the affected lines, writes a fix for each one, and tests every fix before you rely on it.

How it works

What happens during a run

  1. 1

    Reads what changed.

    Confide looks up the recorded changes to the library between the two versions you pick. For example, a function that was renamed, moved, or removed.

  2. 2

    Finds where your code uses the old version.

    It reads the structure of your code, not just the text. That way it also catches code that imports the library under a different name.

  3. 3

    Writes a fix.

    For each place it found, an AI model writes replacement code based on exactly what changed.

  4. 4

    Tests the fix before trusting it.

    Confide applies the fix to a copy of your project and runs your project's own tests in an isolated sandbox with no internet access. If the tests fail, it writes a new fix using the error message and tests again. It stops after three failed attempts. Your original files are never edited.

  5. 5

    Finishes it, or asks you.

    A fix that passes its tests and that Confide is confident about is marked validated. Everything else goes to the Review Queue, where you decide.

How to use it

Using Confide

Start a run

  • Open the app and fill in four things: the path to your project's code, the library's name, the version you are moving from, and the version you are moving to.
  • The path is a folder on the machine that runs Confide, not on your own computer.
  • If you use the same project often, save it on the Saved repos page. Then you can pick it from a list instead of typing the path each time.
  • Press Start migration run. Confide opens the run's page and starts working.

Follow its progress

  • Every run appears in the Runs list, newest first, with its overall status.
  • Open a run to see each place Confide found, one row per file and line. While the run is working, the page updates on its own. You don't need to refresh.
  • Confidence is a score from 0 to 1 for how sure Confide is that it found and fixed the right thing. It goes up when a fix passes its tests.
  • If a run finishes with no rows, either your code doesn't use anything that changed, or Confide has no recorded changes for that library and version range.

Handle the Review Queue

  • The Review Queue lists every fix waiting for a person. Each item shows the old code next to the proposed fix, and why it was sent to you.
  • Approve it if the fix is correct.
  • Reject it if the fix is wrong.
  • Modify it to write the fix yourself. Confide runs your version through the same tests before accepting it.
  • Modify is switched off on the public demo. Approve and Reject still work.

What the status labels mean

validated
The fix passed your tests and Confide is confident in it. Nothing for you to do.
needs review
A person should look. The tests kept failing, Confide could not write a usable fix, or the tests passed but Confide is not sure it changed the right code. It is waiting in the Review Queue.
failed
Confide hit an error it could not recover from, so it stopped. Nothing in your project was changed. You can start the run again.
pendingrunningin progress
Still working. Pending means waiting to start. Running and in progress mean Confide is working on it now.
completed
Shown on a whole run. The run is finished. Check each file's status to see how it went.

Example

Try it with this example

Open the app and type these four values exactly, then press Start migration run.

Target repo path
/app/tests/fixtures/step6_sample_repo
API name
oldapi
Version from
1.x
Version to
2.0

The public demo only accepts the example folder, and Modify is turned off. Approve and reject still work.

Try it

Start a run, or open one that is already there.

Open the app