From 3ffe9bbf99bde1591c7a582076d3e2cda9f0cb9d Mon Sep 17 00:00:00 2001 From: beatz174-bit Date: Fri, 21 Nov 2025 16:10:41 +1000 Subject: [PATCH] Restructure project to root layout --- app/.eslintrc.json => .eslintrc.json | 0 .gitignore | 5 ++--- .vscode/launch.json | 4 ++-- .vscode/tasks.json | 6 ++---- Agents.md | 13 ++++++++++--- app/Dockerfile => Dockerfile | 0 app/docker-compose.yml => docker-compose.yml | 0 app/index.html => index.html | 0 app/nginx.conf => nginx.conf | 0 app/package-lock.json => package-lock.json | 0 app/package.json => package.json | 0 {app/public => public}/icons/icon.svg | 0 {app/public => public}/manifest.json | 0 {app/public => public}/service-worker.js | 0 {app/src => src}/App.tsx | 0 {app/src => src}/components/BarcodeScannerView.tsx | 0 {app/src => src}/components/LongPressButton.tsx | 0 {app/src => src}/components/NumericStepper.tsx | 0 {app/src => src}/components/PickItemRow.tsx | 0 {app/src => src}/components/ProductRow.tsx | 0 {app/src => src}/components/SwipeableRow.tsx | 0 {app/src => src}/context/DBProvider.tsx | 0 {app/src => src}/db/index.ts | 0 {app/src => src}/db/migrations.ts | 0 {app/src => src}/db/seed.ts | 0 {app/src => src}/hooks/dataHooks.ts | 0 {app/src => src}/hooks/useBarcodeScanner.ts | 0 {app/src => src}/hooks/useLongPress.ts | 0 {app/src => src}/hooks/useServiceWorker.ts | 0 {app/src => src}/hooks/useSwipe.ts | 0 {app/src => src}/main.tsx | 0 {app/src => src}/models/Area.ts | 0 {app/src => src}/models/PickItem.ts | 0 {app/src => src}/models/PickList.ts | 0 {app/src => src}/models/Product.ts | 0 {app/src => src}/pwa/manifest.json | 0 {app/src => src}/pwa/service-worker.js | 0 {app/src => src}/screens/ActivePickListScreen.tsx | 0 {app/src => src}/screens/AddItemScreen.tsx | 0 {app/src => src}/screens/BarcodeScannerScreen.tsx | 0 {app/src => src}/screens/HomeScreen.tsx | 0 {app/src => src}/screens/ManageAreasScreen.tsx | 0 {app/src => src}/screens/ManageProductsScreen.tsx | 0 {app/src => src}/screens/PickListsScreen.tsx | 0 {app/src => src}/screens/StartPickListScreen.tsx | 0 {app/src => src}/utils/barcode.ts | 0 {app/src => src}/utils/longPress.ts | 0 {app/src => src}/utils/swipe.ts | 0 app/tsconfig.json => tsconfig.json | 0 app/tsconfig.node.json => tsconfig.node.json | 0 app/vite.config.ts => vite.config.ts | 0 51 files changed, 16 insertions(+), 12 deletions(-) rename app/.eslintrc.json => .eslintrc.json (100%) rename app/Dockerfile => Dockerfile (100%) rename app/docker-compose.yml => docker-compose.yml (100%) rename app/index.html => index.html (100%) rename app/nginx.conf => nginx.conf (100%) rename app/package-lock.json => package-lock.json (100%) rename app/package.json => package.json (100%) rename {app/public => public}/icons/icon.svg (100%) rename {app/public => public}/manifest.json (100%) rename {app/public => public}/service-worker.js (100%) rename {app/src => src}/App.tsx (100%) rename {app/src => src}/components/BarcodeScannerView.tsx (100%) rename {app/src => src}/components/LongPressButton.tsx (100%) rename {app/src => src}/components/NumericStepper.tsx (100%) rename {app/src => src}/components/PickItemRow.tsx (100%) rename {app/src => src}/components/ProductRow.tsx (100%) rename {app/src => src}/components/SwipeableRow.tsx (100%) rename {app/src => src}/context/DBProvider.tsx (100%) rename {app/src => src}/db/index.ts (100%) rename {app/src => src}/db/migrations.ts (100%) rename {app/src => src}/db/seed.ts (100%) rename {app/src => src}/hooks/dataHooks.ts (100%) rename {app/src => src}/hooks/useBarcodeScanner.ts (100%) rename {app/src => src}/hooks/useLongPress.ts (100%) rename {app/src => src}/hooks/useServiceWorker.ts (100%) rename {app/src => src}/hooks/useSwipe.ts (100%) rename {app/src => src}/main.tsx (100%) rename {app/src => src}/models/Area.ts (100%) rename {app/src => src}/models/PickItem.ts (100%) rename {app/src => src}/models/PickList.ts (100%) rename {app/src => src}/models/Product.ts (100%) rename {app/src => src}/pwa/manifest.json (100%) rename {app/src => src}/pwa/service-worker.js (100%) rename {app/src => src}/screens/ActivePickListScreen.tsx (100%) rename {app/src => src}/screens/AddItemScreen.tsx (100%) rename {app/src => src}/screens/BarcodeScannerScreen.tsx (100%) rename {app/src => src}/screens/HomeScreen.tsx (100%) rename {app/src => src}/screens/ManageAreasScreen.tsx (100%) rename {app/src => src}/screens/ManageProductsScreen.tsx (100%) rename {app/src => src}/screens/PickListsScreen.tsx (100%) rename {app/src => src}/screens/StartPickListScreen.tsx (100%) rename {app/src => src}/utils/barcode.ts (100%) rename {app/src => src}/utils/longPress.ts (100%) rename {app/src => src}/utils/swipe.ts (100%) rename app/tsconfig.json => tsconfig.json (100%) rename app/tsconfig.node.json => tsconfig.node.json (100%) rename app/vite.config.ts => vite.config.ts (100%) diff --git a/app/.eslintrc.json b/.eslintrc.json similarity index 100% rename from app/.eslintrc.json rename to .eslintrc.json diff --git a/.gitignore b/.gitignore index 7cc376e..b431156 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ node_modules -app/node_modules -app/dist -app/.vite +dist +.vite diff --git a/.vscode/launch.json b/.vscode/launch.json index e52fc37..147923c 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -6,7 +6,7 @@ "type": "pwa-chrome", "request": "launch", "url": "http://localhost:5173/", - "webRoot": "${workspaceFolder}/app/src", + "webRoot": "${workspaceFolder}/src", "preLaunchTask": "npm: dev server" }, { @@ -14,7 +14,7 @@ "type": "pwa-chrome", "request": "launch", "url": "http://localhost:4173/", - "webRoot": "${workspaceFolder}/app/src", + "webRoot": "${workspaceFolder}/src", "preLaunchTask": "npm: preview server" } ] diff --git a/.vscode/tasks.json b/.vscode/tasks.json index ab1c2fb..1869265 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -5,9 +5,8 @@ "label": "npm: dev server", "type": "npm", "script": "dev", - "path": "app", "options": { - "cwd": "${workspaceFolder}/app" + "cwd": "${workspaceFolder}" }, "problemMatcher": { "owner": "vite-dev", @@ -31,9 +30,8 @@ "label": "npm: preview server", "type": "npm", "script": "preview", - "path": "app", "options": { - "cwd": "${workspaceFolder}/app" + "cwd": "${workspaceFolder}" }, "problemMatcher": { "owner": "vite-preview", diff --git a/Agents.md b/Agents.md index 126da8b..3391438 100644 --- a/Agents.md +++ b/Agents.md @@ -32,9 +32,13 @@ All data stays local to the device. ## 2. Directory Structure -Codex must always generate files within this structure: +Codex must always generate files within this structure (project root is +where `package.json` lives and all npm commands run from there): - /app + / + /public + manifest.json (copied from src/pwa) + service-worker.js (copied from src/pwa) /src /components /screens @@ -61,11 +65,14 @@ Codex must always generate files within this structure: main.tsx Dockerfile docker-compose.yml + nginx.conf vite.config.ts AGENTS.md /.vscode (workspace-level editor settings and launch/task config) -Codex must not introduce alternative or conflicting structures. +Codex must not introduce alternative or conflicting structures, and all +commands such as `npm install`, `npm run dev`, and `npm run build` must +execute from the project root (not a nested `app` folder). ------------------------------------------------------------------------ diff --git a/app/Dockerfile b/Dockerfile similarity index 100% rename from app/Dockerfile rename to Dockerfile diff --git a/app/docker-compose.yml b/docker-compose.yml similarity index 100% rename from app/docker-compose.yml rename to docker-compose.yml diff --git a/app/index.html b/index.html similarity index 100% rename from app/index.html rename to index.html diff --git a/app/nginx.conf b/nginx.conf similarity index 100% rename from app/nginx.conf rename to nginx.conf diff --git a/app/package-lock.json b/package-lock.json similarity index 100% rename from app/package-lock.json rename to package-lock.json diff --git a/app/package.json b/package.json similarity index 100% rename from app/package.json rename to package.json diff --git a/app/public/icons/icon.svg b/public/icons/icon.svg similarity index 100% rename from app/public/icons/icon.svg rename to public/icons/icon.svg diff --git a/app/public/manifest.json b/public/manifest.json similarity index 100% rename from app/public/manifest.json rename to public/manifest.json diff --git a/app/public/service-worker.js b/public/service-worker.js similarity index 100% rename from app/public/service-worker.js rename to public/service-worker.js diff --git a/app/src/App.tsx b/src/App.tsx similarity index 100% rename from app/src/App.tsx rename to src/App.tsx diff --git a/app/src/components/BarcodeScannerView.tsx b/src/components/BarcodeScannerView.tsx similarity index 100% rename from app/src/components/BarcodeScannerView.tsx rename to src/components/BarcodeScannerView.tsx diff --git a/app/src/components/LongPressButton.tsx b/src/components/LongPressButton.tsx similarity index 100% rename from app/src/components/LongPressButton.tsx rename to src/components/LongPressButton.tsx diff --git a/app/src/components/NumericStepper.tsx b/src/components/NumericStepper.tsx similarity index 100% rename from app/src/components/NumericStepper.tsx rename to src/components/NumericStepper.tsx diff --git a/app/src/components/PickItemRow.tsx b/src/components/PickItemRow.tsx similarity index 100% rename from app/src/components/PickItemRow.tsx rename to src/components/PickItemRow.tsx diff --git a/app/src/components/ProductRow.tsx b/src/components/ProductRow.tsx similarity index 100% rename from app/src/components/ProductRow.tsx rename to src/components/ProductRow.tsx diff --git a/app/src/components/SwipeableRow.tsx b/src/components/SwipeableRow.tsx similarity index 100% rename from app/src/components/SwipeableRow.tsx rename to src/components/SwipeableRow.tsx diff --git a/app/src/context/DBProvider.tsx b/src/context/DBProvider.tsx similarity index 100% rename from app/src/context/DBProvider.tsx rename to src/context/DBProvider.tsx diff --git a/app/src/db/index.ts b/src/db/index.ts similarity index 100% rename from app/src/db/index.ts rename to src/db/index.ts diff --git a/app/src/db/migrations.ts b/src/db/migrations.ts similarity index 100% rename from app/src/db/migrations.ts rename to src/db/migrations.ts diff --git a/app/src/db/seed.ts b/src/db/seed.ts similarity index 100% rename from app/src/db/seed.ts rename to src/db/seed.ts diff --git a/app/src/hooks/dataHooks.ts b/src/hooks/dataHooks.ts similarity index 100% rename from app/src/hooks/dataHooks.ts rename to src/hooks/dataHooks.ts diff --git a/app/src/hooks/useBarcodeScanner.ts b/src/hooks/useBarcodeScanner.ts similarity index 100% rename from app/src/hooks/useBarcodeScanner.ts rename to src/hooks/useBarcodeScanner.ts diff --git a/app/src/hooks/useLongPress.ts b/src/hooks/useLongPress.ts similarity index 100% rename from app/src/hooks/useLongPress.ts rename to src/hooks/useLongPress.ts diff --git a/app/src/hooks/useServiceWorker.ts b/src/hooks/useServiceWorker.ts similarity index 100% rename from app/src/hooks/useServiceWorker.ts rename to src/hooks/useServiceWorker.ts diff --git a/app/src/hooks/useSwipe.ts b/src/hooks/useSwipe.ts similarity index 100% rename from app/src/hooks/useSwipe.ts rename to src/hooks/useSwipe.ts diff --git a/app/src/main.tsx b/src/main.tsx similarity index 100% rename from app/src/main.tsx rename to src/main.tsx diff --git a/app/src/models/Area.ts b/src/models/Area.ts similarity index 100% rename from app/src/models/Area.ts rename to src/models/Area.ts diff --git a/app/src/models/PickItem.ts b/src/models/PickItem.ts similarity index 100% rename from app/src/models/PickItem.ts rename to src/models/PickItem.ts diff --git a/app/src/models/PickList.ts b/src/models/PickList.ts similarity index 100% rename from app/src/models/PickList.ts rename to src/models/PickList.ts diff --git a/app/src/models/Product.ts b/src/models/Product.ts similarity index 100% rename from app/src/models/Product.ts rename to src/models/Product.ts diff --git a/app/src/pwa/manifest.json b/src/pwa/manifest.json similarity index 100% rename from app/src/pwa/manifest.json rename to src/pwa/manifest.json diff --git a/app/src/pwa/service-worker.js b/src/pwa/service-worker.js similarity index 100% rename from app/src/pwa/service-worker.js rename to src/pwa/service-worker.js diff --git a/app/src/screens/ActivePickListScreen.tsx b/src/screens/ActivePickListScreen.tsx similarity index 100% rename from app/src/screens/ActivePickListScreen.tsx rename to src/screens/ActivePickListScreen.tsx diff --git a/app/src/screens/AddItemScreen.tsx b/src/screens/AddItemScreen.tsx similarity index 100% rename from app/src/screens/AddItemScreen.tsx rename to src/screens/AddItemScreen.tsx diff --git a/app/src/screens/BarcodeScannerScreen.tsx b/src/screens/BarcodeScannerScreen.tsx similarity index 100% rename from app/src/screens/BarcodeScannerScreen.tsx rename to src/screens/BarcodeScannerScreen.tsx diff --git a/app/src/screens/HomeScreen.tsx b/src/screens/HomeScreen.tsx similarity index 100% rename from app/src/screens/HomeScreen.tsx rename to src/screens/HomeScreen.tsx diff --git a/app/src/screens/ManageAreasScreen.tsx b/src/screens/ManageAreasScreen.tsx similarity index 100% rename from app/src/screens/ManageAreasScreen.tsx rename to src/screens/ManageAreasScreen.tsx diff --git a/app/src/screens/ManageProductsScreen.tsx b/src/screens/ManageProductsScreen.tsx similarity index 100% rename from app/src/screens/ManageProductsScreen.tsx rename to src/screens/ManageProductsScreen.tsx diff --git a/app/src/screens/PickListsScreen.tsx b/src/screens/PickListsScreen.tsx similarity index 100% rename from app/src/screens/PickListsScreen.tsx rename to src/screens/PickListsScreen.tsx diff --git a/app/src/screens/StartPickListScreen.tsx b/src/screens/StartPickListScreen.tsx similarity index 100% rename from app/src/screens/StartPickListScreen.tsx rename to src/screens/StartPickListScreen.tsx diff --git a/app/src/utils/barcode.ts b/src/utils/barcode.ts similarity index 100% rename from app/src/utils/barcode.ts rename to src/utils/barcode.ts diff --git a/app/src/utils/longPress.ts b/src/utils/longPress.ts similarity index 100% rename from app/src/utils/longPress.ts rename to src/utils/longPress.ts diff --git a/app/src/utils/swipe.ts b/src/utils/swipe.ts similarity index 100% rename from app/src/utils/swipe.ts rename to src/utils/swipe.ts diff --git a/app/tsconfig.json b/tsconfig.json similarity index 100% rename from app/tsconfig.json rename to tsconfig.json diff --git a/app/tsconfig.node.json b/tsconfig.node.json similarity index 100% rename from app/tsconfig.node.json rename to tsconfig.node.json diff --git a/app/vite.config.ts b/vite.config.ts similarity index 100% rename from app/vite.config.ts rename to vite.config.ts