opencode-skills-antigravity 1.0.10 → 1.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/bundled-skills/cpp-pro/references/build-tooling.md +440 -0
  2. package/bundled-skills/cpp-pro/references/concurrency.md +437 -0
  3. package/bundled-skills/cpp-pro/references/memory-performance.md +397 -0
  4. package/bundled-skills/cpp-pro/references/modern-cpp.md +304 -0
  5. package/bundled-skills/cpp-pro/references/templates.md +357 -0
  6. package/bundled-skills/cpp-pro/resources/implementation-playbook.md +43 -0
  7. package/bundled-skills/docs/integrations/jetski-cortex.md +3 -3
  8. package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +4 -4
  9. package/bundled-skills/docs/integrations/jetski-gemini-loader/{loader.ts → loader.mjs} +38 -50
  10. package/bundled-skills/docs/maintainers/repo-growth-seo.md +3 -3
  11. package/bundled-skills/docs/maintainers/security-findings-triage-2026-03-15.csv +1 -1
  12. package/bundled-skills/docs/maintainers/security-findings-triage-2026-03-15.md +1 -1
  13. package/bundled-skills/docs/maintainers/security-findings-triage-2026-03-18-addendum.md +1 -1
  14. package/bundled-skills/docs/maintainers/skills-update-guide.md +1 -1
  15. package/bundled-skills/docs/users/bundles.md +1 -1
  16. package/bundled-skills/docs/users/claude-code-skills.md +1 -1
  17. package/bundled-skills/docs/users/gemini-cli-skills.md +1 -1
  18. package/bundled-skills/docs/users/getting-started.md +1 -1
  19. package/bundled-skills/docs/users/kiro-integration.md +1 -1
  20. package/bundled-skills/docs/users/usage.md +4 -4
  21. package/bundled-skills/docs/users/visual-guide.md +4 -4
  22. package/bundled-skills/jobgpt/SKILL.md +100 -0
  23. package/bundled-skills/moyu/SKILL.md +267 -0
  24. package/bundled-skills/windows-shell-reliability/SKILL.md +107 -0
  25. package/package.json +1 -1
