
Claude Code가 단일 파일로 전송 가능한 앱을 만들 수 있는 방법을 구축했습니다
요약
Claude Code를 활용해 단일 파일로 실행 가능한 크로스 플랫폼 앱 포맷인 Krate를 구축했습니다. Krate는 앱을 빌드, 검사 및 패키징하여 Mac, Windows, Linux에서 동일하게 실행하며, 보안을 위해 권한 시스템을 제공합니다.
핵심 포인트
- Claude Code를 활용한 앱 개발 및 반복 테스트 자동화
- OS에 구애받지 않는 단일 파일(.krate) 패키징 기술
- 앱의 시스템 접근 권한을 제어하는 보안 런타임 설계
- no_std를 통한 시스템 인터페이스 임포트 방지 및 구조적 보안 강화
저는 오픈 소스 런타임(runtime)이자 앱 포맷인 Krate를 구축해 왔습니다. 제가 계속 마주쳤던 문제는 간단했습니다. Claude Code가 유용한 네이티브 앱을 만들 수는 있지만, 이를 다른 사람에게 보내려면 여전히 상대방의 운영 체제(OS)에 맞춰 패키징해야 하고, 상대방이 직접 만들지 않은 실행 파일(executable)을 신뢰하도록 요청해야 한다는 점이었습니다. Krate는 Claude Code에 다른 출력 방식을 제공합니다. 다음 명령어를 사용합니다: krate create "Make a grocery list app" --agent claude --output groceries.krate. 이 명령어는 Claude에게 앱을 작성하도록 요청합니다. 그러면 Krate가 이를 빌드(build), 검사(check)하고 하나의 .krate 파일로 패키징합니다. 동일한 파일이 Mac, Windows, Linux에서 모두 열립니다. 실행되기 전에 Krate는 앱이 무엇에 접근하려고 하는지 목록을 보여줍니다. 만약 사용자가 앱에 필요한 접근 권한을 거부하면, Krate는 앱 실행을 거부합니다. 제가 런타임(runtime), 파일 포맷(file format), 권한 시스템(permission system), 그리고 크로스 플랫폼 호스트(cross-platform host)를 설계하는 동안 Claude Code는 구현과 반복적인 테스트를 도와주었습니다. 저희가 발견한 문제 중 하나는 생성된 앱이 실수로 Krate의 경계 외부의 시스템 인터페이스(system interfaces)를 가져올(import) 수 있다는 점이었습니다. 저는 앱 런타임을 no_std로 옮겨서 그러한 임포트(import)가 구조적으로 방지되도록 했고, 그 후 다양한 앱 요청으로 작성 흐름을 테스트했습니다. Krate는 무료이며 오픈 소스입니다. 현재 버전은 작동하지만 초기 단계입니다. Krate Cloud, 서명(signing), 그리고 게시자 신원(publisher identity) 기능은 아직 구축되지 않았습니다. 시도해 보세요: https://incyashraj.github.io/krate/docs/pages/make-an-app-with-ai.html 코드: https://github.com/incyashraj/krate 만약 사용해 보신다면, 어떤 첫 단계가 혼란스럽거나 문제가 발생하는지 알고 싶습니다. 특히 Mac, Windows, Linux 간의 차이점에 관심이 많습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 r/ClaudeAI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기