# Conventions For core framework conventions (Ac prefix, naming patterns, Session/Transaction, etc.) see AyCode.Core's `docs/CONVENTIONS.md`. ## Framework-First Placement Follow the doctrine in AyCode.Core's `docs/CONVENTIONS.md#framework-first-placement`. Same verdict table and hard rules apply. **Nop-plugin-framework-specific additions:** - `NopDependencies/` mirror classes stay in their original Nop namespaces — don't rename, don't add plugin-specific fields - DTOs parameterize via type arguments, not concrete plugin types - Any plugin-specific business logic belongs in the plugin project, not here - Adding a new shared DTO: ensure it is useful for 2+ plugin projects (otherwise keep in the single plugin) ## Naming - **`Mg` prefix**: for Mango-framework-level types (e.g. `MgEntityBase`, `MgOrderDto`, `MgProductDto`) - **`IMg` prefix**: for Mango-framework-level interfaces (e.g. `IMgModelDtoBase`, `IMgSoftRemoveEntity`) - **No prefix**: for NopCommerce entity mirrors in `NopDependencies/` — they stay in Nop namespace, same name as upstream ## See Also - Core framework naming (`Ac` / `IAc` prefixes), patterns, serialization conventions: AyCode.Core's `docs/CONVENTIONS.md` - Framework-first verdict table (full): AyCode.Core's `docs/CONVENTIONS.md#framework-first-placement`