CLI 설치 및 구성

CodeMender는 코드베이스에서 심층적인 사이버 보안 취약점을 스캔, 검증, 패치하는 자율 AI 코드 보안 에이전트입니다. CodeMender를 실행하기 전에 CLI를 다운로드하고 작업공간 옵션을 초기화하세요.

아키텍처 및 보안 모델

CodeMender는 로컬 우선 실행 모델을 사용합니다.

  • 호스팅된 추론 엔진: 에이전트 추론, 위협 모델링, 오케스트레이션 로직이 Gemini Enterprise Agent Platform에서 Google Cloud 안전하게 실행됩니다.
  • 로컬 실행 CLI: 소스 코드가 워크스테이션이나 CI/CD 컨테이너를 대량으로 벗어나지 않습니다. 로컬 cm CLI 도구는 로컬 샌드박스에서 파일 읽기, 로컬 빌드 확인, 개념 증명 (PoC) 악용 확인을 실행하며, Gemini Enterprise Agent Platform의 Interactions API를 통해 수술적 코드 스니펫과 도구 실행 결과만 클라우드 백엔드로 전송합니다.

환경 설정

CodeMender를 사용하려면 Google Cloud 프로젝트를 설정하고, CLI를 다운로드 및 설치하고, 사용자 인증 정보를 구성하고, 워크스페이스를 초기화하세요.

프로젝트 설정 및 IAM 권한

CLI를 다운로드하고 사용자 인증 정보를 구성하기 전에 대상 Google Cloud 프로젝트가 필요한 API와 권한으로 올바르게 설정되어 있는지 확인합니다.

필수 API

프로젝트에서 다음 Google Cloud API가 사용 설정되어 있는지 확인합니다.

  1. Vertex AI API (aiplatform.googleapis.com): 활성 세션의 스트리밍 및 관리를 지원합니다.
  2. Cloud Resource Manager API (cloudresourcemanager.googleapis.com) - 사용자 인증 상태와 프로젝트 메타데이터를 검증합니다.

CLI 명령어를 실행하려면 사용자에게 다음 IAM 역할이 할당되어야 합니다.

  • Vertex AI 사용자 (roles/aiplatform.user) - 사용자가 활성 세션을 만들고, 스트리밍하고, 관리할 수 있습니다.

CodeMender CLI 다운로드 및 설치

CodeMender CLI 바이너리는 Artifact Registry에서 호스팅됩니다. 운영체제 탭을 선택하여 CLI를 다운로드하고 설치합니다.

Linux x86_64

Linux (x86_64)용 CodeMender CLI를 다운로드하고 설치하려면 다음 단계를 따르세요.

  1. 다음 방법 중 하나를 사용하여 패키지를 다운로드합니다.
    • gcloud CLI: 다음 명령어를 실행합니다.
      gcloud artifacts generic download \
        --project=cmoc-prod \
        --location=us \
        --repository=codemender-cli-production \
        --package=cm \
        --version=stable \
        --name=cm-linux-amd64.zip \
        --destination=./
    • curl: 다음 명령어를 실행합니다.
      curl -L -o cm-linux-amd64.zip "https://artifactregistry.googleapis.com/download/v1/projects/cmoc-prod/locations/us/repositories/codemender-cli-production/files/cm%3Astable%3Acm-linux-amd64.zip:download?alt=media"
  2. CLI를 설치합니다.
    unzip cm-linux-amd64.zip
    chmod +x cm
    sudo mv cm /usr/local/bin/cm

Linux ARM64

