Configuration

FindAModel is configured through findamodel.yaml files placed directly inside your model directories. These files control metadata values and rules for the directory and all its subdirectories.


How it works

When FindAModel indexes your library it:

  1. Walks the directory tree recursively.
  2. Reads any findamodel.yaml it finds in each folder.
  3. Inherits configuration from parent directories to child directories - values set higher in the tree apply everywhere below unless overridden.
  4. Evaluates any rules defined in the config to compute metadata for each model file.

Quick example

Given this directory tree:

models/
├── findamodel.yaml          ← sets creator: "Alice"
├── Fantasy/
│   ├── findamodel.yaml      ← sets collection: "Fantasy"
│   └── Elves/
│       ├── findamodel.yaml  ← model_name regex (source: filename)
│       ├── elf_warrior.stl
│       └── elf_mage.stl
└── SciFi/
    └── spaceship.stl        ← inherits creator: "Alice" from root

elf_warrior.stl resolves to:

  • creator → “Alice” (from root)
  • collection → “Fantasy” (from Fantasy/)
  • model_name → “elf_warrior” (from regex rule in Elves/)

spaceship.stl resolves to:

  • creator → “Alice” (from root)
  • No collection set (SciFi/ has no findamodel.yaml)

Next steps


Table of contents


FindAModel — self-hosted 3D model library

This site uses Just the Docs, a documentation theme for Jekyll.