@@ -129,17 +129,18 @@ namespace vix::commands::CheckCommand
129129 out << " vix check [path|file.cpp] [options]\n\n " ;
130130
131131 print_help_section_header (out, " Description" );
132- out << " Validate a Vix/CMake project or a single-file C++ script.\n\n " ;
132+ out << " Validate a Vix/CMake project or a single C++ file.\n " ;
133+ out << " Vix can check build health, test health, runtime health, and sanitizer safety.\n\n " ;
133134
134135 print_help_section_header (out, " Project mode" );
135- out << " - Configure the project\n " ;
136- out << " - Build the project \n " ;
137- out << " - Optional: run tests with CTest\n " ;
138- out << " - Optional: run the built executable\n " ;
139- out << " - With --san / --ubsan , use an isolated check profile\n\n " ;
136+ out << " - Detect and configure the project\n " ;
137+ out << " - Build the selected check profile \n " ;
138+ out << " - Optionally run tests with CTest\n " ;
139+ out << " - Optionally run the built executable\n " ;
140+ out << " - With sanitizers , use an isolated build profile\n\n " ;
140141
141142 print_help_section_header (out, " Script mode" );
142- out << " - Create a temporary CMake project\n " ;
143+ out << " - Create a temporary CMake project around the file \n " ;
143144 out << " - Compile the file\n " ;
144145 out << " - With sanitizers enabled, also run the binary for runtime validation\n\n " ;
145146
@@ -159,25 +160,38 @@ namespace vix::commands::CheckCommand
159160
160161 print_help_section_header (out, " Sanitizers" );
161162 out << " --san Enable AddressSanitizer + UBSan\n " ;
162- out << " --ubsan Enable UBSan only\n\n " ;
163+ out << " --ubsan Enable UBSan only\n " ;
164+ out << " --full Force the complete sanitizer check, including full project configure\n\n " ;
165+
166+ print_help_section_header (out, " Sanitizer modes" );
167+ out << " Default sanitizer mode is smart.\n " ;
168+ out << " - Small projects: Vix checks the full project normally.\n " ;
169+ out << " - Large or umbrella projects: Vix may switch to a reduced sanitizer\n " ;
170+ out << " configure to avoid unrelated packaging/export/install failures.\n " ;
171+ out << " - Use --full to force the complete sanitizer configure.\n " ;
172+ out << " This is useful when you want to detect real CMake/export issues.\n\n " ;
163173
164174 print_help_section_header (out, " Notes" );
165175 out << " - Project checks use isolated build directories per profile.\n " ;
166176 out << " Example: build-ninja, build-ninja-san, build-ninja-ubsan.\n " ;
167177 out << " - If a dedicated sanitizer preset does not exist, Vix falls back to\n " ;
168178 out << " manual configure/build for that check profile.\n " ;
169- out << " - In project mode, --san and --ubsan also trigger runtime validation.\n " ;
179+ out << " - In project mode, --san and --ubsan also enable runtime validation.\n " ;
170180 out << " - In script mode, sanitizers validate both build and runtime.\n " ;
171- out << " - Global packages installed by Vix are integrated into project checks.\n\n " ;
181+ out << " - Global packages installed by Vix are integrated into project checks.\n " ;
182+ out << " - --san is the recommended mode for day-to-day validation.\n " ;
183+ out << " - --san --full is stricter and can reveal real project-level CMake issues.\n\n " ;
172184
173185 print_help_section_header (out, " Examples" );
174186 out << " vix check\n " ;
175187 out << " vix check --tests\n " ;
176188 out << " vix check --run\n " ;
177189 out << " vix check --tests --run\n " ;
178190 out << " vix check --san\n " ;
191+ out << " vix check --san --full\n " ;
179192 out << " vix check --san --tests\n " ;
180193 out << " vix check --san --tests --run-timeout 20\n " ;
194+ out << " vix check --ubsan\n " ;
181195 out << " vix check --dir ./examples/api\n " ;
182196 out << " vix check main.cpp\n " ;
183197 out << " vix check main.cpp --san\n " ;
0 commit comments