quad/quad-roblox/selene.toml
qwreey-agent-selene ef3d952dd4
tooling: rokit → mise 전환 + selene 린터 도입 (roblox-project-example 벤치마킹)
Word30210/roblox-project-example(initreq/에 클론)를 참고해 두 가지 채택:
(1) rokit.toml → mise.toml — mise install이 pesde/rojo/luau-lsp/selene을
GitHub attestation+SLSA provenance 검증까지 거쳐 설치하는 걸 이 샌드박스
에서 직접 확인(rokit은 끝내 검증 불가), 이 환경 자체가 이미 mise로
luau를 관리 중이라 더 자연스러움. (2) selene 린터 — 참고 레포의
selene.toml을 패키지별로 채택, 단 CWD 상대 config 탐색 함정을 발견
(루트 단일 설정으로 두면 다른 디렉토리에서 실행 시 조용히 Lua 5.1
std로 폴백해 Luau 타입 문법 전체가 파싱 에러로 잘못 보임) — 참고 레포
그대로 패키지별 selene.toml + 패키지 안에서 실행하는 걸로 확정. 도입
즉시 smoke.mock.luau의 assert 메시지 누락 3건을 잡아 수정.

darklua의 convert_require 변환은 검토 후 기각 — 사용자 판단: Roblox
엔진 자체도 이미 같은 require-by-string 의미론(@self/@game)을 지원해
변환 계층이 불필요.

Co-authored-by: qwreey <me@qwreey.moe>
2026-08-19 15:09:35 +09:00

31 lines
813 B
TOML

std = "luau"
exclude = ["**/.pesde/*", "*_packages/*"]
[lints]
almost_swapped = "deny"
constant_table_comparison = "deny"
deprecated = "warn"
divide_by_zero = "warn"
empty_if = "deny"
empty_loop = "deny"
high_cyclomatic_complexity = "warn"
if_same_then_else = "deny"
ifs_same_cond = "warn"
incorrect_standard_library_use = "deny"
manual_table_clone = "warn"
mismatched_arg_count = "deny"
mixed_table = "allow"
multiple_statements = "deny"
must_use = "warn"
parenthese_conditions = "deny"
suspicious_reverse_loop = "deny"
type_check_inside_call = "deny"
unbalanced_assignments = "warn"
undefined_variable = "deny"
unscoped_variables = "deny"
unused_variable = "warn"
[config]
empty_if = { comments_count = true }
empty_loop = { comments_count = true }
multiple_statements = { one_line_if = "break-return-only" }