From 6917cb6701e2e28c98e70f6d8a3ed7f1e19dcce7 Mon Sep 17 00:00:00 2001 From: Concept Agent Date: Fri, 8 May 2026 18:38:46 +0200 Subject: [PATCH] Clean root: move build scripts, source data, screenshots, notes to .planning Deployment-only files stay in root (Dockerfile, nginx.conf, docker-compose.yml, .dockerignore, .gitignore, public folders, api/). Everything reference/dev-only goes to .planning/ to keep the deploy directory clean. --- .../DNS_DMARC_RECORD.txt | 0 README.md => .planning/README.md | 0 .../build_locations.py | 0 build_services.py => .planning/build_services.py | 0 {data => .planning/data}/locations.json | 0 {data => .planning/data}/services.json | 0 review_full.png => .planning/review_full.png | Bin review_hero.png => .planning/review_hero.png | Bin __pycache__/build_locations.cpython-313.pyc | Bin 6154 -> 0 bytes __pycache__/build_services.cpython-313.pyc | Bin 4915 -> 0 bytes 10 files changed, 0 insertions(+), 0 deletions(-) rename DNS_DMARC_RECORD.txt => .planning/DNS_DMARC_RECORD.txt (100%) rename README.md => .planning/README.md (100%) rename build_locations.py => .planning/build_locations.py (100%) rename build_services.py => .planning/build_services.py (100%) rename {data => .planning/data}/locations.json (100%) rename {data => .planning/data}/services.json (100%) rename review_full.png => .planning/review_full.png (100%) rename review_hero.png => .planning/review_hero.png (100%) delete mode 100644 __pycache__/build_locations.cpython-313.pyc delete mode 100644 __pycache__/build_services.cpython-313.pyc diff --git a/DNS_DMARC_RECORD.txt b/.planning/DNS_DMARC_RECORD.txt similarity index 100% rename from DNS_DMARC_RECORD.txt rename to .planning/DNS_DMARC_RECORD.txt diff --git a/README.md b/.planning/README.md similarity index 100% rename from README.md rename to .planning/README.md diff --git a/build_locations.py b/.planning/build_locations.py similarity index 100% rename from build_locations.py rename to .planning/build_locations.py diff --git a/build_services.py b/.planning/build_services.py similarity index 100% rename from build_services.py rename to .planning/build_services.py diff --git a/data/locations.json b/.planning/data/locations.json similarity index 100% rename from data/locations.json rename to .planning/data/locations.json diff --git a/data/services.json b/.planning/data/services.json similarity index 100% rename from data/services.json rename to .planning/data/services.json diff --git a/review_full.png b/.planning/review_full.png similarity index 100% rename from review_full.png rename to .planning/review_full.png diff --git a/review_hero.png b/.planning/review_hero.png similarity index 100% rename from review_hero.png rename to .planning/review_hero.png diff --git a/__pycache__/build_locations.cpython-313.pyc b/__pycache__/build_locations.cpython-313.pyc deleted file mode 100644 index 6b1ebe86e3daca47eb0ab238d0a4e1aae4cba850..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6154 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 diff --git a/__pycache__/build_services.cpython-313.pyc b/__pycache__/build_services.cpython-313.pyc deleted file mode 100644 index 5b859eb3e5553adcb6ab55608cf80c54aa1d3c2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4915 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 Tu