ワンクリックで
adding-error-codes
Use when adding new diagnostic error codes to the compiler
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Use when adding new diagnostic error codes to the compiler
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Automated performance optimization loop. Generates large benchmark workloads with vole-stress, profiles with perf, identifies hotspots in our code, fixes them, verifies improvement, repeats.
Automated bug-hunting loop using vole-stress + vole-reduce. Generates random codebases, tests them, reduces failures, fixes bugs, verifies, and repeats.
Use when you are asked to implement tickets (tasks/epics) created in `tk`
Incremental Rust code quality loop. Scans the compiler codebase for one refactoring opportunity per round — duplicated logic, poor factoring, mechanical lint fixes — applies it, verifies, and repeats.
Use when you have a design or requirements and need to create tickets (epics/tasks) for implementation
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
| name | adding-error-codes |
| description | Use when adding new diagnostic error codes to the compiler |
Vole uses structured error codes: E0xxx (lexer), E1xxx (parser), E2xxx (semantic).
Get next available code:
just dev next-error sema # For semantic errors (E2xxx)
just dev next-error parser # For parser errors (E1xxx)
just dev next-error lexer # For lexer errors (E0xxx)
List existing errors (for reference):
just dev list-errors sema
just dev list-errors parser
just dev list-errors all # All categories
Add error variant to the appropriate file:
| Error Type | File |
|---|---|
| Lexer | src/crates/vole-frontend/src/errors/lexer.rs |
| Parser | src/crates/vole-frontend/src/errors/parser.rs |
| Semantic | src/crates/vole-sema/src/errors/mod.rs |
Emit the error in the relevant analyzer/parser code:
| Error Type | Emission Location |
|---|---|
| Lexer | src/crates/vole-frontend/src/lexer.rs |
| Parser | src/crates/vole-frontend/src/parser/*.rs |
| Semantic | src/crates/vole-sema/src/analyzer/**/*.rs |
Sema errors use self.add_error(SemanticError::Variant { span }, span).
Add snapshot test for error message:
test/snapshot/check/sema/your_error.vole with code that triggers the errorcargo run -p vole-snap -- bless test/snapshot/check/sema/your_error.voleVerify:
just pre-commit