# Repository Storage Policy Agrarian should stay on free GitHub/LFS limits as long as practical. GitHub is the source-control system, not the long-term asset warehouse. ## GitHub Is For - Source code. - Config files. - Scripts and build wrappers. - Design docs, roadmap docs, and small metadata files. - Curated Unreal assets needed to open and build the current project. - Small data assets and test fixtures. - LFS-tracked `.uasset`, `.umap`, small media, and other binary files that are intentionally part of the working game project. ## GitHub Is Not For - Packaged builds. - Raw DEM, lidar, bathymetry, satellite, or large GIS source datasets. - Generated terrain tile packages beyond curated MVP samples. - Derived Data Cache. - Unreal `Intermediate/`, `Saved/`, and generated build products. - Large marketplace/source-art libraries that are not actively used by the current build. - Full-resolution marketing captures, raw videos, or archival exports. - Long-term Earth-scale tile cache data. ## Large Data Homes - DevBox project storage is the first local home for large working data. - Future object storage should hold generated tile packages, source terrain datasets, build artifacts, and public download assets. - Git should store manifests, checksums, provenance, import scripts, and small curated samples that let us reproduce large artifacts from source storage. ## Budget Targets - Keep Git repository history small enough that clone/fetch remains practical. - Treat Git LFS free storage and bandwidth as a scarce resource. - Investigate before adding any single LFS object over `100 MB`. - Avoid committing generated binary assets that change frequently. - Never store full packaged builds in Git or Git LFS. ## Required Checks Run this before adding large content or after any major asset import: ```bash Scripts/audit_repo_storage.sh ``` If the audit shows large or frequently changing LFS files, decide whether they belong in GitHub, DevBox artifact storage, or future object storage before pushing.