42 lines
4.4 KiB
Markdown
42 lines
4.4 KiB
Markdown
# AyCode.Core — Consumer Workspace Map
|
|
|
|
> **Bounded consumer-awareness exception** to the Framework-First Design Principle (`.github/copilot-instructions.md` → `## Framework-First Design Principle` → "Docs-side Framework-First", LLMP-DEC-62). This single file lists which higher-layer repos consume `AyCode.Core` (Layer 0 framework). For change-impact assessment when modifying ACCORE — NOT a coupling vector.
|
|
>
|
|
> **Strict rule**: AyCode.Core code, types, namespaces, topic IDs, and any other `.md` files (`docs/`, `.github/` excluding the narrow workspace-meta-history exception) MUST NOT name any specific consumer listed here. **This is the SINGLE place** in ACCORE that may name consumer repos.
|
|
|
|
## Workspace consumer map (as of 2026-04-26)
|
|
|
|
| Prefix | Repo | Layer | Type | Path (workspace-relative) | Brief usage |
|
|
|----------------|-------------------------------|------:|---------------------|--------------------------------------------------------------------|------------------------------------------------------------------------------|
|
|
| `ACBLAZOR` | AyCode.Blazor | 1 | framework (UI) | `Aycode/Source/AyCode.Blazor` | Extends ACCORE base classes for Blazor / MAUI UI |
|
|
| `MGNOPLIB` | Mango.Nop Libraries | 1 | framework (libs) | `Mango/Source/NopCommerce.Common/4.70/Libraries` | Domain framework for NopCommerce-plugin development |
|
|
| `MGNOPCORE` | Mango.Nop.Core | 2 | framework (sub) | `.../Libraries/Mango.Nop.Core` | Inherit-protocol; sub-framework on top of MGNOPLIB |
|
|
| `MGFBANKPLUG` | Nop.Plugin.Misc.AIPlugin | 3 | consumer (plugin) | `.../Plugins/Nop.Plugin.Misc.AIPlugin` | FruitBank nopCommerce plugin source |
|
|
| `FBANKNOP` | FruitBank | 2 | product (server) | `Mango/Source/FruitBank` | nopCommerce server source for the FruitBank deployment |
|
|
| `FBANKAPP` | FruitBankHybridApp | 2 | product (hybrid) | `Mango/Source/FruitBankHybridApp` | MAUI/Blazor hybrid client app |
|
|
|
|
(See `.github/REPO_PREFIXES.md` for the prefix scheme; each consumer's own `.github/copilot-instructions.md` `@repo` block declares its `prefix` value per LLMP-DEC-58.)
|
|
|
|
## When modifying AyCode.Core — change-impact lens
|
|
|
|
Use this list to assess change impact:
|
|
- A breaking change to a base class affects all 6 consumers above (cascading rebuilds + verification).
|
|
- A new feature gated behind opt-in DI extension → no cascade, just new capability.
|
|
- A signature change in a widely-used interface (e.g., `IAcSignalRClientBase`) → at minimum: ACBLAZOR + MGNOPLIB + MGFBANKPLUG + FBANKNOP + FBANKAPP all need verification.
|
|
- A change to ID format / topic-code conventions → MGNOPCORE and MGFBANKPLUG (inherit-protocol) plus all primary repos need updating.
|
|
|
|
**Do NOT** use this list to write framework code that conditionalizes on specific consumers. Generic abstractions only. The list is a **HEURISTIC for impact**, not an **INPUT to logic**.
|
|
|
|
## Maintenance
|
|
|
|
When a repo joins or leaves the workspace consuming AyCode.Core, update the table above. The list ITSELF is workspace-meta-tooling — not framework code domain.
|
|
|
|
**Future automation candidate** (filed as `ACCORE-META-T-?` in `.github/META_TODO.md`): `protocol-audit` skill could compute this list dynamically from each repo's `@repo.own-dep-repos` (inverse-graph traversal) and verify against this file — eliminating manual upkeep.
|
|
|
|
## Cross-references
|
|
|
|
- **Decision Log entries**: LLMP-DEC-62 (this file's introduction + docs-side Framework-First rule); LLMP-DEC-58 (Phase 5.1 `.github/` retightening — precedent); LLMP-DEC-25 (workspace-meta exception family).
|
|
- **Repo prefix registry (framework's own)**: `.github/REPO_PREFIXES.md`.
|
|
- **Topic registry (framework's own)**: `.github/skills/docs-check/references/TOPIC_CODES.md`.
|
|
- **META TODOs / Issues**: `.github/META_TODO.md` / `.github/META_ISSUES.md`.
|