@@ -0,0 +1,440 @@
1
+ # Build Systems and Tooling
2
+
3
+ ## Modern CMake
4
+
5
+ ```cmake
6
+ cmake_minimum_required(VERSION 3.20)
7
+ project(MyProject VERSION 1.0.0 LANGUAGES CXX)
8
+
9
+ # Set C++ standard
10
+ set(CMAKE_CXX_STANDARD 20)
11
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
12
+ set(CMAKE_CXX_EXTENSIONS OFF)
13
+
14
+ # Export compile commands for tools
15
+ set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
16
+
17
+ # Compiler warnings
18
+ if(MSVC)
19
+ add_compile_options(/W4 /WX)
20
+ else()
21
+ add_compile_options(-Wall -Wextra -Wpedantic -Werror)
22
+ endif()
23
+
24
+ # Create library target
25
+ add_library(mylib
26
+ src/mylib.cpp
27
+ include/mylib.h
28
+ )
29
+
30
+ target_include_directories(mylib
31
+ PUBLIC
32
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
33
+ $<INSTALL_INTERFACE:include>
34
+ PRIVATE
35
+ ${CMAKE_CURRENT_SOURCE_DIR}/src
36
+ )
37
+
38
+ target_compile_features(mylib PUBLIC cxx_std_20)
39
+
40
+ # Create executable
41
+ add_executable(myapp src/main.cpp)
42
+ target_link_libraries(myapp PRIVATE mylib)
43
+
44
+ # Dependencies with FetchContent
45
+ include(FetchContent)
46
+
47
+ FetchContent_Declare(
48
+ fmt
49
+ GIT_REPOSITORY https://github.com/fmtlib/fmt.git
50
+ GIT_TAG 10.1.1
51
+ )
52
+ FetchContent_MakeAvailable(fmt)
53
+
54
+ target_link_libraries(mylib PUBLIC fmt::fmt)
55
+
56
+ # Testing
57
+ enable_testing()
58
+ add_subdirectory(tests)
59
+
60
+ # Install rules
61
+ include(GNUInstallDirs)
62
+ install(TARGETS mylib myapp
63
+ EXPORT MyProjectTargets
64
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
65
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
66
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
67
+ )
68
+
69
+ install(DIRECTORY include/
70
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
71
+ )
72
+ ```
73
+
74
+ ## Sanitizers
75
+
76
+ ```cmake
77
+ # AddressSanitizer (ASan) - memory errors
78
+ set(CMAKE_CXX_FLAGS_ASAN
79
+ "-g -O1 -fsanitize=address -fno-omit-frame-pointer"
80
+ CACHE STRING "Flags for ASan build"
81
+ )
82
+
83
+ # UndefinedBehaviorSanitizer (UBSan)
84
+ set(CMAKE_CXX_FLAGS_UBSAN
85
+ "-g -O1 -fsanitize=undefined -fno-omit-frame-pointer"
86
+ CACHE STRING "Flags for UBSan build"
87
+ )
88
+
89
+ # ThreadSanitizer (TSan) - data races
90
+ set(CMAKE_CXX_FLAGS_TSAN
91
+ "-g -O1 -fsanitize=thread -fno-omit-frame-pointer"
92
+ CACHE STRING "Flags for TSan build"
93
+ )
94
+
95
+ # MemorySanitizer (MSan) - uninitialized reads
96
+ set(CMAKE_CXX_FLAGS_MSAN
97
+ "-g -O1 -fsanitize=memory -fno-omit-frame-pointer"
98
+ CACHE STRING "Flags for MSan build"
99
+ )
100
+
101
+ # Usage: cmake -DCMAKE_BUILD_TYPE=ASAN ..
102
+ ```
103
+
104
+ ## Static Analysis
105
+
106
+ ```yaml
107
+ # .clang-tidy configuration
108
+ ---
109
+ Checks: >
110
+ *,
111
+ -fuchsia-*,
112
+ -google-*,
113
+ -llvm-*,
114
+ -modernize-use-trailing-return-type,
115
+ -readability-identifier-length
116
+
117
+ WarningsAsErrors: '*'
118
+
119
+ CheckOptions:
120
+ - key: readability-identifier-naming.ClassCase
121
+ value: CamelCase
122
+ - key: readability-identifier-naming.FunctionCase
123
+ value: lower_case
124
+ - key: readability-identifier-naming.VariableCase
125
+ value: lower_case
126
+ - key: readability-identifier-naming.ConstantCase
127
+ value: UPPER_CASE
128
+ - key: readability-identifier-naming.MemberCase
129
+ value: lower_case
130
+ - key: readability-identifier-naming.MemberSuffix
131
+ value: '_'
132
+ - key: modernize-use-nullptr.NullMacros
133
+ value: 'NULL'
134
+ ```
135
+
136
+ ```bash
137
+ # Run clang-tidy
138
+ clang-tidy src/*.cpp -p build/
139
+
140
+ # Run cppcheck
141
+ cppcheck --enable=all --std=c++20 --suppress=missingInclude src/
142
+
143
+ # Run include-what-you-use
144
+ include-what-you-use -std=c++20 src/main.cpp
145
+ ```
146
+
147
+ ## Testing with Catch2
148
+
149
+ ```cpp
150
+ #include <catch2/catch_test_macros.hpp>
151
+ #include <catch2/benchmark/catch_benchmark.hpp>
152
+ #include "mylib.h"
153
+
154
+ TEST_CASE("Vector operations", "[vector]") {
155
+ std::vector<int> vec{1, 2, 3};
156
+
157
+ SECTION("push_back") {
158
+ vec.push_back(4);
159
+ REQUIRE(vec.size() == 4);
160
+ REQUIRE(vec.back() == 4);
161
+ }
162
+
163
+ SECTION("pop_back") {
164
+ vec.pop_back();
165
+ REQUIRE(vec.size() == 2);
166
+ REQUIRE(vec.back() == 2);
167
+ }
168
+ }
169
+
170
+ TEST_CASE("Exception handling", "[exceptions]") {
171
+ REQUIRE_THROWS_AS(risky_function(), std::runtime_error);
172
+ REQUIRE_THROWS_WITH(risky_function(), "error message");
173
+ }
174
+
175
+ TEST_CASE("Floating point", "[math]") {
176
+ REQUIRE_THAT(compute_value(),
177
+ Catch::Matchers::WithinAbs(3.14, 0.01));
178
+ }
179
+
180
+ BENCHMARK("Vector creation") {
181
+ return std::vector<int>(1000);
182
+ };
183
+
184
+ BENCHMARK("Vector fill") {
185
+ std::vector<int> vec(1000);
186
+ for (int i = 0; i < 1000; ++i) {
187
+ vec[i] = i;
188
+ }
189
+ return vec;
190
+ };
191
+ ```
192
+
193
+ ## Testing with GoogleTest
194
+
195
+ ```cpp
196
+ #include <gtest/gtest.h>
197
+ #include <gmock/gmock.h>
198
+ #include "calculator.h"
199
+
200
+ class CalculatorTest : public ::testing::Test {
201
+ protected:
202
+ void SetUp() override {
203
+ calc = std::make_unique<Calculator>();
204
+ }
205
+
206
+ void TearDown() override {
207
+ calc.reset();
208
+ }
209
+
210
+ std::unique_ptr<Calculator> calc;
211
+ };
212
+
213
+ TEST_F(CalculatorTest, Addition) {
214
+ EXPECT_EQ(calc->add(2, 3), 5);
215
+ EXPECT_EQ(calc->add(-1, 1), 0);
216
+ }
217
+
218
+ TEST_F(CalculatorTest, Division) {
219
+ EXPECT_DOUBLE_EQ(calc->divide(10, 2), 5.0);
220
+ EXPECT_THROW(calc->divide(10, 0), std::invalid_argument);
221
+ }
222
+
223
+ // Parameterized tests
224
+ class AdditionTest : public ::testing::TestWithParam<std::tuple<int, int, int>> {};
225
+
226
+ TEST_P(AdditionTest, ValidAddition) {
227
+ auto [a, b, expected] = GetParam();
228
+ Calculator calc;
229
+ EXPECT_EQ(calc.add(a, b), expected);
230
+ }
231
+
232
+ INSTANTIATE_TEST_SUITE_P(
233
+ AdditionSuite,
234
+ AdditionTest,
235
+ ::testing::Values(
236
+ std::make_tuple(1, 2, 3),
237
+ std::make_tuple(-1, -2, -3),
238
+ std::make_tuple(0, 0, 0)
239
+ )
240
+ );
241
+
242
+ // Mock objects
243
+ class MockDatabase : public Database {
244
+ public:
245
+ MOCK_METHOD(void, connect, (const std::string&), (override));
246
+ MOCK_METHOD(std::string, query, (const std::string&), (override));
247
+ MOCK_METHOD(void, disconnect, (), (override));
248
+ };
249
+
250
+ TEST(ServiceTest, UsesDatabase) {
251
+ MockDatabase mock_db;
252
+ EXPECT_CALL(mock_db, connect("localhost"))
253
+ .Times(1);
254
+ EXPECT_CALL(mock_db, query("SELECT *"))
255
+ .WillOnce(::testing::Return("result"));
256
+
257
+ Service service(mock_db);
258
+ service.process();
259
+ }
260
+ ```
261
+
262
+ ## Performance Profiling
263
+
264
+ ```cpp
265
+ // Benchmark with Google Benchmark
266
+ #include <benchmark/benchmark.h>
267
+
268
+ static void BM_VectorPush(benchmark::State& state) {
269
+ for (auto _ : state) {
270
+ std::vector<int> vec;
271
+ for (int i = 0; i < state.range(0); ++i) {
272
+ vec.push_back(i);
273
+ }
274
+ benchmark::DoNotOptimize(vec);
275
+ }
276
+ }
277
+ BENCHMARK(BM_VectorPush)->Range(8, 8<<10);
278
+
279
+ static void BM_VectorReserve(benchmark::State& state) {
280
+ for (auto _ : state) {
281
+ std::vector<int> vec;
282
+ vec.reserve(state.range(0));
283
+ for (int i = 0; i < state.range(0); ++i) {
284
+ vec.push_back(i);
285
+ }
286
+ benchmark::DoNotOptimize(vec);
287
+ }
288
+ }
289
+ BENCHMARK(BM_VectorReserve)->Range(8, 8<<10);
290
+
291
+ BENCHMARK_MAIN();
292
+ ```
293
+
294
+ ```bash
295
+ # Profiling with perf (Linux)
296
+ perf record -g ./myapp
297
+ perf report
298
+
299
+ # Profiling with Instruments (macOS)
300
+ instruments -t "Time Profiler" ./myapp
301
+
302
+ # Valgrind callgrind
303
+ valgrind --tool=callgrind ./myapp
304
+ kcachegrind callgrind.out.*
305
+
306
+ # Memory profiling
307
+ valgrind --tool=massif ./myapp
308
+ ms_print massif.out.*
309
+ ```
310
+
311
+ ## Conan Package Manager
312
+
313
+ ```python
314
+ # conanfile.txt
315
+ [requires]
316
+ fmt/10.1.1
317
+ spdlog/1.12.0
318
+ catch2/3.4.0
319
+
320
+ [generators]
321
+ CMakeDeps
322
+ CMakeToolchain
323
+
324
+ [options]
325
+ fmt:header_only=True
326
+ ```
327
+
328
+ ```cmake
329
+ # CMakeLists.txt with Conan
330
+ cmake_minimum_required(VERSION 3.20)
331
+ project(MyProject)
332
+
333
+ find_package(fmt REQUIRED)
334
+ find_package(spdlog REQUIRED)
335
+ find_package(Catch2 REQUIRED)
336
+
337
+ add_executable(myapp src/main.cpp)
338
+ target_link_libraries(myapp
339
+ PRIVATE
340
+ fmt::fmt
341
+ spdlog::spdlog
342
+ )
343
+
344
+ add_executable(tests test/main.cpp)
345
+ target_link_libraries(tests
346
+ PRIVATE
347
+ Catch2::Catch2WithMain
348
+ )
349
+ ```
350
+
351
+ ```bash
352
+ # Install dependencies
353
+ conan install . --output-folder=build --build=missing
354
+ cd build
355
+ cmake .. -DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake
356
+ cmake --build .
357
+ ```
358
+
359
+ ## CI/CD with GitHub Actions
360
+
361
+ ```yaml
362
+ # .github/workflows/ci.yml
363
+ name: CI
364
+
365
+ on: [push, pull_request]
366
+
367
+ jobs:
368
+ build:
369
+ runs-on: ${{ matrix.os }}
370
+ strategy:
371
+ matrix:
372
+ os: [ubuntu-latest, macos-latest, windows-latest]
373
+ compiler: [gcc, clang, msvc]
374
+ build_type: [Debug, Release]
375
+
376
+ steps:
377
+ - uses: actions/checkout@v3
378
+
379
+ - name: Install dependencies
380
+ run: |
381
+ pip install conan
382
+ conan install . --output-folder=build --build=missing
383
+
384
+ - name: Configure
385
+ run: |
386
+ cmake -B build -DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
387
+
388
+ - name: Build
389
+ run: cmake --build build --config ${{ matrix.build_type }}
390
+
391
+ - name: Test
392
+ run: ctest --test-dir build -C ${{ matrix.build_type }}
393
+
394
+ sanitizers:
395
+ runs-on: ubuntu-latest
396
+ strategy:
397
+ matrix:
398
+ sanitizer: [asan, ubsan, tsan]
399
+
400
+ steps:
401
+ - uses: actions/checkout@v3
402
+
403
+ - name: Build with sanitizer
404
+ run: |
405
+ cmake -B build -DCMAKE_BUILD_TYPE=${{ matrix.sanitizer }}
406
+ cmake --build build
407
+
408
+ - name: Run tests
409
+ run: ctest --test-dir build
410
+
411
+ static-analysis:
412
+ runs-on: ubuntu-latest
413
+
414
+ steps:
415
+ - uses: actions/checkout@v3
416
+
417
+ - name: Run clang-tidy
418
+ run: |
419
+ cmake -B build -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
420
+ clang-tidy src/*.cpp -p build/
421
+
422
+ - name: Run cppcheck
423
+ run: cppcheck --enable=all --error-exitcode=1 src/
424
+ ```
425
+
426
+ ## Quick Reference
427
+
428
+ | Tool | Purpose | Command |
429
+ |------|---------|---------|
430
+ | CMake | Build system | `cmake -B build && cmake --build build` |
431
+ | Conan | Package manager | `conan install . --build=missing` |
432
+ | ASan | Memory errors | `-fsanitize=address` |
433
+ | UBSan | Undefined behavior | `-fsanitize=undefined` |
434
+ | TSan | Data races | `-fsanitize=thread` |
435
+ | clang-tidy | Static analysis | `clang-tidy src/*.cpp` |
436
+ | cppcheck | Static analysis | `cppcheck --enable=all src/` |
437
+ | Catch2 | Unit testing | `TEST_CASE("name") { REQUIRE(...); }` |
438
+ | GoogleTest | Unit testing | `TEST(Suite, Name) { EXPECT_EQ(...); }` |
439
+ | Google Benchmark | Performance | `BENCHMARK(func)->Range(...)` |
440
+ | Valgrind | Memory profiler | `valgrind --tool=memcheck ./app` |