Linux (ARM64)용 CodeMender CLI를 다운로드하고 설치하려면 다음 단계를 따르세요.

  1. 다음 방법 중 하나를 사용하여 패키지를 다운로드합니다.
    • gcloud CLI: 다음 명령어를 실행합니다.
      gcloud artifacts generic download \
        --project=cmoc-prod \
        --location=us \
        --repository=codemender-cli-production \
        --package=cm \
        --version=stable \
        --name=cm-linux-arm64.zip \
        --destination=./
    • curl: 다음 명령어를 실행합니다.
      curl -L -o cm-linux-arm64.zip "https://artifactregistry.googleapis.com/download/v1/projects/cmoc-prod/locations/us/repositories/codemender-cli-production/files/cm%3Astable%3Acm-linux-arm64.zip:download?alt=media"
  2. CLI를 설치합니다.
    unzip cm-linux-arm64.zip
    chmod +x cm
    sudo mv cm /usr/local/bin/cm

macOS Intel

macOS (Intel)용 CodeMender CLI를 다운로드하고 설치하려면 다음 단계를 따르세요.

  1. 다음 방법 중 하나를 사용하여 패키지를 다운로드합니다.
    • gcloud CLI: 다음 명령어를 실행합니다.
      gcloud artifacts generic download \
        --project=cmoc-prod \
        --location=us \
        --repository=codemender-cli-production \
        --package=cm \
        --version=stable \
        --name=cm-darwin-amd64.zip \
        --destination=./
    • curl: 다음 명령어를 실행합니다.
      curl -L -o cm-darwin-amd64.zip "https://artifactregistry.googleapis.com/download/v1/projects/cmoc-prod/locations/us/repositories/codemender-cli-production/files/cm%3Astable%3Acm-darwin-amd64.zip:download?alt=media"
  2. CLI를 설치합니다.
    unzip cm-darwin-amd64.zip
    chmod +x cm
    mv cm /usr/local/bin/cm

macOS Apple Silicon

macOS (Apple Silicon)용 CodeMender CLI를 다운로드하고 설치하려면 다음 단계를 따르세요.

  1. 다음 방법 중 하나를 사용하여 패키지를 다운로드합니다.
    • gcloud CLI: 다음 명령어를 실행합니다.
      gcloud artifacts generic download \
        --project=cmoc-prod \
        --location=us \
        --repository=codemender-cli-production \
        --package=cm \
        --version=stable \
        --name=cm-darwin-arm64.zip \
        --destination=./
    • curl: 다음 명령어를 실행합니다.
      curl -L -o cm-darwin-arm64.zip "https://artifactregistry.googleapis.com/download/v1/projects/cmoc-prod/locations/us/repositories/codemender-cli-production/files/cm%3Astable%3Acm-darwin-arm64.zip:download?alt=media"
  2. CLI를 설치합니다.
    unzip cm-darwin-arm64.zip
    chmod +x cm
    mv cm /usr/local/bin/cm

Windows x86_64

Windows (x86_64)용 CodeMender CLI를 다운로드하고 설치하려면 다음 단계를 따르세요.

  1. 다음 방법 중 하나를 사용하여 패키지를 다운로드합니다.
    • gcloud CLI: PowerShell에서 다음 명령어를 실행합니다.
      gcloud artifacts generic download `
        --project=cmoc-prod `
        --location=us `
        --repository=codemender-cli-production `
        --package=cm `
        --version=stable `
        --name=cm-windows-amd64.zip `
        --destination=./
    • PowerShell: 다음 명령어를 실행합니다.
      Invoke-WebRequest -Uri "https://artifactregistry.googleapis.com/download/v1/projects/cmoc-prod/locations/us/repositories/codemender-cli-production/files/cm%3Astable%3Acm-windows-amd64.zip:download?alt=media" -OutFile cm-windows-amd64.zip
  2. CLI를 설치합니다.
    Expand-Archive -Path cm-windows-amd64.zip -DestinationPath ./
    # Move cm.exe to a permanent folder and add it to your system PATH (e.g. Environmental Variables)

Windows ARM64

Windows (ARM64)용 CodeMender CLI를 다운로드하고 설치하려면 다음 단계를 따르세요.

  1. 다음 방법 중 하나를 사용하여 패키지를 다운로드합니다.
    • gcloud CLI: PowerShell에서 다음 명령어를 실행합니다.
      gcloud artifacts generic download `
        --project=cmoc-prod `
        --location=us `
        --repository=codemender-cli-production `
        --package=cm `
        --version=stable `
        --name=cm-windows-arm64.zip `
        --destination=./
    • PowerShell: 다음 명령어를 실행합니다.
      Invoke-WebRequest -Uri "https://artifactregistry.googleapis.com/download/v1/projects/cmoc-prod/locations/us/repositories/codemender-cli-production/files/cm%3Astable%3Acm-windows-arm64.zip:download?alt=media" -OutFile cm-windows-arm64.zip
  2. CLI를 설치합니다.
    Expand-Archive -Path cm-windows-arm64.zip -DestinationPath ./
    # Move cm.exe to a permanent folder and add it to your system PATH (e.g. Environmental Variables)

