Files
HiveGrid-Wireframes/hivegrid-cloud/docs/feature-manifests/admin-app-shell.json
T

117 lines
3.2 KiB
JSON

{
"schemaVersion": "1.0",
"id": "admin-app-shell",
"title": "Admin and Tenant App Shell",
"classification": "core",
"status": "proposed",
"owner": "core-pruning",
"description": "Authenticated tenant shell, admin shell, dashboards, settings layout, and core sidebar structure.",
"rationale": [
"The boilerplate needs stable authenticated shells even after product-specific modules are removed.",
"Admin settings are required for operations, users, pricing configuration, and diagnostics."
],
"codeAreas": [
"apps/web/app/routes/app.$tenant.tsx",
"apps/web/app/routes/app.$tenant/dashboard.tsx",
"apps/web/app/routes/app.$tenant/settings*",
"apps/web/app/routes/admin.tsx",
"apps/web/app/routes/admin/dashboard.tsx",
"apps/web/app/routes/admin/settings*",
"apps/web/app/application/sidebar/AppSidebar.tsx",
"apps/web/app/application/sidebar/AdminSidebar.tsx",
"apps/web/app/components/layouts/sidebars/*"
],
"dependencies": [
"auth-tenancy",
"billing",
"rows-entities-runtime"
],
"consumers": [
"core",
"plugin-candidates"
],
"integration": {
"ownership": "hybrid",
"surfaces": {
"adminRoutes": [
"apps/web/app/routes/admin.tsx",
"apps/web/app/routes/admin/dashboard.tsx",
"apps/web/app/routes/admin/settings*"
],
"tenantRoutes": [
"apps/web/app/routes/app.$tenant.tsx",
"apps/web/app/routes/app.$tenant/dashboard.tsx",
"apps/web/app/routes/app.$tenant/settings*"
],
"publicRoutes": [],
"apiRoutes": []
},
"configuration": {
"admin": [
"Admin shell settings and operational defaults"
],
"tenant": [
"Tenant shell navigation and tenant settings"
],
"environment": [],
"secrets": []
},
"workers": {
"required": false,
"queues": [],
"jobs": [],
"notes": [
"Shell features should not introduce background jobs by default."
]
},
"externalProviders": [],
"permissions": [
"admin.*",
"app.settings.*"
],
"auditEvents": [
"admin.settings.updated",
"tenant.settings.updated"
],
"billingImpacts": [
"Shell may expose subscription status but should not own billing logic."
],
"uat": [
"Admin can reach dashboard/settings.",
"Tenant can reach dashboard/settings.",
"Navigation only shows permitted surfaces."
]
},
"boundaries": {
"mustKeep": [
"Tenant app layout",
"Admin layout",
"Dashboard entry points",
"Core settings navigation",
"System settings needed for operations"
],
"mayMoveToPlugin": [
"Sidebar entries for optional product modules",
"Admin pages that only manage plugin features",
"Demo or playground shell entries"
],
"mustNotTouch": [
"Route files during manifest Phase 1",
"Sidebar and navigation code owned by parallel workers"
]
},
"pruning": {
"phase": "1",
"action": "keep",
"notes": [
"Use plugin/remove manifests to decide which shell entries become optional later."
]
},
"validation": {
"source": [
"docs/feature-inventory.md"
],
"lastReviewed": "2026-05-05"
}
}