--- name: commit description: MUST invoke before creating any git commit. Provides commit message format and safety rules. --- # Message guideline ## Title format Use "component: Brief summary" format for the commit title. Examples: - "completions: Add support for keyword argument completion" - "diagnostics: Fix false positive on unused variable" - "ci: Update GitHub Actions workflow" ## Body Provide a brief prose summary of the purpose of the changes made. Use backticks for code elements (function names, variables, file paths, etc.). ## Line length Ensure the maximum line length never exceeds 72 characters. ## GitHub references When referencing external GitHub PRs or issues, use proper GitHub interlinking format: "owner/repo#123" ## Footer If you wrote code yourself, include a "Written by Claude" footer at the end of the commit message. No emoji. However, when simply asked to write a commit message (without having written the code), there's no need to add that footer. ## Example ``` analyzer: FieldError & BoundsError analysis Add static analysis for field access errors by hooking into `CC.builtin_tfunction` to intercept `getfield`, `setfield!`, `fieldtype`, and `getglobal` calls. Two new report types are introduced: - `FieldErrorReport` (`inference/field-error`): reported when accessing a non-existent field by name - `BoundsErrorReport` (`inference/bounds-error`): reported when accessing a field by an out-of-bounds integer index Note that the `inference/bounds-error` diagnostic is reported when code attempts to access a struct field using an integer index that is out of bounds, such as `getfield(x, i)` or tuple indexing `tpl[i]`, and not reported for arrays, since the compiler doesn't track array shape information. Reports from invalid `setfield!` and `fieldtype`, and general invalid argument types are left as future TODO. Also adjusts concrete evaluation logic to enable ad-hoc constant propagation after failed concrete evaluation for better accuracy. --- - Closes aviatesk/JETLS.jl#392 ``` # Safety guideline See the ["Git operations" section in CLAUDE.md](../../../CLAUDE.md#git-operations).