Google Cloud 사용자 인증 정보 구성

CodeMender CLI는 Interactions API를 통해 클라우드 호스팅 추론 엔진과 상호작용하므로 환경에서 Google Cloud 애플리케이션 기본 사용자 인증 정보 (ADC)를 구성해야 합니다.

인증하려면 다음 명령어를 실행하고 로그인 메시지를 따르세요.

gcloud auth application-default login

작업공간 초기화

인증을 완료했다면 다음 단계는 로컬 환경에서 CodeMender를 초기화하는 것입니다. CodeMender를 초기화하면 상태 추적 파일을 만들고 클라우드 호스팅 추론 엔진에 대한 연결 설정을 설정하여 로컬 작업공간이 준비됩니다.

코드베이스의 루트 디렉터리에서 cm init를 실행하여 로컬 상태 추적 파일을 만들고 기준 구성을 설정합니다.

cm init

--verify 플래그를 사용하여 클라우드 호스팅 추론 엔진에 대한 연결을 테스트하고 작업공간 설정을 확인합니다.

cm init --verify

구성 매개변수 (config.yaml)

config.yaml의 기본 목표는 CodeMender 에이전트 동작을 로컬 시스템의 보안, 환경 제약 조건, 성능 요구사항에 맞추는 것입니다.

호스팅 AI 에이전트는 로컬 데몬 클라이언트를 사용하여 코드 빌드, 테스트 실행, 파일 수정과 같은 로컬 명령어를 실행하므로 이 구성 파일은 에이전트가 할 수 있는 작업과 할 수 없는 작업을 정의하는 경계 역할을 합니다.

사용

  • 위치: 기본적으로 CLI는 초기화된 작업공간 (일반적으로 .codemender/config.yaml 또는 ~/.config/codemender/config.yaml와 같은 전역 구성 디렉터리)에서 이 파일을 찾습니다.
  • 실행: cm find, cm verify, cm fix과 같은 명령어를 실행하면 로컬 클라이언트가 이 파일을 읽어 안전 매개변수를 설정하고, 시스템 우회를 적용하고, 무시할 파일 또는 디렉터리를 지정합니다.

핵심 기본 설정

