소스 정보
- 저장소
- LuisaGroup/LuisaCompute
- 최근 소스 활동
- 2026년 6월 13일 15:22
- 감지된 SKILL.md 언어
- 영어
- 스타
- 1,043
- 포크
- 108
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/LuisaGroup/LuisaCompute --skill cpp-style명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SOC 직업 분류 기준
SKILL.md 표시 중
| name | cpp-style |
| description | C++ naming, formatting, static analysis, and RTTI rules for LuisaCompute. |
CamelCase (MyClass, RenderPipeline)snake_case (get_value, process_data)_snake_case (_private_var, _internal_helper())kCamelCase or UPPER_SNAKE_CASE for macrosCamelCaseluisa, luisa::compute, vstd, etc. Keep compact.Use the project C++ syntax checker:
python scripts/check_cpp_syntax.py <file>.cpp
It runs clangd with the project's compile_commands.json and .clang-tidy. Skip files not in compile_commands.json.
Format with the project .clang-format (bundled in this skill; the project root copy is authoritative).
Base: LLVM style. Key overrides:
ColumnLimit: 0).int *p, int &r).-4 (flush with class). Empty lines before/after left as-is.=, ctor-initializer :, inheritance :, range-for :. No space after C-style casts, !, template keyword, before braced lists. No space in empty parens or before trailing comments.ShortNamespaceLines: 0).$if, $elif, $else, $for, $while, $loop, $switch, $case, $default) get space before (. Function-like macros don't. Special lists:
ForEachMacros: LUISA_STRUCT, LUISA_BINDING_GROUP, LUISA_BINDING_GROUP_TEMPLATEIfMacros: $if, $elif, $else, $for, $while, $loop, $switch, $case, $defaultStatementMacros: LUISA_MAPRun .clang-tidy (bundled in this skill; the project root copy is authoritative).
All checks disabled (-*), then enabled by category:
See the bundled .clang-tidy for the exact check list.
RTTI is disabled for project code. Do not use:
dynamic_cast — use static_cast when type is knowntypeidstd::type_infoPrefer virtual dispatch or explicit type tags for type-safe downcasting. Third-party code under src/ext is exempt.
Prefer fixed-width integer types:
int32_t, uint32_t, int64_t, uint64_t, int16_t, uint16_t, int8_t, uint8_tsize_t is acceptable for sizes/indices per STL convention.std::byte for raw byte data.unsigned int, long long, unsigned long, short, and char for arithmetic. Some platform/system headers may define aliases such as uint; avoid introducing new uses in project code.After editing C++ files:
# Check syntax / tidy diagnostics
python scripts/check_cpp_syntax.py src/foo.cpp
# Check formatting (dry run; replace --dry-run with -i to apply)
clang-format --dry-run --Werror src/foo.cpp
# Run clang-tidy on a specific file
clang-tidy -p build src/foo.cpp
When changing build-affecting files, configure and build a relevant target:
xmake f -m debug -c
xmake build <target>
.clang-format — bundled copy of the project formatter config..clang-tidy — bundled copy of the project static-analysis config..clangd — project root configuration for clangd diagnostics (not bundled; see project root).