본문으로 건너뛰기

© 2026 Molayo

Qiita헤드라인2026. 06. 26. 16:33

README 업데이트를 매번 잊어버려서 Cursor CLI와 tasks.json으로 자동화했다

요약

Cursor CLI와 VSCode의 tasks.json을 활용하여 README 업데이트 과정을 자동화하는 방법을 소개합니다. 매번 긴 명령어를 입력하는 번거로움을 줄이기 위해 VSCode 태스크로 등록하여 클릭 한 번으로 AI 에이전트를 실행하는 워크플로우를 제안합니다.

핵심 포인트

  • Cursor CLI를 활용한 README 자동 업데이트 구성
  • VSCode tasks.json을 이용한 명령어 태스크화
  • Task Manager 확장 기능을 통한 실행 편의성 증대
  • 반복적인 AI 프롬프트 입력 수고를 줄이는 효율적인 개발 환경 구축

개인 개발이든 업무 개발이든, README 업데이트는 자칫 뒤로 미루기 쉽습니다.

기능 추가를 한 뒤에,

  • 실행 방법이 바뀌었다
  • 환경 변수가 늘어났다
  • 디렉토리 구성이 바뀌었다
  • 셋업(Setup) 절차가 오래되었다
  • 테스트 실행 방법을 쓰는 것을 잊었다

와 같은 일이 자주 발생합니다.

README가 중요하다는 것은 알고 있지만, 구현이 끝나면 만족해버려서 업데이트를 잊곤 합니다.

그래서 이번에는 Cursor CLI와 VSCode의 tasks.json을 사용하여, README 업데이트를 VSCode의 태스크(Task)로서 실행할 수 있도록 만들어 보았습니다.

이번에 하고 싶은 것은 심플합니다.

VSCode의 커맨드 팔레트(Command Palette)에서 태스크를 실행하면, Cursor CLI가 동작하여 README를 업데이트해 주는 구성으로 만듭니다.

이미지는 다음과 같습니다.

VSCode tasks.json
↓
Tasks: Run Task
...

매번 터미널에 긴 명령어를 입력하는 대신, VSCode의 태스크로 등록해 두는 것이 포인트입니다.

먼저, Cursor CLI로 README 업데이트를 요청하는 명령어는 다음과 같은 형태입니다.

agent "이 프로젝트의 구성을 확인하고, README.md를 업데이트해 주세요. 셋업 절차, 실행 방법, 테스트 실행 방법, 주요 디렉토리 구성을 초보자도 알 수 있도록 정리해 주세요." --model claude-4.6-sonnet-medium-thinking --print --force --trust

이 명령어를 매번 직접 입력하는 것은 조금 번거롭습니다.

특히, 다음과 같은 옵션을 매번 쓰는 것이 은근히 수고스럽습니다.

--model claude-4.6-sonnet-medium-thinking --print --force --trust

그래서 이 명령어를 tasks.json에 등록합니다.

tasks.json은 VSCode에서 임의의 명령어를 태스크로 등록할 수 있는 설정 파일입니다.

보통은 다음과 같은 용도로 사용하는 경우가 많을 것입니다.

  • 빌드 (Build)
  • 테스트 (Test)
  • Lint
  • npm scripts 실행
  • 임의의 셸(Shell) 명령어 실행

이번에는 이 메커니즘을 사용하여 Cursor CLI의 실행을 태스크화합니다.

프로젝트 루트 직하에 .vscode/tasks.json을 생성합니다.

디렉토리 구성은 다음과 같은 이미지입니다.

sample-project/
├── .vscode/
│ └── tasks.json
...

우선 가장 심플한 형태로 README 업데이트 태스크를 등록합니다.