핵심 기본 매개변수의 의미는 다음과 같습니다.

  • human_confirmation: true (또는 require_confirmation: true)

    • 의미: 기본적으로 CodeMender는 터미널에서 [Y/n] 확인을 명시적으로 요청하지 않는 한 디스크의 파일을 수정하거나 셸 명령어를 실행할 수 없습니다.
    • 기본값인 이유: CodeMender는 추측 패치를 생성하거나 익스플로잇 스크립트를 실행하여 취약점을 확인할 수 있습니다. 사람의 확인을 강제하면 로컬 환경에서 실수로 인한 시스템 변경 또는 승인되지 않은 코드 실행을 방지할 수 있습니다.
    • 우회: 비대화형 CI/CD 파이프라인의 경우 false로 설정할 수 있습니다.
  • confirm_writes: false

    • 의미: 파일 수정에 대한 대화형 프롬프트를 사용 중지하여 CodeMender 에이전트가 사람의 승인을 기다리지 않고 보안 패치를 작성하고 소스 파일을 로컬 디스크에 직접 수정할 수 있습니다.
    • 기본값인 이유: 기본적으로 CodeMender는 'Human-in-the-Loop' 워크플로를 적용하기 위해 이 안전 가이드레일을 true로 설정합니다. CodeMender는 로컬 코드베이스에서 작동하므로 수동 확인 (예: Write? [Y/n])이 필요하면 에이전트가 소스 파일을 추측하거나 잘못되거나 파괴적인 방식으로 수정하는 것을 방지할 수 있습니다. 격리된 일회용 샌드박스나 자동화된 헤드리스 CI/CD 파이프라인에서 실행할 때만 false로 전환해야 합니다.
  • include: [".py", ".java", ".go", ".js", ".ts", ".c", ".cc", ".cpp", ".h", ".rb", ".php"]

    • 의미: 작업공간을 스캔할 때 CodeMender가 수집하고 분석하도록 승인한 파일 확장자의 명시적 목록을 정의합니다. CodeMender는 이 목록에 지정되지 않은 확장자가 있는 저장소의 파일을 자동으로 건너뜁니다.
    • 기본값인 이유: 이 목록은 검사 효율성을 극대화하고 에이전트가 관련 없는 텍스트 파일, 빌드 아티팩트 또는 바이너리 파일에 시간과 토큰을 낭비하지 않도록 주요 프로그래밍 언어를 기본값으로 설정합니다. 하지만 최신 애플리케이션은 배포 구성이나 자동화 도구에 취약점을 삽입하는 경우가 많으므로 CodeMender가 이를 자동으로 무시하지 않도록 이 기본 목록을 수동으로 확장하여 구성 파일, 스크립트 형식, IaC 파일 (예: 셸 스크립트, XML, YAML, 속성, JSON 파일)을 포함하는 것이 좋습니다.
  • exclude_paths: ["node_modules", "vendor", "dist", "bin"]

    • 의미: CodeMender가 작업공간 검색 및 코드 분석 중에 이러한 디렉터리를 완전히 건너뜁니다.
    • 기본값인 이유: 종속 항목 또는 빌드 폴더가 크면 지연 시간과 토큰 페널티가 대폭 증가합니다. 기본적으로 제외된 상태를 유지하면 높은 성능과 빠른 응답 시간을 보장할 수 있습니다.
  • project_paths: []

    • 의미: 도구 실행 중에 CodeMender가 액세스 (읽기/쓰기)할 수 있는 디렉터리 경로 목록입니다.
    • 기본값인 이유: 기본적으로 비어 있으며, 이로 인해 에이전트가 스캔 타겟 디렉터리, .codemender 작업공간 디렉터리, /tmp로 제한됩니다. 빌드 또는 테스트 프로세스에서 이러한 디렉터리 외부의 파일에 액세스해야 하는 경우 여기에 해당 경로를 추가해야 합니다.
  • sandbox:

    • 의미: 프로세스 수준 샌드박스 환경의 구성 블록입니다.
    • 하위 매개변수:
      • enabled: true: (불리언) 샌드박스를 사용 설정 또는 사용 중지합니다. 이 값을 true (기본값)로 설정하면 에이전트가 로컬 샌드박스 내에서 도구를 실행합니다. false로 설정하면 에이전트가 격리 없이 호스트 시스템에서 직접 도구를 실행합니다.
      • mounts: (객체)
        • target_dir: ".": (문자열) 샌드박스 내에서 활성 작업공간으로 마운트할 디렉터리입니다. CLI는 작업공간 루트를 기준으로 상대 경로를 확인합니다.
      • network: (객체)
        • profile: "permissive-closed": (문자열) 샌드박스 내의 아웃바운드 네트워크 액세스 프로필입니다. 특정 도메인 또는 URL 패턴의 세부적인 허용 목록은 아직 지원되지 않습니다. 지원되는 프로필:
          • permissive-closed (기본값): 완전한 네트워크 격리. 샌드박스가 모든 아웃바운드 연결을 차단합니다.
          • permissive-open: 전체 아웃바운드 네트워크 액세스를 허용합니다.
  • security:

    • 의미: 보안 정책의 구성 블록입니다.
    • 하위 매개변수:
      • protected_files: []: (문자열 목록) 샌드박스 내에서 읽기 전용으로 마운트하여 수정되지 않도록 보호할 호스트 시스템의 파일 또는 디렉터리입니다 (예: ["~/.ssh/*"]). 경로 확장 (~) 및 와일드 카드 (*)를 지원합니다.
  • model: "gemini-3.5-flash"

    • 의미: 백엔드 추론 루프를 지원하는 기본 인텔리전스 엔진입니다.
    • 기본값인 이유: gemini-3.5-flash는 패치를 제안하는 데 필요한 속도, 비용, 분석적 추론의 최적의 균형을 제공합니다. (필요한 경우 사용자가 더 깊고 복잡한 추론을 위해 gemini-3.1-pro로 재정의할 수 있습니다.)
  • vcs: { type: "git" }

    • 의미: vcs 키를 통해 프로젝트에서 사용하는 버전 제어 시스템의 유형을 정의합니다. 이 설정을 구성하지 않으면 도구에서 Git 또는 Mercurial 저장소를 자동으로 식별하려고 시도합니다. vcsnone로 설정하면 CLI에서 경고를 출력하지만 VCS 기능 없이 실행을 계속합니다. CodeMender는 이 설정을 사용하여 추측 보안 수정사항을 관리하고, 코드베이스 수정사항을 추적하고, 로컬 저장소와 통합합니다.
    • 기본값인 이유: CodeMender는 Git, Mercurial 또는 맞춤 VCS 구성을 지원합니다. Git은 버전 제어 추적을 위한 업계 표준이므로 기본값으로 설정되어 원활한 차이 통합과 롤백 안전성을 보장합니다.
  • build: { command: "make build && make test" }

    • 의미: CodeMender가 프로젝트를 컴파일하고 빌드하며 단위 및 회귀 테스트를 실행하기 위해 실행하는 정확한 셸 명령어를 정의합니다.
    • 기본값인 이유: 빌드 및 테스트 명령어를 설정하는 것은 확인 워크플로에 매우 중요합니다. 이를 통해 CodeMender는 격리된 샌드박스 환경에서 프로젝트를 컴파일하고 기존 테스트 모음을 실행하여 생성된 보안 패치가 기존 애플리케이션 로직을 중단하지 않고 취약점을 성공적으로 완화한다는 것을 증명할 수 있습니다.

