본문으로 건너뛰기
cccskills
무료GitHub에 공개

cross-platform

Guidelines for writing platform-specific code in Luma. Use when adding or modifying code that behaves differently on Unix vs Windows, including shell commands, file paths, process spawning, or platform-specific tests.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md1.3 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Cross-Platform Code in Luma

Compile-time selection

Prefer compile-time platform selection over runtime branching:

// Preferred
#[cfg(unix)]
fn shell_command() -> &'static str { "sh" }

#[cfg(windows)]
fn shell_command() -> &'static str { "cmd" }

// Avoid
fn shell_command() -> &'static str {
    if cfg!(windows) { "cmd" } else { "sh" }
}

Use #[cfg(unix)], #[cfg(windows)], or module-level #[cfg(...)] attributes.

Module layout

Platform-specific code lives in separate files:

src/tool/shell/
  mod.rs        ← public API, platform-agnostic
  unix.rs       ← #[cfg(unix)]
  windows.rs    ← #[cfg(windows)]

The parent module exposes a single unified API. Callers never import platform modules directly.

Tests

Guard platform-specific tests at compile time:

#[cfg(test)]
mod tests {
    #[cfg(unix)]
    #[test]
    fn unix_specific_behavior() { ... }

    #[cfg(windows)]
    #[test]
    fn windows_specific_behavior() { ... }
}

Do not duplicate test logic when expectations can be shared across platforms.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Rules for numeric type conversions in Luma. Use when writing or reviewing code that casts between integer or float types, especially across different widths.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

nghyane/luma202026년 6월 8일 업데이트

rfc

무료

Workflow for creating, updating, or superseding RFCs in Luma. Use when the task involves opening a new RFC, updating RFC status, marking an RFC as superseded or implemented, or deciding whether a change needs an RFC at all.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

nghyane/luma202026년 6월 8일 업데이트

nghyane의 스킬 모두 보기

이 스킬의 문제 신고