from pathlib import Path
import json
import os

def discover_project(root):

    root = Path(root)

    folders = 0
    files = 0

    for current, dirs, filenames in os.walk(root):

        folders += len(dirs)
        files += len(filenames)

    return {

        "projectName": root.name,

        "projectRoot": str(root),

        "folderCount": folders,

        "fileCount": files

    }


if __name__ == "__main__":

    PROJECT = r"D:\xampp\htdocs\manyfest\ExplorerAssistGPT"

    report = discover_project(PROJECT)

    reports = (
        Path(PROJECT)
        / "reports"
        / "discovery"
    )

    reports.mkdir(
        parents=True,
        exist_ok=True
    )

    outfile = (
        reports
        / "project_inventory.json"
    )

    outfile.write_text(

        json.dumps(
            report,
            indent=4
        ),

        encoding="utf8"

    )

    print()
    print("Project discovery complete.")
    print()
    print(f"Inventory written to: {outfile}")
    print()
    print(json.dumps(report, indent=4))