1. Repo management practices (branching, layout, docs, CI, etc.) harness
2. Design principles that keep those repos maintainable and evolvable (SOLID, KISS/DRY/YAGNI, modularity, etc.) dev
This will be opinionated toward your world (Rust/C++ libs, DSP, game/engine work, embedded ish constraints), not generic CRUD apps.
1. Repo management: structure and workflow
1.1 Repository boundaries
Prefer one deployable / product per repo , plus shared libs factored into their own repos or packages (e.g., DSP core, engine core, utility crates). This aligns with guidance to keep application code and configuration/IaC separated into distinct repos for clarity and lifecycle control. devops.stackexchange
Keep environment specific config out of the main app repo when you have real deployment environments (e.g., separate infra/config repo or deployment repo). devops.stackexchange
For your use case: a monorepo can make sense for “suite” projects (plugins + shared DSP + test harness), but still enforce clear module boundaries and minimal cross coupling.