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 declare package imports

Package imports declare which M2 metamodels an M1 package can use. Without imports, the Palette is empty and you can’t create typed elements.

The easiest moment to set up imports is when the model is born: the New M1 Model dialog (File > New M1 Model…) includes an Import M2 metamodels checklist. Tick what you need and the model starts life ready to use. See How to create an M1 model.

If a model has no imports, Farkitect says so rather than leaving you to find out: a reminder dialog (offering the same checklist) appears after creation and once per session when you select the model’s contents, an amber dot marks the model in the Explorer — click it to open the same dialog — and the Palette and Properties panel both name the problem. Every cue disappears once an import exists.

  1. Select the M1 package in the Explorer
  2. In the Properties panel, find the Imports section
  3. If the imports are inherited from a parent package, click Override to make them editable
  4. Click the + button to add an import
  5. Select the M2 metamodel you want to import

The Palette updates immediately — the imported metamodel’s element types and relationship types are now available.

Repeat the process to import additional metamodels. A single package can import as many M2s as needed. The Palette shows types from all imported metamodels, grouped by layer.

Sub-packages inherit imports from their parent by default. If a top-level M1 package imports ArchiMate, all sub-packages within it also have access to ArchiMate types.

To override imports on a sub-package (for example, to add an additional metamodel):

  1. Select the sub-package
  2. Click Override in the Imports section
  3. Add or remove imports as needed

Overriding replaces the inherited imports entirely — make sure to include any metamodels you still need.

  1. Select the package
  2. In the Imports section, click the remove control next to the metamodel you want to remove

Removing an import doesn’t delete any elements that were created using that metamodel’s types. The elements remain in the model, but you won’t be able to create new elements of those types from the Palette until the import is restored.

Removing one import and adding another leaves your existing elements classified against the metamodel that has gone — which is rarely what you want.

To move a model onto a different metamodel and bring its elements with it, use the ⟳ control next to the import instead. That runs a migration, which remaps element types and properties by name and shows you what will and won’t survive before anything changes.

See How to migrate a model to a different metamodel.

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