package.json은 프로젝트의 이름·버전과 필요한 코드 부품 목록이 적힌, 프로젝트의 신분증 같은 파일입니다.
2026년 7월 기준으로, AI에게 코드를 만들어 달라고 하면 폴더 안에 거의 항상 이 파일이 들어 있습니다.
이 글을 읽으면 package.json이 왜 있는지, 안에 뭐가 적혀 있는지, 그리고 이게 AI 코딩과 무슨 상관인지까지 한 번에 정리됩니다.

package.json은 이 프로젝트가 무엇이고(이름·버전), 무엇을 필요로 하는지(부품 목록)를 한 장에 적어둔 파일입니다. 이 파일 하나만 있으면 어디서든 필요한 부품을 다시 설치할 수 있습니다.
package.json은 프로젝트 폴더의 맨 위에 놓이는 작은 텍스트 파일입니다.
이름 그대로 "패키지(package)에 대한 정보를 담은 JSON 파일"이라는 뜻입니다.
여기서 JSON은 사람도 읽고 컴퓨터도 읽는 데이터 표기 형식인데, 이 부분이 궁금하면 이전에 쓴 JSON 글을 참고하면 됩니다.
이 파일에는 프로젝트의 이름, 버전, 그리고 이 프로젝트가 돌아가려면 어떤 코드 부품이 필요한지가 적혀 있습니다.
그래서 폴더를 처음 열었을 때 package.json만 봐도 "이게 무슨 프로젝트고 뭐가 필요한지"를 대충 알 수 있습니다.
이 파일은 보통 우리가 직접 손으로 만들지 않습니다.
앞 글에서 다룬 npm이 프로젝트를 시작하거나 부품을 설치할 때 자동으로 만들고 관리해 줍니다.
가장 단순한 package.json은 아래처럼 생겼습니다.
{
"name": "my-first-app",
"version": "1.0.0",
"scripts": {
"start": "node index.js"
},
"dependencies": {
"express": "^4.19.2"
}
}
낯설어 보여도 겁먹을 필요는 없습니다.
사실상 "항목 이름: 값"이 쭉 나열된 목록일 뿐입니다.
주요 항목만 표로 정리하면 이렇게 됩니다.
| 항목 | 뜻 |
|---|---|
| name | 프로젝트 이름 |
| version | 현재 버전 (예: 1.0.0) |
| scripts | 자주 쓰는 명령에 짧은 별명 붙이기 (start, build 등) |
| dependencies | 이 프로젝트가 실행되려면 필요한 코드 부품 목록 |
scripts는 긴 명령어에 별명을 붙여두는 칸입니다.
예를 들어 node index.js라고 매번 치는 대신 npm start만 입력하면 되도록 정해둔 것입니다.

부품 목록은 두 칸으로 나뉘어 있을 때가 많습니다.
dependencies는 프로그램이 실제로 돌아갈 때 필요한 부품입니다.
devDependencies는 개발할 때만 쓰고 완성된 프로그램에는 필요 없는 부품입니다.
비유하자면 요리에 들어가는 재료가 dependencies, 요리하다가 쓰는 도마·칼 같은 도구가 devDependencies입니다.
완성된 음식에는 도마가 들어가지 않는 것과 같은 이치입니다.
이 대목이 핵심입니다.
AI에게 "웹앱 하나 만들어줘"라고 하면 여러 파일이 담긴 폴더가 생깁니다.
그 폴더를 열었을 때 가장 먼저 봐야 할 파일이 바로 package.json입니다.
이 파일이 곧 "이 프로젝트가 뭘 필요로 하는지"를 알려주는 목록이기 때문입니다.
개인적으로는, AI가 만든 코드를 처음 열어보는 사람일수록 이 파일부터 여는 습관을 들이는 게 좋다고 봅니다.
여기에 더 중요한 점이 하나 있습니다.
부품 실물이 담긴 무거운 폴더를 통째로 주고받지 않아도, package.json만 있으면 필요한 부품을 언제든 다시 설치할 수 있습니다.
터미널에서 npm install만 입력하면 이 목록을 읽어 부품을 알아서 내려받습니다.
그래서 이 파일은 프로젝트의 "재료 목록"이자 "복원 설명서" 역할을 동시에 합니다.
package.json은 프로젝트의 이름·버전과 필요한 부품을 적어둔 신분증 겸 재료 목록입니다.
이 파일 하나만 챙기면 무거운 부품 폴더 없이도 프로젝트를 어디서든 되살릴 수 있습니다.
AI가 만든 프로젝트를 열었을 때 가장 먼저 확인하면 좋은 파일이기도 합니다.
참고로 실제로 부품이 쌓이는 무거운 폴더가 궁금하다면, 다음 편에서 다룰 node_modules 이야기로 이어집니다.
직접 만들 필요는 거의 없습니다.
npm으로 프로젝트를 시작하거나 부품을 설치하면 자동으로 만들어지고 갱신됩니다.
손으로 여는 경우는 보통 이름을 바꾸거나 scripts에 명령을 추가할 때 정도입니다.
프로젝트가 자기 정보와 필요한 부품 목록을 잃어버립니다.
그러면 npm install로 부품을 다시 설치하는 것도 어려워지고, 정해둔 명령 별명도 사라집니다.
실수로 지웠다면 새로 만들 수 있지만, 원래 있던 부품 목록은 직접 다시 채워 넣어야 합니다.
npm 공식 문서(docs.npmjs.com)의 package.json 항목 설명과 Node.js 공식 문서를 참고했습니다. dependencies·devDependencies 구분과 scripts 사용법은 공식 문서 기준이며, 세부 표기는 발행 전 재확인이 필요합니다.

| 의존성(dependency)이 뭐야 — 내 코드가 기대고 있는 남의 코드 (0) | 2026.07.21 |
|---|---|
| node_modules가 뭐야 — 왜 이렇게 무겁고, 지워도 되나 (0) | 2026.07.21 |
| Node.js가 뭐야 — 브라우저 밖에서도 도는 자바스크립트 (0) | 2026.07.21 |
| npm이 뭐야 — 자바스크립트 코드 부품 앱스토어 (0) | 2026.07.20 |
| JSON이란 — 이름표 붙은 정리함으로 이해하기 (0) | 2026.07.20 |
댓글 영역