{
  "project": {
    "name": "iot-standards-lab-landing",
    "version": "0.1.0",
    "private": true,
    "description": "Reference prototype landing page for 경북대학교 컴퓨터학부 사물인터넷 표준 연구실 (IoT Standards Lab).",
    "root": "/home/godopu16/PuKi/lab/landing_page/refer_landing_page"
  },
  "summary": {
    "type": "Next.js 14 App Router landing page (TypeScript + Tailwind CSS)",
    "framework": "next@14.2.5",
    "ui": "react@18.3.1 + tailwindcss@3.4.6",
    "language": "TypeScript 5.5",
    "node_modules_dir_present": true,
    "build_artifact_present": true,
    "git_repo": true
  },
  "top_level_directories": [
    {"name": "app", "path": "./app", "purpose_guess": "Next.js App Router routes and global layout/styles"},
    {"name": "app/intro", "path": "./app/intro", "purpose_guess": "Landing/home page (introductory hero composition)"},
    {"name": "app/intro/_components", "path": "./app/intro/_components", "purpose_guess": "Private components scoped to the intro page"},
    {"name": "app/lectures", "path": "./app/lectures", "purpose_guess": "Lectures / talks route page"},
    {"name": "app/members", "path": "./app/members", "purpose_guess": "Lab members / people route page"},
    {"name": "app/publications", "path": "./app/publications", "purpose_guess": "Publications list route page"},
    {"name": "app/standardization", "path": "./app/standardization", "purpose_guess": "Standardization activities route page"},
    {"name": "components", "path": "./components", "purpose_guess": "Shared/reusable React components used across routes"},
    {"name": "docs", "path": "./docs", "purpose_guess": "Design documentation"},
    {"name": "node_modules", "path": "./node_modules", "purpose_guess": "NPM dependency tree (gitignored)"},
    {"name": ".next", "path": "./.next", "purpose_guess": "Next.js build output cache (gitignored)"}
  ],
  "top_level_files": [
    ".antigravity-session.md",
    ".gitignore",
    "next.config.js",
    "next-env.d.ts",
    "package.json",
    "package-lock.json",
    "postcss.config.js",
    "PROMPT.md",
    "README.md",
    "tailwind.config.ts",
    "tsconfig.json",
    "tsconfig.tsbuildinfo"
  ],
  "file_counts_by_extension": {
    "tsx": 14,
    "ts": 2,
    "js": 2,
    "json": 2,
    "md": 4,
    "css": 1
  },
  "total_source_files_excluding_deps_and_lock": 25,
  "loc_estimate": {
    "scope": "All source files (.ts/.tsx/.js/.css/.json/.md) excluding node_modules, .next, .git, package-lock.json, tsconfig.tsbuildinfo",
    "total_lines": 2605,
    "breakdown": {
      "tsx_total": 1397,
      "ts_total": 136,
      "js_total": 12,
      "css_total": 146,
      "json_total": 50,
      "md_total": 731
    }
  },
  "entry_points": {
    "framework": "Next.js App Router — entry is the `app/` directory, not a single file",
    "app_root_layout": "app/layout.tsx",
    "routes": [
      {"path": "/", "file": "app/intro/page.tsx", "lines": 287, "uses_components": ["app/intro/_components/HeroComposition.tsx"]},
      {"path": "/lectures", "file": "app/lectures/page.tsx", "lines": 102},
      {"path": "/members", "file": "app/members/page.tsx", "lines": 174},
      {"path": "/publications", "file": "app/publications/page.tsx", "lines": 168},
      {"path": "/standardization", "file": "app/standardization/page.tsx", "lines": 169}
    ],
    "shared_components": [
      "components/Counter.tsx",
      "components/Footer.tsx",
      "components/Header.tsx",
      "components/Marquee.tsx",
      "components/PageHeader.tsx",
      "components/Reveal.tsx",
      "components/SectionLabel.tsx"
    ],
    "global_styles": "app/globals.css",
    "no_legacy_pages_dir": true,
    "no_src_dir": true,
    "no_cmd_dir": true,
    "no_main_index_app_server_file": true
  },
  "monorepo_markers": {
    "is_monorepo": false,
    "evidence": {
      "single_package_json": true,
      "package_json_count": 1,
      "workspaces_field": false,
      "lerna_json": false,
      "turbo_json": false,
      "nx_json": false,
      "pnpm_workspace_yaml": false,
      "yarn_workspaces": false,
      "rush_json": false
    }
  },
  "config_files": {
    "typescript": "tsconfig.json (22 lines)",
    "next": "next.config.js (6 lines, reactStrictMode: true)",
    "tailwind": "tailwind.config.ts (114 lines)",
    "postcss": "postcss.config.js (6 lines)",
    "eslint": "eslint-config-next in package.json devDependencies (no standalone .eslintrc visible at top level)"
  },
  "scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "next start",
    "lint": "next lint"
  },
  "documentation": [
    {"file": "README.md", "lines": 104},
    {"file": "PROMPT.md", "lines": 249, "purpose_guess": "Prompt / brief for the reference design"},
    {"file": "docs/DESIGN.md", "lines": 332, "purpose_guess": "Design system specification (Google design.md token spec)"},
    {"file": ".antigravity-session.md", "lines": 46, "purpose_guess": "Runtime artifact captured by an upstream task — antigravity CLI session info, not project content"}
  ],
  "git": {
    "is_git_repo": true,
    "gitignore_present": true,
    "gitignored_paths": ["node_modules", ".next", "out", "build", "*.tsbuildinfo", "next-env.d.ts", ".env*.local"]
  },
  "notes_for_downstream_tasks": [
    "Single Next.js 14 App Router project — not a monorepo, not a multi-package workspace.",
    "All routes live under app/; no pages/ dir, no src/ dir, no separate server entrypoint.",
    "Total source footprint is small (~2.6k lines across 25 files) — feasible to read entirely if needed.",
    "Documentation is split: PROMPT.md (brief) and docs/DESIGN.md (design system) are the primary reference docs; README.md is a project overview.",
    "Tailwind config is rich (114 lines) — likely the canonical source of design tokens, worth inspecting before reading page components.",
    ".antigravity-session.md is NOT a project file — it is an artifact left by the parent task t_c6396592 (antigravity CLI session setup). Do not treat as documentation."
  ]
}
