Community코딩 & 개발github.com

test-local-twoliter

로컬 소스에서 twoliter를 빌드하고 릴리스 전 변경 사항을 테스트합니다.

test-local-twoliter란 무엇인가요?

이 스킬은 twoliter의 로컬 변경 사항을 빌드하고 테스트하는 방법을 제공합니다. 개발자가 twoliter 소스 코드를 수정한 후, 릴리스 전에 실제 키트(kit) 환경에서 검증할 수 있도록 도와줍니다. Rust 툴체인과 twoliter 저장소가 필요하며, 'TWOLITER_DIR' 환경 변수를 사용하여 로컬에서 빌드된 바이너리를 키트 빌드에 적용합니다. 주로 Bottlerocket 코어 키트와 함께 사용되며, 'cargo build --release'로 바이너리를 생성한 후 키트 디렉토리에서 'make build TWOLITER_DIR=...' 명령어로 테스트합니다. 변경 사항이 반영되지 않거나 빌드 오류가 발생할 경우, 'cargo check', 'cargo clippy', 'cargo test' 등의 명령어로 문제를 진단할 수 있습니다. 또한 릴리스된 버전으로 되돌리려면 'TWOLITER_DIR' 변수를 생략하면 됩니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/cbgbt/bottlerocket-forest/tree/main/skills/test-local-twoliter

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

스킬: 로컬 Twoliter 변경 사항 테스트

목적

로컬 소스에서 twoliter를 빌드하고, 릴리스 전 변경 사항을 테스트하기 위해 키트가 로컬에서 빌드된 바이너리를 사용하도록 구성합니다.

사용 시기

  • twoliter 소스 코드를 변경하는 경우
  • PR을 생성하기 전에 twoliter 수정 사항을 테스트하는 경우
  • twoliter 동작을 디버깅하는 경우
  • twoliter 수정 사항을 검증하는 경우

전제 조건

  • 포레스트에 twoliter 저장소가 클론되어 있어야 함
  • Rust 툴체인이 설치되어 있어야 함
  • 테스트할 키트 저장소가 하나 이상 있어야 함

절차

1. twoliter 소스 변경

twoliter/twoliter/src/ 또는 twoliter/twoliter/embedded/ 디렉토리의 파일을 편집합니다.

2. twoliter 빌드

cd twoliter
cargo build --release

바이너리는 target/release/twoliter에 생성됩니다.

3. 변경 사항 테스트

TWOLITER_DIR을 로컬 빌드 디렉토리를 가리키도록 재정의합니다:

cd kits/bottlerocket-core-kit
make build TWOLITER_DIR=./twoliter/target/release

4. 반복

더 많은 변경을 한 후:

# twoliter 재빌드
cd ./twoliter
cargo build --release

# 다시 테스트
cd kits/bottlerocket-core-kit
make build TWOLITER_DIR=./twoliter/target/release

검증

로컬 twoliter가 사용되고 있는지 경로를 확인합니다:

cd kits/bottlerocket-core-kit
make build TWOLITER_DIR=./twoliter/target/release 2>&1 | head -5

수정된 twoliter가 호출되는 것을 확인할 수 있습니다.

일반적인 문제

변경 사항이 적용되지 않는 경우:

  • 변경 후 cargo build --release를 실행했는지 확인하세요.
  • TWOLITER_DIR의 경로가 올바른지 확인하세요.
  • 바이너리가 존재하는지 확인: ls -lh ./twoliter/target/release/twoliter

twoliter 빌드 오류:

  • cargo check를 실행하여 상세한 오류 메시지를 확인하세요.
  • cargo clippy를 실행하여 일반적인 문제를 찾으세요.
  • cargo test를 실행하여 테스트가 통과하는지 확인하세요.

로컬 twoliter로 키트 빌드 실패:

  • twoliter 출력에서 오류 메시지를 확인하세요.
  • Makefile을 임시로 수정하거나 twoliter 바이너리를 직접 사용하여 --log-level debug를 추가하세요.

릴리스된 버전으로 되돌리기

릴리스된 버전을 사용하려면 TWOLITER_DIR 재정의를 생략하면 됩니다:

cd kits/bottlerocket-core-kit
make build

이 명령은 릴리스된 버전의 기본 tools/twoliter/twoliter를 사용합니다.

관련 스킬

Individual skills in this repo

This repo contains 19 individual skills — each has its own dedicated page.

ad-hoc-implementation-plan

Transform a rough plan into implement-commit ready artifacts. Allows rigorous review while implementing.

build-kit-locally

Build a kit and publish it to a locally hosted registry for development testing

build-variant-from-local-kits

Build a variant using locally published kits for development validation

deep-research

Create educational documents that build understanding progressively with citations

edit-spec-file

Edit Bottlerocket RPM spec files following project style conventions

fact-find

Quick lookup of specific facts about Bottlerocket with citations

idea-honing

Clarify feature ideas through iterative Q&A, recording insights to guide concept development

implement-commit

Implement commits from an implementation plan using a TDD pipeline

local-registry

Start and manage a local OCI registry for Bottlerocket kit development

prepare-core-kit-release

Prepare bottlerocket-core-kit for release by bumping version and updating changelog

propose-feature-concept

Create a new feature concept document to pitch the idea and explain the problem/solution

propose-feature-design

Create or update feature technical design document with architecture and implementation guidance

propose-feature-requirements

Create or update feature requirements specification using EARS notation with examples and appendices

propose-feature-test-plan

Create a test plan mapping EARS requirements and Critical Constraints to specific tests

propose-implementation-plan

Create an implementation plan with atomic commits that build toward a complete feature

review-code

Deep code review generating PR comments via principled question-driven analysis

review-scope

Verify code changes match intended scope and requirements without exceeding boundaries

review-style

Verify code follows project style guides without providing improvement suggestions

update-twoliter

Update all Bottlerocket repositories to a new Twoliter version

관련 스킬