ast
無料Manual AST construction with FunctionBuilder for kernels and callables without DSL sugar.
日本語の概要は準備中です。原文の説明を表示しています。
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).まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Manual AST construction with FunctionBuilder for kernels and callables without DSL sugar.
日本語の概要は準備中です。原文の説明を表示しています。
Backend plugin architecture, DeviceInterface, dynamic loading, and command encoding.
日本語の概要は準備中です。原文の説明を表示しています。
CMake build options, custom functions, and backend patterns for LuisaCompute.
日本語の概要は準備中です。原文の説明を表示しています。
Debug crashes and test failures via stack-traces, host/device logging, and DSL buffer inspection.
日本語の概要は準備中です。原文の説明を表示しています。
Show uncommitted changes and commit history via git. Use when: (1) inspecting what changed in a file before committing, (2) checking diff of tracked/new/deleted files, (3) reviewing a specific commit's changes, (4) listing files changed in a commit.
日本語の概要は準備中です。原文の説明を表示しています。
glslang SPIR-V Builder API for types, instructions, control flow, and decorations.
日本語の概要は準備中です。原文の説明を表示しています。