magic-cli: 명령어 인터페이스(CLI)를 효율적으로 사용할 수 있는 도구

magic-cli 소개

magic-cli는 명령줄에서 LLM을 사용하여 명령어를 추천하고 검색할 수 있는 도구입니다. 이 프로젝트는 Amazon QGitHub Copilot for CLI에서 영감을 받아 개발되었습니다. magic-cli는 사용자가 명령어를 더 쉽게 기억하고 입력할 수 있도록 도와줍니다. 특히 복잡한 명령어를 자주 사용하는 개발자들에게 매우 유용합니다. 아직 초기 개발 단계에 있어, 버그나 변경 사항이 있을 수 있으며, 발견되는 문제점은 보고해 주시기 바랍니다.

magic-cli는 다음과 같은 유사한 도구들과 비교할 수 있습니다:

  • Amazon Q: 명령어 자동 완성 기능을 제공하지만, magic-cli는 LLM을 활용한 보다 지능적인 추천 기능을 제공합니다.
  • GitHub Copilot for CLI: 코드 작성 지원에 중점을 둔 Copilot과 달리, magic-cli는 명령줄 사용에 특화된 도구입니다.

주요 특징

  • 명령어 추천: 사용자가 원하는 작업을 설명하면 적절한 명령어를 추천해줍니다.

  • 명령어 검색: 쉘 히스토리를 기반으로 명령어를 검색할 수 있습니다.

  • 명령어 생성: 특정 작업을 수행하기 위한 명령어를 생성해줍니다.

  • 다양한 LLM 지원: 로컬 및 원격 LLM을 사용할 수 있습니다.

magic-cli 사용 방법

magic-cli 설치

magic-cli의 설치 방법은 다음과 같습니다:

  • Shell:

    curl -LsSf https://github.com/guywaldman/magic-cli/releases/download/0.0.2/magic-cli-installer.sh | sh
    
  • Homebrew:

    brew install guywaldman/tap/magic-cli
    
  • PowerShell:

    powershell -c "irm https://github.com/guywaldman/magic-cli/releases/download/0.0.2/magic-cli-installer.ps1 | iex"
    
  • Binaries:

    releases page에서 플랫폼에 따른 바이너리 파일을 확인할 수 있습니다.

단축어 설정 방법

명령어 추천 기능을 비롯한 magic-cli를 단축어로 사용하려면, 다음과 같이 ~/.bashrc 또는 ~/.zshrc에 함수를 추가하세요:

# 명령어 추천 (suggest)
function mcs {
  model_prompt="$*"
  magic-cli suggest "$model_prompt"
}

# 명령어 검색 (search)
function mcf {
  model_prompt="$*"
  magic-cli search "$model_prompt"
}

# 명령어 생성 (ask)
function mca {
  model_prompt="$*"
  magic-cli ask "$model_prompt"
}

사용 방법: 명령어 추천

프롬프트를 제공하여 실행할 명령어를 제안받습니다.
대략적으로 원하는 작업이나 도구는 알지만 정확한 인수나 순서를 기억하지 못할 때 유용합니다.
특히 ffmpegkubectl 같은 CLI 도구에 유용합니다.

  • 명령어 추천 예시

    magic-cli suggest "Resize test_image.png to 300x300 with ffmpeg"
    
  • 명령어 추천 사용 방법

    Usage: magic-cli suggest <PROMPT>
    
    Arguments:
      <PROMPT>  The prompt to suggest a command for (e.g., "Resize image to 300x300 with ffmpeg")
    

shell 히스토리에서 명령어 검색 (실험적 기능)

shell 히스토리에서 명령어를 검색하여 상위 결과 목록을 얻습니다.

  • 명령어 검색 예시

    magic-cli search "zellij attach"
    
  • 명령어 검색 사용 방법

    Usage: magic-cli search [OPTIONS] <PROMPT>
    
    Arguments:
      <PROMPT>  The prompt to search for
    

명령어 생성 요청 (실험적 기능)

수행하고자 하는 작업을 프롬프트로 제공하면, 해당 작업을 수행하기 위한 명령어를 제안합니다. 필요한 경우 추가 명령어 실행을 요청할 수 있습니다.

  • 명령어 생성 예시

    magic-cli ask "Set up the dev environment as described in the README"
    
  • 명령어 생성 사용 방법

    Usage: magic-cli ask <PROMPT>
    
    Arguments:
      <PROMPT>  The prompt to ask for (e.g., "Set up the development environment")
    

사용하는 LLM 설정

Magic CLI는 두 가지 LLM 제공자를 지원합니다:

  • ollama: Ollama는 로컬 LLM 제공자입니다. 로컬 머신에 Ollama가 설치되고 실행 중이어야 합니다.

  • openai: OpenAI는 클라우드 LLM 제공자입니다. API 토큰을 설정하고, Magic CLI가 OpenAI API와 함께 사용합니다.

라이선스

magic-cli 프로젝트는 MIT License로 공개 및 배포되고 있습니다.

:github: magic-cli GitHub 저장소

:scroll: magic-cli 소개 글




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:kr:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:gift: 아래:arrow_lower_right:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck: