# Developing

- [Adding a family](adding-a-family.md): one module and one test file for a new `model_type`.
- [Overriding a value](overriding-values.md): a standard value redefined where the base does not hold.
- [Custom values](custom-values.md): a value of your own, through `envoys=`.
- [Finding source ops](finding-source-ops.md): the operation names a `source` path needs.
- [Registering](registering.md): a family from outside the package.
- [Architecture](internals/architecture.md): how a `model_type` becomes a renamed tree with values.
- [Descriptors](internals/descriptors.md): how `EProperty` resolves a path at run time.
- [Recurrent mixers](internals/recurrent-mixers.md): how `RecurrentMixer` reaches a kernel's values and state.
- [Vision](internals/vision.md): how the vision side of a wrapper is standardized.
- [Testing](testing.md): the suite and what it asserts of a family.
- [transformers compatibility](transformers-compatibility.md): what a transformers release can move.
- [Contributing](contributing.md): the workflow for a change.
