7P by neo 14일전 | favorite | 댓글 2개
  • "프로젝트별 명령"을 저장하고 실행하는 간편한 도구
    • 빌드시스템이 아닌 단순한 "명령 실행기"
  • make와 비슷한 문법의 justfile(recipe) 를 작성하여 실행
  • 리눅스/맥/윈도우 지원
  • 명확한 에러 제공, 문법 에러는 소스 컨텍스트와 함께 표시
  • Recipe는 명령형 인자 받기 지원
  • 가능하다면 모든 에러는 정적으로 리졸브됨. 알수 없는 레시피 및 순환 종속성은 실행 전에 알려줌
  • Recipe는 명령행에서 리스팅 가능
  • 명령행 자동완성 스크립트는 대부분의 유명 쉘들에서 지원 (Bash, Elvish, Fish, Nushell, PowerShell, Zsh)
  • Recipe는 Python/NodeJS 같은 임의의 언어로 작성할 수 있음

.sh랑 .bat을 둘 다 가지는게 불쾌할 때 쓰는 도구인걸까요

Hacker News 의견
  • Task는 예상 파일을 지정하여 불필요한 작업을 피할 수 있어 소프트웨어 빌드에 적합함

    • Just는 프로세스의 성공 코드만 중요할 때 적합하며, Rust 팬에게도 좋음
    • CI 같은 특정 용도에서는 이미 YAML/JSON/XML 형식을 사용 중일 가능성이 높음
  • Just는 추가적인 언어를 요구하며, 프로젝트 도구로서 명령형 모드를 장려함

    • 이는 파일 시스템 상태를 변경할 수 있어, 자동화가 불확실한 상태에 의존하게 됨
    • Nix와 같은 도구를 사용하여 빌드로 재구성하는 것이 바람직함
  • Mise를 사용해 보았으나 설치가 번거로워 Just로 돌아옴

    • Just는 가볍고 빠르다는 인식 덕분에 저항이 적음
  • Just를 거의 1년 동안 사용하며 만족함

    • just --list로 새로운 사람의 온보딩이 쉬움
    • Make보다 더 나은 문법을 제공함
  • 과거에 비슷한 도구를 개발한 경험이 있으며, 같은 필요를 느낀 사람들이 있어 기쁨

  • Just는 개발 스택에서 중요한 소프트웨어로, Windows에서도 잘 작동함

  • 모든 프로젝트에서 Just를 사용 중이며, 일반적인 justfile은 약 20개의 규칙을 가짐

    • 프로젝트 루트 디렉토리에서 항상 실행되는 것이 큰 장점임
  • Just는 Make보다 사용 설득이 쉬움

    • Make는 배우기 유용하지만, 쉘 경험이 적은 사람에게는 어려운 언어임
    • 소유자가 불분명한 Makefile이 레포지토리에 흩어져 있는 경우가 많음
  • Task/Taskfile과 유사한 Mage/Magefile은 Go 코드로 작업을 정의함

    • 복잡한 작업에 유용하며, Pulumi와 Terraform의 관계와 비슷함
  • Make를 오랫동안 사용했지만, 새로운 도구에 투자하는 것이 불안함

    • Make를 대체할 '더 나은 Make'가 있기를 바람