먼저 파싱하거나 언팩하지 않고 바이너리 데이터를 바로 읽을 수 있는 크로스 플랫폼 직렬화 라이브러리입니다.
gepheum/skir
하나의 .skir 파일에서 TypeScript, Python, Java, Go, C++ 등 다양한 언어용 타입 안전 데이터 모델과 RPC 코드를 생성하는 선언형 스키마 언어입니다.
대체할 수 있는 제품:Protocol Buffers
- 스타
- 316
- 포크
- 10
- 열린 이슈
- 1
- 마지막 커밋
- 17일 전
어떤 프로젝트인가요?
Skir는 하나의 .skir 파일에서 데이터 타입과 API를 정의하는 스키마 언어입니다. 커맨드라인 생성기는 정의를 TypeScript, Python, Java, Go, C++, Rust, Kotlin, Swift 등 여러 언어의 네이티브 코드로 변환해 클라이언트와 서버가 하나의 계약을 공유하도록 합니다.
생성되는 타입은 깊은 수준까지 불변이며, 생성 시 모든 필드를 필수로 지정해야 합니다. 상수 또는 타입이 지정된 변형을 갖는 sum type, 조회 API가 포함된 키 인덱스 배열, 그리고 세 가지 직렬화 모드(압축형 JSON, 가독성 중심 JSON, 바이너리)를 지원합니다. 정의가 바뀌어도 기존 데이터를 역직렬화할 수 있도록 스키마 변경 호환성 검사 기능도 제공합니다.
서비스 개발을 위해 Skir는 메서드를 탐색하고 테스트할 수 있는 Studio 앱이 내장된 경량 HTTP RPC 계층인 SkirRPC를 제공합니다. GitHub 저장소에서 타입을 직접 가져올 수도 있으며, 언어 서버가 포함된 VS Code 확장 프로그램은 유효성 검사, 자동 완성, 포매팅을 지원합니다.
핵심 기능
- 01하나의 스키마 파일에서 10개 이상의 언어용 타입 안전 코드를 생성합니다.
- 02생성 시 모든 필드를 필수로 지정하는 깊은 불변 타입을 만듭니다.
- 03상수 또는 타입이 지정된 변형을 갖는 sum type을 지원합니다.
- 04압축형 JSON, 가독성 중심 JSON, 바이너리 직렬화를 지원합니다.
- 05메서드 테스트용 Studio가 내장된 HTTP RPC 계층 SkirRPC를 제공합니다.
- 06GitHub 저장소에서 타입을 가져올 수 있습니다.
활용 사례
- TypeScript 프런트엔드와 Python 또는 Go 백엔드에서 요청·응답 타입을 공유합니다.
- sum type과 키 인덱스 배열을 지원하는 스키마 언어로 Protocol Buffers 정의를 대체합니다.
- HTTP RPC 계층과 탐색 가능한 테스트 UI가 필요한 타입 지정 API를 정의합니다.
- GitHub 가져오기를 통해 여러 프로젝트에서 데이터 구조를 공유합니다.
빠른 시작
- 1
설정 및 워크플로를 확인하려면 시작 가이드를 여세요
- 2
.skir 스키마 파일을 작성하고 대상 언어용 코드를 생성하세요
사용 전 알아둘 점
- Elixir 생성기는 공식적으로 관리되지 않으며 커뮤니티에서 유지 관리합니다.
토픽
자주 묻는 질문
- skir은(는) 무엇인가요?
- 하나의 .skir 파일에서 TypeScript, Python, Java, Go, C++ 등 다양한 언어용 타입 안전 데이터 모델과 RPC 코드를 생성하는 선언형 스키마 언어입니다. Skir는 하나의 .skir 파일에서 데이터 타입과 API를 정의하는 스키마 언어입니다. 커맨드라인 생성기는 정의를 TypeScript, Python, Java, Go, C++, Rust, Kotlin, Swift 등 여러 언어의 네이티브 코드로 변환해 클라이언트와 서버가 하나의 계약을 공유하도록 합니다.
- skir은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- skir은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- skir은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. skir의 마지막 커밋은 2026년 10월 6일입니다.
- skir은(는) 어디에 사용할 수 있나요?
- TypeScript 프런트엔드와 Python 또는 Go 백엔드에서 요청·응답 타입을 공유합니다. sum type과 키 인덱스 배열을 지원하는 스키마 언어로 Protocol Buffers 정의를 대체합니다. HTTP RPC 계층과 탐색 가능한 테스트 UI가 필요한 타입 지정 API를 정의합니다. GitHub 가져오기를 통해 여러 프로젝트에서 데이터 구조를 공유합니다.
- skir는 어떻게 설치하나요?
- 설정 및 워크플로를 확인하려면 시작 가이드를 여세요 .skir 스키마 파일을 작성하고 대상 언어용 코드를 생성하세요
- skir은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/gepheum/skir
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
다양한 프로그래밍 언어에서 호환되는 클라이언트와 서버를 생성하는 코드 생성기를 갖춘 언어 독립적인 RPC 프레임워크입니다.
스키마나 코드 생성 없이 서버와 클라이언트 간 타입을 공유하는 TypeScript용 엔드투엔드 타입 안전 API입니다.
JSON 입력과 서버 reflection 또는 proto 파일을 통한 스키마 탐색을 지원하는 gRPC 서버 호출용 CLI 도구입니다.
protoc 컴파일러 없이 Protocol Buffer 스타일 가이드 규칙을 적용하는 플러그인형 린터이자 자동 수정 도구입니다.
메인 프로세스는 TypeScript, UI는 webview로 작성해 작고 빠른 크로스 플랫폼 앱을 만드는 프레임워크이며, Zig, Rust, Go, Odin도 지원합니다.