실행 샌드박싱

의도치 않은 파일 수정이나 예기치 않은 도구 부작용으로부터 워크스테이션을 보호하기 위해 CodeMender CLI는 기본적으로 OS 수준 샌드박스 내에서 실행됩니다. 구성에서 샌드박스를 영구적으로 사용 중지하거나 CLI 플래그를 사용하여 명령어별로 우회할 수 있습니다.

이 샌드박스는 워크스테이션에 초기 방어 레이어를 제공하지만, 완전히 격리된 가상 머신 (VM)에서 에이전트를 실행하는 것보다 보안 보호 기능이 약합니다.

  • Linux: 커널 네임스페이스 (CLONE_NEWNS, CLONE_NEWUSER 등)와 seccomp 필터를 사용하여 마운트 지점을 격리하고 시스템 호출을 제한합니다.
  • macOS: 내장된 sandbox-exec (Seatbelt) 메커니즘을 사용합니다.
  • Windows (실험적): AppContainer 격리 및 액세스 제어 목록 (ACL)을 사용합니다. Windows의 샌드박스는 실험 단계에 있으며 관리자 권한이 필요하거나 일부 시스템 구성과 호환되지 않을 수 있습니다.

샌드박스 동작

샌드박스가 활성 상태인 경우:

  1. 파일 시스템 격리: 에이전트는 허용된 디렉터리 내에서만 파일을 읽고 쓸 수 있습니다. 샌드박스는 이러한 디렉터리 외부의 모든 쓰기를 호스트 시스템에 영향을 주지 않고 임시 인메모리 파일 시스템 (tmpfs)으로 리디렉션합니다.
  2. 네트워크 격리: 샌드박스는 기본적으로 아웃바운드 네트워크 액세스를 차단합니다. 이렇게 하면 에이전트 (또는 에이전트가 호출하는 빌드 도구)가 예기치 않은 외부 연결을 설정하거나 작업공간 외부로 데이터를 전송하는 것을 방지할 수 있습니다.

