Eris Client
C

Eris Client

Git 워크플로를 간단한 명령어로 묶어주는 C 기반 CLI — 가이드 방식의 표준 커밋, 한 번에 커밋 및 푸시, 브랜치 생성, 리베이싱, 그리고 재실행 가능한 프로젝트 매크로 기능을 제공합니다.

Eris는 구조화된 커밋 흐름, 프로젝트 로컬 매크로, 그리고 체이닝과 부정을 지원하는 Prolog 기반 명령어 라우터로 git 워크플로우를 감싸는 개발자 CLI입니다.

일상적인 작업에서 원시 git 대신 eris를 실행합니다.


기능

eris init [name] — 현재 폴더에 .eris/ 디렉토리를 생성하고, 매크로 파일을 작성하며, .eris/를 git의 로컬 제외 목록에 추가하여 저장소에 표시되지 않도록 합니다.

eris commit / eris copush — 한 번에 인터랙티브 커밋 + 푸시. 메뉴에서 관례적 커밋 유형(feat, fix, refactor 등)을 선택하도록 프롬프트를 표시한 후, 메시지를 입력받아 type: message 형식으로 포맷하고, 모든 파일을 스테이징한 후 커밋하고 푸시합니다. 프로젝트 내 어디서든 작동합니다.

eris ignore <file> — 파일을 .eris/.eris.ignore에 추가하여 copush 중에 건너뛰도록 합니다. 전역이 아닌 프로젝트별로 적용됩니다.

eris alias add <name> do <cmd> do <cmd> — 이름이 지정된 매크로(셸 명령어 시퀀스)를 .eris/.eris.macros에 저장합니다.

eris alias run <name> / eris run <name> — 저장된 매크로를 실행합니다.

eris rebuild — CMake를 사용하여 eris 바이너리 자체를 다시 빌드합니다.

eris root — 감지된 eris 프로젝트 루트를 출력합니다.


명령어 체이닝

명령어 라우터는 Prolog로 작성되었습니다. 인수 목록에서 직접 &&, ||, not을 지원합니다:

eris init myapp && eris commit      # init이 성공한 경우에만 커밋
eris init || true                   # 실패 무시
eris not init                       # init이 실패하면 성공

매크로

매크로는 프로젝트 루트의 .eris/.eris.macros에 저장됩니다:

[deploy]
make build
git push origin main
ssh prod "systemctl restart app"

do 구분자로 추가 (따옴표 불필요):

eris alias add deploy do make build do git push origin main

따옴표로 추가 (세미콜론이나 셸 문법이 포함된 명령어의 경우):

eris alias add test "npm run lint" "npm test"

실행:

eris run deploy

설치

make install

이 명령어는 바이너리를 빌드하고 /usr/local/bin/eris에 복사하며, .bashrc 또는 .zshrc(자동 감지)에 별칭을 추가합니다. 그런 다음:

source ~/.zshrc   # 또는 ~/.bashrc

의존성(cmake, gcc, libcurl, libssl 등)은 빌드 중에 누락된 경우 자동으로 확인 및 설치됩니다.


소스에서 빌드

make        # 구성 + 빌드 (Debug)
make CONFIG=Release
make JOBS=8

필요 사항: cmake, gcc/g++, libcurl-dev, libssl-dev, pkg-config.
선택 사항: Prolog 라우터용 SWI-Prolog(libswipl-dev) — 없을 경우 C 라우터로 대체됩니다.


문서