Definition Development
This section covers authoring .def.json5 definition files.
Definition files describe the configuration schema model used by Confµgami to validate configuration files, drive IDE support, and generate code.
The chapters build on each other like a book, with a reference at the end:
-
Getting Started: your first definition and configuration, and the edit and validate loop.
-
The Definition System: the element tree, type paths, identity, workspaces, and the validation flow.
-
Type Reference: every element type with its options and examples.
-
Reusable Types and Inheritance: named types,
typeRef,inherits, andscope. -
Multi-File Configurations and Merging: file modes, entity merging, and priorities.
-
Annotations: custom typed metadata on definition and configuration elements.
-
Constraints: validate several values of a configuration.
-
Feature Interactions: covers how features interact with each other.
-
Definition Wide Policy:
globalSettings: constraining every definition of a workspace from one place. -
Do and Do Not: the design habits that keep a definition evolvable, as a checklist.
-
Pitfalls: the mistakes to avoid and the diagnostics behind them.
-
Naming Conventions: the naming rules for properties and files at a glance.
-
Reference Manual: lookup tables for keys, patterns, and rules.
All examples are real files under this manual’s examples folder, included by tags.
They are validated by the repository test suite (doc_samples in the integration tests), so every sample you read is known to parse and validate against the current Confµgami
version.