novolis-codegen / design.md
Design
Bindings pipelines that scale
dotnetcodegennovolis
Codegen pipeline, reflection, and binding generators used across the platform.
Published docs: https://novolis-platform.github.io/.github/novolis-codegen/
Layer placement
Follow library-boundaries for layer placement.
Goals
- Keep public APIs documented and packable as
Novolis.*on GitHub Packages (when applicable). - Prefer BCL types and existing Novolis packages over parallel abstractions.
- Document restore and ProjectReference-mode builds without local NuGet folder feeds.
Non-goals
- Local NuGet folder feeds or committed cross-repo
ProjectReferenceinto sibling checkouts. - Avalonia package references outside
Novolis.Avalonia.*. - Upward spine dependencies (e.g. Math → Simulation).
Packages
Novolis.CodeGen.BindingsNovolis.CodeGen.Bindings.RoslynNovolis.CodeGen.PipelineNovolis.CodeGen.ReflectionNovolis.CodeGen.Reflection.ClassDiagramNovolis.CodeGen.Reflection.DumpNovolis.CodeGen.XmlNovolis.CodeGen.Xsd
Topics
dotnetcodegennovolis