138 lines
5.9 KiB
JSON
138 lines
5.9 KiB
JSON
{
|
|
"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."
|
|
]
|
|
}
|