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 generate a model with FarkiBot

Generate M1 asks FarkiBot to build a model that conforms to a metamodel already in your project — a real, structured, valid model, not a picture of one.

This is the task most people use most, and the one where cheap models do genuinely good work. The metamodel is already in the prompt, so FarkiBot is filling in a structure rather than inventing one.

Before you start, set up FarkiBot. You need contributor access or above, and at least one M2 metamodel in the project — import one from the Farketplace if you don’t have one.

  1. Open View > FarkiBot and switch the task dropdown to Generate M1
  2. Use the Metamodel chip to choose which metamodels the result must conform to
  3. Attach your source material, and/or type a brief
  4. Press Enter

This is where Generate M1 earns its keep. Attach the documents that describe the thing you’re modelling and let FarkiBot do the transcription:

File typeNotes
.md, .txtNotes, specs, glossaries
.pdfSent to the model natively — no conversion step
.docxRead straight from the file, keeping headings and lists, because a spec’s structure is part of its meaning
.farkiAn existing model to work from or extend

An older .doc won’t open — save it as .docx or PDF first.

Realistic inputs that work well: a PRD, an architecture decision record, a strategy document, a systems inventory spreadsheet exported to Markdown, meeting notes from a discovery workshop, a vendor’s product documentation.

A brief on its own is enough when the subject is well understood:

A Business Model Canvas for a subscription coffee roastery that sells direct to consumers and to cafés.

A logical data model for a library: members, loans, holdings, reservations, fines.

Combining both is often best — attach the source document and say what to emphasise:

From the attached PRD, model the application landscape. Focus on integrations; I don’t need the UI detail.

The Metamodel chip controls which M2 packages the generated model must conform to. By default all of them are included.

Narrow it when:

  • The project has several metamodels and only one is relevant
  • You want a smaller, cheaper prompt
  • A generated model keeps drifting into types you didn’t want
  1. Reasoning models stream their thinking, then the raw file streams in
  2. FarkiBot validates the result against the real importer and against the governing metamodel — element types have to exist, relationships have to satisfy the constraints
  3. Problems are fed back for repair, up to three attempts
  4. The output token limit is shown next to the LLM picker and raised automatically if the model runs out of room

That second validation is why a generated M1 is usually correct rather than plausible: it isn’t accepted unless it actually conforms.

Nothing touches your project until you say so.

  • Review opens a Contents tree — every element, relationship and diagram, with relationships showing the names they connect rather than internal ids, and a Source tab for the raw file. Search the tree to find anything in it.
  • Save .farki… downloads the file
  • Import brings it into your project, with a provenance note naming the model and date
  • Discard throws it away

Staged packages survive reloads, up to 10 per project.

CheckWhy
The element count is plausibleA model with 8 elements from a 40-page PRD has skipped most of it.
Names match your languageRename now, in the review, rather than across 60 elements later.
Relationships aren’t just hierarchyA model where everything is “composed of” something has structure but no insight.
Nothing was inventedIf the source didn’t name an owner, no element should claim one.

The failure card explains why in plain language, offers the raw output for download, and Try again resubmits the same brief — with the same or a different LLM.

A free model can do useful M1 work. In our testing nvidia/nemotron-3-ultra-550b:free produced a good Business Model Canvas M1 at no cost. If your first free-model attempt fails, try a different free model before you reach for a paid one. See How to choose an LLM.

To alter an existing model rather than build a new one, use Modify M1 — it shows you a diff before anything is replaced. See How to modify a model.