TL;DR
- Yass(Yet Another Spec Syntax)는 AI 에이전트 기반 개발에서 원하는 동작을 사양으로 기록하고 TDD와 구현 생성을 구동하는 YAML 기반 사양 언어임.
- 현재 초기 개발 단계이며, 언어 정의 파일·편집기 검증용 JSON Schema·사양 집합을 코딩 에이전트에 읽기 전용으로 제공하는 CLI로 구성됨.
- macOS·Linux·Windows용 사전 빌드 바이너리를 제공하며, 설치 스크립트는 호스트 환경을 감지하고 최신 안정 릴리스를 검증한 뒤 설치함.
- 코딩 에이전트는 Yass를 통해 새 사양 작성, 기존 사양 구현, 사양 변경의 세 가지 흐름을 수행하며, 구현 전 사양 검토가 계약 역할을 함.
- Yass CLI와 언어 문서는 바이너리 내부에 포함되어 에이전트가 파일을 직접 열지 않고도 사양 형식과 작업 흐름을 파악하게 함.
Yass 개요
- Yass(Yet Another Spec Syntax)는 AI 에이전트 기반 개발을 위한 YAML 기반 사양 언어임.
- 사양은 원하는 동작을 기록하며, TDD(Test-Driven Development)와 구현 코드 생성을 구동하는 데 사용됨.
- 현재 초기 개발 단계임.
포함된 구성
yass.yass.yaml— Yass 언어 자체로 정의된 Yass 언어 사양임.yass.v1.schema.json—.yass.yaml파일의 편집기 검증을 위한 JSON Schema임.cli/— 기존 사양 집합을 코딩 에이전트에 제공하는yass명령줄 프로그램임.- 모든 사양 집합에 대해 읽기 전용으로 동작함.
- 아래 설치 절차를 이용하거나
cli/HOWTORUN.txt에 따라 빌드하고 실행할 수 있음.
설치
- 릴리스 페이지에서 macOS(arm64, amd64), Linux(arm64, amd64), Windows(amd64)용 사전 빌드 바이너리와 SHA-256 체크섬을 제공함.
- 아래 어떤 설치 경로에서도 Go 툴체인이 필요하지 않음.
설치 스크립트
- 다음 명령을 그대로 실행해 설치 스크립트를 내려받아 실행함.
curl -fsSL https://raw.githubusercontent.com/shakefu/yass/main/install.sh | sh- 설치 프로그램은 호스트 운영체제와 아키텍처를 감지하고, 최신 안정 릴리스에 맞는 아카이브를 다운로드한 뒤 릴리스에 게시된 체크섬으로 검증함.
/usr/local/bin에 쓰기 권한이 있으면 해당 위치에 설치하고, 그렇지 않으면~/.local/bin에 설치하며 필요한 PATH 설정을 안내함.- 버전을 고정하거나 설치 디렉터리를 지정하려면 다음 명령을 그대로 실행함.
curl -fsSL https://raw.githubusercontent.com/shakefu/yass/main/install.sh | sh -s -- --version v0.2.0 --bin-dir "$HOME/bin"- Windows에서는 릴리스 페이지에서
windows_amd64ZIP 파일을 다운로드함.
Homebrew
- 다음 명령으로 저장소를 추가하고 Yass를 설치함.
brew tap shakefu/yass https://github.com/shakefu/yassbrew install yassFormula/yass.rb수식은 릴리스마다 재생성되므로,brew update && brew upgrade yass를 실행하면 최신 릴리스로 이동함.
업데이트
- 설치 프로그램으로 관리되거나 수동으로 배치된 바이너리는 다음 명령으로 자체 업데이트함.
yass update- 최신 안정 릴리스를 확인하고, 게시된 체크섬으로 다운로드를 검증한 뒤 바이너리를 제자리에서 교체함.
- 업데이트에 실패하면 기존의 정상 설치 상태를 유지함.
- Homebrew가 관리하는 바이너리는 변경하지 않고 해당 사실을 알리며,
brew upgrade yass로 업데이트하도록 안내함. - 다음 명령으로 모든 설치 상태를 확인함.
yass --version
소스에서 설치
cli/HOWTORUN.txt에 따라 Go로 빌드함.
빠른 시작
- Yass는 코딩 에이전트와 함께 작업하기 위한 도구임.
- 원하는 내용을 말하면 에이전트가 서로 합의한 사양으로 기록하고, 이후 에이전트가 해당 사양과 정확히 일치하는 결과물을 구축함.
yass명령은 에이전트가 프로젝트를 탐색하는 수단이며, 셸 명령을 실행할 수 있는 모든 에이전트와 함께 동작함.- 프로젝트의 에이전트 지침 파일(
AGENTS.md,CLAUDE.md등)에 다음과 같은 한 줄을 추가하면 충분함. - 사양을 작성·변경·구현하기 전에 인수 없이
yass를 실행함. - 원하는 작업을 요청하면 에이전트는 다음 세 가지 경로 중 하나를 선택함.
- 새 작업 시작 — 아직 사양이 없는 프로젝트나 기능을 시작함.
- 브레인스토밍 흐름을 실행함.
- 작업의 목적을 묻고, 각 동작을 함께 검토하며, 사용자가 직접 답을 구성하기보다 수정할 수 있는 답을 제안함.
- 사양을 읽고 동의하기 전에는 아무것도 빌드하지 않음.
- 기존 사양 구현 — Yass를 통해 사양 집합을 한 번에 전체 파일로 읽지 않고 문서 단위로 읽은 뒤, 사양에 적힌 내용을 구축함.
- 사양 변경 — 바이너리에 포함된 문서(Yass 문서)를 읽고 사양 파일을 편집한 뒤
yass validate와yass lint로 확인함. - 사양을 먼저 검토함.
- 사양은 코드가 구축되는 기준 계약이므로 결과가 잘못되었을 때 수정 지점은 대개 사양의 한 줄이며, 코드는 그에 따라 변경됨.
처음 접한 에이전트를 위한 CLI
- 인수 없이
yass를 실행하면 프로그램의 개요, 현재 디렉터리가 속한 프로젝트, 사양 파일의 표기법, 사양 집합을 읽는 명령, 새 사양을 이끌어내는 흐름을 출력함. - 이를 통해 파일을 하나도 직접 열지 않고도 작업을 시작할 수 있음.
- 언어를 정의하고 사양 작성 방법을 설명하는 문서는 바이너리 내부에 포함됨.
- 해당 문서는
yass docs로 제공되므로 설치 위치와 관계없이 바이너리와 함께 이동함. - 사양을 이끌어내거나 작성하거나 변경할 때는 관련 문서를 읽음.
- 이미 존재하는 사양을 기준으로 구현할 때는 해당 문서가 필요하지 않음.
라이선스
- AGPL-3.0
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요