빌드 및 검증 중 네트워크 액세스

샌드박스는 기본적으로 네트워크 격리를 사용 설정하므로 (sandbox.network.profile은 기본적으로 permissive-closed임) 도구 실행 중에 에이전트가 인터넷에 액세스할 수 없습니다.

이로 인해 빌드 또는 확인 단계에서 외부 종속 항목을 가져와야 하는 프로젝트 (예: build.command의 일부로 npm install, pip install 또는 go get 실행)에 제한이 도입됩니다. 빌드 프로세스에서 외부 웹 서비스에 액세스하려고 하면 실패합니다.

네트워크 종속 항목 처리

빌드 또는 테스트에 네트워크 액세스가 필요한 경우 다음 옵션을 사용할 수 있습니다.

  • 종속 항목 미리 가져오기: cm 명령어를 실행하기 전에 호스트 시스템에 필요한 모든 종속 항목을 설치하여 빌드 명령어에 네트워크 액세스가 필요하지 않도록 합니다.
  • 샌드박스에서 네트워크 액세스 사용 설정: 발신 연결을 허용하도록 config.yaml의 네트워크 프로필을 변경합니다.

    sandbox:
      network:
        profile: "permissive-open"
    
  • 샌드박스 우회: --unrestricted 플래그를 사용하여 명령어를 실행하면 해당 실행에 대해 샌드박스와 파일 시스템 경계가 완전히 사용 중지됩니다.

샌드박스 구성

다음 옵션을 사용하여 샌드박스를 구성하고 제어할 수 있습니다.

  • 영구 구성 (config.yaml): config.yaml 파일에 sandbox, execution, security 블록을 추가하여 샌드박스 동작, 파일 시스템 마운트, 네트워크 액세스, 보안 정책을 맞춤설정할 수 있습니다. 자세한 내용은 구성 매개변수를 참고하세요.
  • CLI (--sandbox)를 사용하여 샌드박스 제어: --sandbox=true 또는 --sandbox=falsecm find, cm verify 또는 cm fix에 전달하여 단일 실행의 샌드박스를 명시적으로 사용 설정하거나 사용 중지할 수 있습니다.
  • CLI (--unrestricted)를 사용하여 격리 우회: --unrestricted 플래그를 전달하여 단일 실행에 대해 모든 샌드박스 보호를 일시적으로 우회할 수 있습니다. 이렇게 하면 파일 시스템 경로 경계가 사용 중지되어 에이전트가 호스트의 모든 경로에 액세스할 수 있으며 OS 수준 컨테이너 격리(네트워크 격리 포함)가 완전히 사용 중지됩니다.

격리 수준 선택

보안 요구사항 및 개발 환경에 따라 CodeMender CLI를 실행하기 위한 적절한 격리 수준을 선택할 수 있습니다.