{
"version": "2.0.0",
"tasks": [
...

이렇게 하면 VSCode에서 README 업데이트 태스크를 실행할 수 있게 됩니다.

VSCode에서 다음을 실행합니다.

Ctrl + Shift + P

커맨드 팔레트가 열리면 다음을 선택합니다.

Tasks: Run Task

그 후, 등록한 태스크를 선택합니다.

[AI] README를 업데이트

그러면 VSCode의 터미널 상에서 Cursor CLI가 실행됩니다.

다만, 매번 커맨드 팔레트를 열어서 태스크를 선택하는 것도 조금 번거롭습니다.

개인적으로는 VSCode 확장 기능인 Task Manager를 설치해 두면 편리했습니다.

Task Manager를 사용하면 등록된 태스크를 사이드바 등에서 확인하고 클릭으로 실행할 수 있습니다.

이번처럼 tasks.json에 AI용 태스크를 여러 개 등록해 나가는 경우,

[AI] README를 업데이트

[AI] git 차이점(diff)을 리뷰

[AI] 테스트 관점을 도출

와 같은 태스크를 목록으로 보면서 실행할 수 있으므로, 커맨드 팔레트에서 매번 찾는 것보다 사용하기 쉽습니다.

VSCode 표준인 「Tasks: Run Task」로도 충분히 사용할 수 있지만, AI용 태스크를 일상적으로 사용한다면 Task Manager와 같은 확장 기능을 설치해 두는 것이 운용하기 쉬워질 것이라고 생각합니다.

이번 설정을 조금 분해해서 살펴보겠습니다.

"label": "[AI] README를 업데이트"

태스크 목록에 표시되는 이름입니다.

커맨드 팔레트에서 실행할 때 알아보기 쉬운 이름으로 해두면 편리합니다.

이번에는 AI를 사용하는 태스크라는 것을 알 수 있도록 [AI]를 붙였습니다.

"type": "shell"

셸 명령 (Shell command)으로 실행하도록 지정하는 것입니다.

이번에는 agent 명령을 실행하고 싶기 때문에, shell로 설정했습니다.

"command": "agent"

실행할 명령입니다.

Cursor CLI의 agent 명령을 지정하고 있습니다.

"args": [
"이 프로젝트의 구성을 확인하고, README.md를 업데이트해 주세요. 설정 절차, 실행 방법, 테스트 실행 방법, 주요 디렉토리 구성을 초보자도 알 수 있도록 정리해 주세요.",
"--model",
...

agent 명령에 전달할 인자 (Arguments)입니다.

실제로는 다음과 같은 명령을 실행하는 이미지입니다.

agent "이 프로젝트의 구성을 확인하고, README.md를 업데이트해 주세요. 설정 절차, 실행 방법, 테스트 실행 방법, 주요 디렉토리 구성을 초보자도 알 수 있도록 정리해 주세요." --model claude-4.6-sonnet-medium-thinking --print --force --trust

긴 명령어를 tasks.json에 가둬둘 수 있으므로, 매번 수동으로 입력할 필요가 없습니다.

"presentation": {
"reveal": "always",
"panel": "new"
...

태스크 실행 시 터미널 표시와 관련된 설정입니다.

reveal: "always"로 설정하면, 태스크 실행 시 터미널을 표시합니다.

Cursor CLI의 실행 결과를 확인하고 싶기 때문에, 이번에는 항상 표시하도록 설정했습니다.

panel: "new"로 설정하면, 매번 새로운 터미널 패널에서 실행됩니다.

이전 실행 결과와 섞이지 않기 때문에, AI 계열 태스크에서는 보기 편합니다.

"problemMatcher": []

problemMatcher는 빌드 에러나 Lint 에러 등을 VSCode의 '문제 (Problems)' 패널에 연결하기 위한 설정입니다.

이번에는 README 업데이트를 위한 AI 태스크이므로, 특별히 문제 매처 (Problem Matcher)를 사용하지 않습니다.

따라서 빈 배열로 설정했습니다.

처음의 프롬프트로도 동작하지만, 조금 더 실용적으로 만든다면 README에 포함했으면 하는 내용을 명시하는 것이 안정적입니다.

예를 들어, 다음과 같은 프롬프트로 만듭니다.

이 프로젝트의 구성을 확인하고, README.md를 업데이트해 주세요.
README에는 다음을 포함해 주세요.
- 프로젝트 개요
...

이를 tasks.json에 넣으면 다음과 같습니다.

{
"version": "2.0.0",
"tasks": [
...

이렇게 하면 README 업데이트 시의 관점을 고정할 수 있습니다.

조금 더 편리하게 만든다면, inputs를 사용하여 실행 시 값을 입력할 수 있도록 합니다.

예를 들어, 업데이트 대상 파일명이나 README의 상세도를 선택할 수 있게 합니다.

{
"version": "2.0.0",
"tasks": [
...

이 설정으로 하면 태스크 실행 시 다음을 입력하거나 선택할 수 있습니다.

  • 업데이트 대상 파일
  • README 업데이트 방침

예를 들어, 다음과 같이 나누어 사용할 수 있습니다.

README.md를 초보자용으로 자세히 정리하기

또는,

docs/setup.md를 기존 내용을 해치지 않고 부족한 부분만 보완하기

tasks.json만으로도 의외로 유연하게 구성할 수 있습니다.

README 업데이트는 은근히 번거로운 일입니다.

하지만 태스크화해 두면,

Tasks: Run Task
↓
[AI] README 업데이트

만으로 실행할 수 있습니다.

"나중에 README 업데이트해야지"라고 생각하며 잊어버리는 것보다, 구현 후에 바로 태스크를 실행하는 것이 훨씬 편합니다.

README를 업데이트할 때 매번 프롬프트를 생각할 필요가 없습니다.

미리 tasks.json에 관점을 적어두면, 매번 동일한 기준으로 README를 업데이트할 수 있습니다.

예를 들어, 다음과 같은 관점을 고정할 수 있습니다.

  • 설정 절차
  • 실행 방법
  • 테스트 실행 방법
  • 디렉토리 구성
  • 환경 변수
  • 개발 시 주의 사항

프롬프트의 누락이 줄어드는 것이 장점입니다.

.vscode/tasks.json을 리포지토리에 포함하면, 팀원들도 동일한 태스크를 사용할 수 있습니다.

README 업데이트의 관점을 팀 단위로 맞출 수 있으므로, 개인마다 README 작성 방식이 제각각이 되는 것을 어느 정도 방지할 수 있습니다.

물론 최종적인 리뷰는 필요하지만, "최소한 이 관점은 포함한다"라는 토대를 공유할 수 있다는 점은 편리합니다.

Cursor CLI로 README를 업데이트한 후에는 반드시 차이점(diff)을 확인합니다.

git diff README.md

AI가 생성한 내용이 반드시 옳다는 보장은 없습니다.

특히 다음과 같은 점은 사람이 확인하는 것이 좋습니다.

  • 실제로 존재하지 않는 명령어를 작성하지 않았는지
  • 환경 변수(Environment Variable) 이름이 틀리지 않았는지
  • 실행 절차가 실제로 작동하는지
  • 디렉터리(Directory) 구성이 현재 상태와 일치하는지
  • 오래된 정보가 남아있지 않은지

README는 프로젝트의 입구가 되므로, AI에게 전적으로 맡기지 말고 마지막에는 사람이 확인한다는 전제로 사용하는 것이 좋습니다.

이번 예시에서는 다음과 같은 옵션을 사용했습니다.

--force --trust

확인을 생략하고 처리를 진행하기 쉬워져서 편리하지만, AI가 파일을 변경할 가능성이 있는 경우에는 주의가 필요합니다.

갑자기 운영(Production) 프로젝트에서 사용하기보다는, 우선 검증용 리포지터리(Repository)나 영향이 적은 프로젝트에서 시도해 보는 것이 좋다고 생각합니다.

README 업데이트를 위해 프로젝트 전체를 확인하게 할 경우, 기밀 정보 취급에 주의해야 합니다.

예를 들어, 다음과 같은 정보를 부주의하게 포함하지 않도록 합니다.

  • API 키
  • 비밀번호
  • 개인 정보
  • 사외비 접속 정보
  • 운영 환경 인증 정보

업무에서 사용할 경우에는 사내 규칙이나 이용 가능한 범위를 확인한 후 사용해야 합니다.

이번에 사용한 명령어는 다음과 같습니다.

agent "프롬프트 문자열" --model claude-4.6-sonnet-medium-thinking --print --force --trust

환경이나 Cursor CLI의 버전에 따라서는 비대화형(Non-interactive) 실행 시 다음과 같이 -p를 사용하는 형식일 수도 있습니다.

agent -p "프롬프트 문자열" --model claude-4.6-sonnet-medium-thinking

자신의 환경에서 사용할 수 있는 옵션은 다음 명령어로 확인해 두면 안심할 수 있습니다.

agent --help

이번에는 README 업데이트를 예로 들었지만, 같은 방식으로 다른 AI 작업도 태스크(Task)화할 수 있습니다.

예를 들어 다음과 같은 태스크입니다.

[AI] git 차이점(diff) 리뷰
[AI] 테스트 관점 도출
[AI] 에러 원인 조사
...

예시로 git 차이점 리뷰용 태스크를 작성한다면 다음과 같습니다.

{
"label": "[AI] git 차이점 리뷰",
"type": "shell",
...

README 업데이트와 같은 가벼운 작업부터 시작해서, 익숙해지면 리뷰나 테스트 관점 도출로 범위를 넓혀가는 것이 좋아 보입니다.

README 업데이트는 중요하지만 매번 잊어버리기 쉽습니다.

그래서 Cursor CLI와 VSCode의 tasks.json을 조합하여 README 업데이트를 태스크화해 보았습니다.

이번 구성은 다음과 같습니다.

VSCode tasks.json
↓
Tasks: Run Task
...

tasks.json은 빌드나 테스트뿐만 아니라, AI 작업을 호출하는 런처(Launcher)로서도 사용할 수 있다고 느꼈습니다.

특히 좋았던 점은 다음과 같습니다.

  • 매번 Cursor CLI 명령어를 입력할 필요가 없다
  • README 업데이트용 프롬프트를 고정할 수 있다
  • 커맨드 팔레트(Command Palette)에서 실행할 수 있다
  • 팀에서 동일한 태스크를 공유하기 쉽다

우선 README 업데이트와 같은 가벼운 작업을 태스크화하는 것만으로도 상당히 편리합니다.

더 복잡한 일을 하고 싶어지면 Python 등으로 스크립트(Script)를 짜면 훨씬 더 편리해질 것 같습니다.

예를 들어 다음과 같은 처리까지 자동화할 수 있습니다.

  • 입력 파일 읽기
  • 프롬프트 자동 생성
  • 생성 결과 저장
  • Markdown에서 HTML이나 docx로 변환
  • 실행 로그 저장
  • 여러 태스크의 연속 실행

처음부터 거대한 시스템을 만들기보다, 우선 tasks.json으로 작게 시작해서 필요해지면 스크립트화하는 정도가 딱 적당할 것 같습니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
1

댓글

0