Update ID format to use per-repo prefixes and random suffix Migrated all issue, TODO, and decision IDs to a new 4-part format: <PREFIX>-<TOPIC>-<TYPE>-<RAND>. Added per-repo prefix declarations in copilot-instructions.md and documented conventions in REPO_PREFIXES.md. Updated all topic registries, logs, cross-references, and documentation to use the new format. Introduced MIGRATION_ID_MAPPING.md for old-to-new ID mapping. Enhanced skills and protocol audit logic to validate and enforce per-repo prefixes and topic codes at runtime. Clarified Framework-First doctrine and ensured all references are unambiguous. |
||
|---|---|---|
| .claude | ||
| .cr/personal/FavoritesList | ||
| .github | ||
| FruitBank.Common | ||
| FruitBank.Common.Server | ||
| FruitBankHybrid | ||
| FruitBankHybrid.Shared | ||
| FruitBankHybrid.Shared.Common | ||
| FruitBankHybrid.Shared.Tests | ||
| FruitBankHybrid.Web | ||
| FruitBankHybrid.Web.Client | ||
| docs | ||
| .gitignore | ||
| CLAUDE.md | ||
| FruitBankHybrid.sln | ||
| README.md | ||
| SqlSchemaCompare_Dev_to_Prod.scmp | ||
| test_toon_businessrule.csx | ||
| tmpclaude-bf6e-cwd | ||
README.md
FruitBankHybridApp
nopCommerce plugin for FruitBank, a fruit & vegetable wholesaler. Manages supplier inbound delivery (Shipping), outgoing orders (Order), warehouse weighing, and inventory stocktaking. Runs as Blazor Server, Blazor WASM, and MAUI Hybrid (Android/iOS/Windows).
nopCommerce 4.80.9 requires it
LLM Context
Domain rules and critical pitfalls live in a single file: .github/copilot-instructions.md
| Tool | Auto-loaded | Action needed |
|---|---|---|
| GitHub Copilot | ✅ copilot-instructions.md |
None |
| Claude Code | ✅ CLAUDE.md → references above |
None |
| Cursor / Windsurf | ✅ README.md |
Read copilot-instructions.md via @file |
Detailed docs: docs/ — GLOSSARY.md, ARCHITECTURE.md, CONVENTIONS.md. Domain model schema (TOON) lives in the plugin: NopCommerce.Common/4.70/Plugins/Nop.Plugin.Misc.AIPlugin/docs/SCHEMA.md
Solution Structure
| Project | TFM | Purpose | README |
|---|---|---|---|
FruitBank.Common |
net9.0 | Shared domain: entities, DTOs, interfaces, SignalR tags, measurement helpers | README |
FruitBank.Common.Server |
net9.0 | Server-side: SignalR hubs, broadcast service, logging, nopCommerce integration | README |
FruitBankHybrid.Shared |
net10.0 | Blazor UI: pages, grids, SignalR client, measurement service, layout | README |
FruitBankHybrid.Shared.Common |
net10.0 | Shared common library (placeholder) | README |
FruitBankHybrid |
net10.0‑android/ios/win | MAUI Hybrid app: Android, iOS, Windows | README |
FruitBankHybrid.Web |
net10.0 | Blazor Server host with SignalR hubs | README |
FruitBankHybrid.Web.Client |
net10.0 | Blazor WebAssembly client | README |
Test Projects
| Project | TFM | Purpose | README |
|---|---|---|---|
FruitBankHybrid.Shared.Tests |
net10.0 | Integration + serialization tests (SignalR, JSON, Toon, bunit) | README |
External Dependencies
All projects reference these via DLL (not ProjectReference). Full source is available in sibling directories:
| Repo | Path | Key Docs |
|---|---|---|
| AyCode.Core (net9.0) | ../../../Aycode/Source/AyCode.Core/ |
copilot-instructions, ARCHITECTURE |
| AyCode.Blazor (net10.0) | ../../../Aycode/Source/AyCode.Blazor/ |
copilot-instructions, MGGRID |
| Mango.Nop Libraries (net9.0) | ../NopCommerce.Common/4.70/Libraries/ |
copilot-instructions, ARCHITECTURE |
| FruitBank Plugin (net9.0) | ../NopCommerce.Common/4.70/Plugins/Nop.Plugin.Misc.AIPlugin/ |
README |