메서드 설명 장점 단점
내장 샌드박스 (OS 수준) 기본적으로 사용 설정되어 있습니다. config.yaml 파일에서 사용 중지하거나 CLI 플래그를 사용하여 우회할 수 있습니다. 실행을 격리하기 위해 내장 OS 기능 (네임스페이스/seccomp, sandbox-exec, AppContainer (실험용))을 사용합니다. 경량: 시작 오버헤드가 없고 세부적인 제어를 통해 로컬 작업공간 도구에 직접 액세스할 수 있습니다. 일상적인 로컬 개발에 권장됩니다. 보안은 OS 커널 기능을 사용합니다. 전체 VM보다 격리 수준이 낮습니다. Windows 지원은 실험적이며 관리자 권한이 필요하거나 일부 구성과 호환되지 않을 수 있습니다.
컨테이너 컨테이너 (예: Docker)에서 에이전트를 실행합니다. 격리가 잘 되어 있고 표준화된 환경입니다. 컨테이너 런타임이 필요하며 무거울 수 있습니다. 로컬 머신의 도구와 직접 상호작용할 수 없습니다.
전체 VM 전용 VM에서 에이전트 실행 최대 보안, 완전한 격리 높은 리소스 오버헤드, 느린 시작, 로컬 머신의 도구와의 직접적인 상호작용이 허용되지 않음

원격 분석

제품 상태를 모니터링하고 개선하기 위해 Google은 CLI를 통해 익명 원격 분석 데이터를 수집합니다. Google은 기본 사용 측정항목과 성능 진단을 포함한 모든 수집 데이터를 완전히 익명화합니다. 원격 분석은 소스 코드, 파일 콘텐츠, 조사 결과, 패치 또는 사용자 ID를 수집하거나 전송하지 않습니다.

기본적으로 원격 분석은 사용 설정되어 있습니다. 원격 분석을 사용 중지하려면 CM_TELEMETRY_OPT_OUT 환경 변수를 1 또는 true로 설정합니다.

CLI 업데이트

CodeMender에는 최신 버전의 CLI를 실행할 수 있도록 기본 제공 업데이트 메커니즘이 있습니다.

자동 업데이트 확인

기본적으로 CodeMender CLI는 명령어를 실행할 때 백그라운드에서 업데이트를 자동으로 확인합니다.

  • 제한: 오버헤드를 최소화하기 위해 자동 검사는 24시간에 최대 한 번 실행됩니다.
  • 대화형 터미널 (TTY) 필요: CLI는 대화형 터미널에서 실행할 때만 업데이트를 확인하고 프롬프트를 표시합니다. 비대화형 환경 (예: CI/CD 파이프라인 또는 스크립트)에서는 검사가 건너뛰고 경고가 하루에 최대 한 번 stderr에 기록됩니다.
  • 프롬프트: 새 버전을 사용할 수 있는 경우 stderr에 프롬프트가 표시됩니다. none 🆕 A new CodeMender release is available: 1.1.0 Update now? (y/N): 예 (y 또는 yes)를 선택하면 CodeMender가 업데이트를 다운로드하고 바이너리를 대체한 후 종료됩니다. 새 버전으로 실행하려면 명령어를 다시 실행해야 합니다. '아니요'를 선택하면 업데이트가 건너뛰고 원래 명령어가 실행됩니다.
  • 오프라인 허용: 오프라인 상태이거나 출시 저장소에 연결할 수 없는 경우 확인이 자동으로 실패하고 CodeMender가 명령어를 계속 실행합니다.
  • 우회: --yes 또는 -y 플래그를 명령어에 전달하여 자동 업데이트 확인을 우회할 수 있습니다.

수동 업데이트 (cm update)

update 명령어를 실행하여 CodeMender가 업데이트를 즉시 확인하고 적용하도록 강제할 수 있습니다.

cm update

cm update 명령어:

  • 24시간 제한을 무시합니다.
  • 프롬프트 없이 즉시 업데이트를 다운로드하고 적용합니다 (비대화형).
  • 대화형 터미널이 필요하지 않습니다 (스크립트 및 구성 관리에 안전함).

CLI가 승격된 권한이 필요한 시스템 디렉터리에 설치된 경우 sudo를 사용하여 업데이트를 실행합니다.

sudo cm update