Skip to content
🤷

Forgive us! These docs are a work in progress. Some pages may be incomplete or describe features that aren't quite finished yet. Farkitect is in early development and we don't recommend using it for real work just yet. Feel free to explore — just be aware that things are still being built.

How to modify a model with FarkiBot

Modify M1 changes a model you already have. Describe the change in plain language, and FarkiBot rewrites the model with it applied — then shows you a diff before anything happens.

Before you start, set up FarkiBot. You need contributor access or above.

  1. Open View > FarkiBot and switch the task dropdown to Modify M1
  2. Choose the model in the Model dropdown
  3. Describe the change
  4. Press Enter
  5. Review the diff
  6. Click Replace Model, and confirm

Say what should change, in the terms you’d use with a colleague:

  • “Add a Subscriptions subject area with the entities it needs”
  • “Rename these entities to match the new glossary terms”
  • “Split the Customer entity into Customer and Customer Contact”
  • “Add a Lifecycle Status of Retiring to everything scheduled for decommission”
  • “Remove the reporting subject area entirely”

Turn on Web research below the instruction when the change needs facts from outside the model, for example “add the regulators that apply to these services”.

Off by default A notice sits above the instruction while it is on, and the button reads Modify with web research.
It serves the change you asked for Nothing already in the model is altered because of something found on the web, unless your instruction asked for that.
Web content is marked Each element taken from the web says so in its notes, with a link to the source. The package notes record that web research was used.
Unconfirmed content is marked too If you asked for something the search could not confirm, it is included with notes that begin “Not verified by web research.”, and it carries no link.
It searches once per run Only the first attempt searches. If FarkiBot has to correct the file, it does not search again.

The diff shows every element that changed, as usual. Open an added element’s notes to see its source.

Read the diff — this is the important part

Section titled “Read the diff — this is the important part”

FarkiBot regenerates the entire model rather than editing it in place. That’s what makes the change atomic and undoable, but it also means the model has to faithfully reproduce everything you didn’t ask about.

The diff is how you check that it did.

In the diff What it means
Removals are shown first, in red If you asked only for additions and see a removal, that’s the model having dropped something. Discard and try again, or use a stronger LLM.
Changes only (the default view) Just what differs, with enough surrounding structure to place it.
Show all The whole model, changes marked in place.
No changes The model did nothing. Try a more specific instruction.

A rename appears as a removal plus an addition, because the diff matches on names — that’s expected, and it’s why removals are worth reading rather than scanning.

The three gates before anything is replaced

Section titled “The three gates before anything is replaced”

Clicking Replace Model does not replace the model. It starts a sequence, and any step can stop it:

  1. FarkiBot checks the model hasn’t changed since it generated the rewrite. If a teammate edited it in the meantime, nothing is replaced — otherwise their work would vanish silently. Run the change again over the current model.
  2. You confirm. A dialog names the model, repeats what changes, and calls out any removals. Nothing has happened at this point.
  3. A snapshot is saved — Library Model (before FarkiBot modify 2026-08-01 1432).farki. This is your undo: import it back to restore the previous version.

Only then is the model replaced.

If you cancel the save dialog, or it fails, FarkiBot stops and tells you nothing has been replaced. You then choose:

  • Try saving again
  • Replace without a snapshot — which cannot then be undone
  • Abandon the change

It will not quietly continue. This matters because a browser’s file-save API is allowed to report success it can’t actually guarantee.

One browser caveat worth knowing: in Chrome and Edge, FarkiBot can tell whether the snapshot was really written. In Firefox and Safari the browser gives no such signal, so a download that started is all it can see — check your downloads folder before relying on it.

The Model dropdown lists M1 models only. M2 metamodels are deliberately absent.

Replacing a metamodel would orphan every model instance built on it — and neither the diff nor the snapshot would show you that happening, because the damage lands in other packages. Edit metamodels directly instead, or bring in a new version with Upgrade a metamodel, which keeps every model element and its type. See also How to create an element type and How to use the M2 lifecycle.

FarkiBot rewrites one model package and replaces it. View links inside that package survive when the LLM reproduces them, and the diff shows any it dropped. Links between that package and views outside it are lost by the replace, in both directions:

  • a link on one of this model’s diagrams to a view in another package
  • a link on a diagram elsewhere to a diagram, catalog or board in this model

Recreate those afterwards by dragging the views back onto the diagrams. The snapshot taken before the replace still holds the links inside the package.

The whole model has to come back from the LLM in one response. If it can’t, FarkiBot says so and changes nothing rather than applying a partial rewrite.

If you hit this, split the work: modify a smaller package, or make the change by hand.

A change rewrites the entire model, which makes Modify M1 the most demanding thing FarkiBot does — more demanding than generating the same model from scratch, because preservation is now part of the job. Starred models handle it best; a weak model may drop content it was asked to keep.

The diff will show you if that happened, which is exactly why the diff exists. See How to choose an LLM.

Farkitect

Model anything.

“Welcome back — your diagrams have been plotting without you.”


Release 282 · 14 Oct 2026

New video: Exploring the Explorer, a four-minute tour of the Explorer panel

Release
282
Released
14 Oct 2026, 00:03 UTC
Built
14 Oct 2026, 00:03 UTC
Environment
Production
Surface
Docs
Commit
a9ad7d2
Branch
main