@h1dr0n/skill-pool 0.1.0

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 (189) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +296 -0
  3. package/bin/cli.js +157 -0
  4. package/package.json +41 -0
  5. package/skills/api/agents/backend-specialist.md +69 -0
  6. package/skills/api/agents/database-optimizer.md +176 -0
  7. package/skills/api/manifest.yaml +20 -0
  8. package/skills/api/rules/auth-security.md +45 -0
  9. package/skills/api/skills/api-patterns/SKILL.md +81 -0
  10. package/skills/api/skills/api-patterns/api-style.md +42 -0
  11. package/skills/api/skills/api-patterns/auth.md +24 -0
  12. package/skills/api/skills/api-patterns/documentation.md +26 -0
  13. package/skills/api/skills/api-patterns/graphql.md +41 -0
  14. package/skills/api/skills/api-patterns/rate-limiting.md +31 -0
  15. package/skills/api/skills/api-patterns/response.md +37 -0
  16. package/skills/api/skills/api-patterns/rest.md +40 -0
  17. package/skills/api/skills/api-patterns/scripts/api_validator.py +211 -0
  18. package/skills/api/skills/api-patterns/security-testing.md +122 -0
  19. package/skills/api/skills/api-patterns/trpc.md +41 -0
  20. package/skills/api/skills/api-patterns/versioning.md +22 -0
  21. package/skills/api/skills/database-patterns.md +126 -0
  22. package/skills/api/skills/deployment-patterns.md +105 -0
  23. package/skills/api/skills/docker-patterns.md +135 -0
  24. package/skills/common/agents/code-reviewer.md +78 -0
  25. package/skills/common/agents/planner.md +80 -0
  26. package/skills/common/agents/security-reviewer.md +82 -0
  27. package/skills/common/agents/software-architect.md +81 -0
  28. package/skills/common/manifest.yaml +25 -0
  29. package/skills/common/rules/coding-style.md +39 -0
  30. package/skills/common/rules/git-workflow.md +33 -0
  31. package/skills/common/rules/security.md +25 -0
  32. package/skills/common/skills/architecture/SKILL.md +55 -0
  33. package/skills/common/skills/architecture/context-discovery.md +43 -0
  34. package/skills/common/skills/architecture/examples.md +94 -0
  35. package/skills/common/skills/architecture/pattern-selection.md +68 -0
  36. package/skills/common/skills/architecture/patterns-reference.md +50 -0
  37. package/skills/common/skills/architecture/trade-off-analysis.md +77 -0
  38. package/skills/common/skills/brainstorming/SKILL.md +163 -0
  39. package/skills/common/skills/brainstorming/dynamic-questioning.md +350 -0
  40. package/skills/common/skills/clean-code.md +99 -0
  41. package/skills/common/skills/code-review-checklist.md +86 -0
  42. package/skills/common/skills/plan-writing/SKILL.md +152 -0
  43. package/skills/common/skills/skill-feedback.md +94 -0
  44. package/skills/common/skills/tdd-workflow.md +130 -0
  45. package/skills/common/skills/verification-loop.md +112 -0
  46. package/skills/cpp/agents/cpp-build-resolver.md +90 -0
  47. package/skills/cpp/agents/cpp-reviewer.md +72 -0
  48. package/skills/cpp/manifest.yaml +15 -0
  49. package/skills/cpp/skills/cpp-coding-standards.md +722 -0
  50. package/skills/cpp/skills/cpp-testing.md +323 -0
  51. package/skills/devops/agents/devops-automator.md +376 -0
  52. package/skills/devops/agents/sre.md +90 -0
  53. package/skills/devops/manifest.yaml +20 -0
  54. package/skills/devops/skills/deployment-patterns.md +427 -0
  55. package/skills/devops/skills/deployment-procedures/SKILL.md +241 -0
  56. package/skills/devops/skills/docker-patterns.md +364 -0
  57. package/skills/devops/skills/e2e-testing.md +326 -0
  58. package/skills/devops/skills/github-ops.md +144 -0
  59. package/skills/django/manifest.yaml +16 -0
  60. package/skills/django/skills/django-patterns.md +734 -0
  61. package/skills/django/skills/django-security.md +593 -0
  62. package/skills/django/skills/django-tdd.md +729 -0
  63. package/skills/django/skills/django-verification.md +469 -0
  64. package/skills/dotnet/agents/csharp-reviewer.md +101 -0
  65. package/skills/dotnet/manifest.yaml +14 -0
  66. package/skills/dotnet/skills/csharp-testing.md +321 -0
  67. package/skills/dotnet/skills/dotnet-patterns.md +321 -0
  68. package/skills/go/agents/code-reviewer.md +76 -0
  69. package/skills/go/agents/go-build-resolver.md +94 -0
  70. package/skills/go/agents/go-reviewer.md +76 -0
  71. package/skills/go/manifest.yaml +17 -0
  72. package/skills/go/rules/go-style.md +55 -0
  73. package/skills/go/skills/golang-patterns.md +674 -0
  74. package/skills/go/skills/golang-testing.md +720 -0
  75. package/skills/java/agents/java-build-resolver.md +153 -0
  76. package/skills/java/agents/java-reviewer.md +92 -0
  77. package/skills/java/manifest.yaml +18 -0
  78. package/skills/java/skills/java-coding-standards.md +147 -0
  79. package/skills/java/skills/jpa-patterns.md +151 -0
  80. package/skills/java/skills/springboot-patterns.md +314 -0
  81. package/skills/java/skills/springboot-security.md +272 -0
  82. package/skills/kotlin/agents/kotlin-build-resolver.md +118 -0
  83. package/skills/kotlin/agents/kotlin-reviewer.md +159 -0
  84. package/skills/kotlin/manifest.yaml +17 -0
  85. package/skills/kotlin/skills/kotlin-coroutines-flows.md +284 -0
  86. package/skills/kotlin/skills/kotlin-patterns.md +711 -0
  87. package/skills/kotlin/skills/kotlin-testing.md +824 -0
  88. package/skills/laravel/manifest.yaml +15 -0
  89. package/skills/laravel/skills/laravel-patterns.md +409 -0
  90. package/skills/laravel/skills/laravel-security.md +279 -0
  91. package/skills/laravel/skills/laravel-tdd.md +277 -0
  92. package/skills/laravel/skills/laravel-verification.md +173 -0
  93. package/skills/mobile/agents/dart-build-resolver.md +201 -0
  94. package/skills/mobile/agents/flutter-reviewer.md +243 -0
  95. package/skills/mobile/manifest.yaml +19 -0
  96. package/skills/mobile/skills/android-clean-architecture.md +339 -0
  97. package/skills/mobile/skills/dart-flutter-patterns.md +563 -0
  98. package/skills/mobile/skills/swiftui-patterns.md +259 -0
  99. package/skills/nestjs/manifest.yaml +13 -0
  100. package/skills/nestjs/skills/nestjs-patterns.md +230 -0
  101. package/skills/perl/manifest.yaml +13 -0
  102. package/skills/perl/skills/perl-patterns.md +504 -0
  103. package/skills/perl/skills/perl-security.md +503 -0
  104. package/skills/perl/skills/perl-testing.md +475 -0
  105. package/skills/python/agents/python-reviewer.md +98 -0
  106. package/skills/python/manifest.yaml +18 -0
  107. package/skills/python/rules/python-style.md +69 -0
  108. package/skills/python/skills/python-patterns/SKILL.md +441 -0
  109. package/skills/python/skills/python-patterns.md +90 -0
  110. package/skills/python/skills/python-testing.md +81 -0
  111. package/skills/rust/agents/rust-build-resolver.md +148 -0
  112. package/skills/rust/agents/rust-reviewer.md +94 -0
  113. package/skills/rust/manifest.yaml +16 -0
  114. package/skills/rust/rules/rust-style.md +107 -0
  115. package/skills/rust/skills/rust-patterns.md +499 -0
  116. package/skills/rust/skills/rust-testing.md +500 -0
  117. package/skills/security/agents/accessibility-auditor.md +316 -0
  118. package/skills/security/agents/security-reviewer.md +108 -0
  119. package/skills/security/manifest.yaml +19 -0
  120. package/skills/security/skills/red-team-tactics/SKILL.md +199 -0
  121. package/skills/security/skills/security-bounty-hunter.md +99 -0
  122. package/skills/security/skills/security-review.md +495 -0
  123. package/skills/security/skills/security-scan.md +165 -0
  124. package/skills/security/skills/vulnerability-scanner/SKILL.md +276 -0
  125. package/skills/security/skills/vulnerability-scanner/checklists.md +121 -0
  126. package/skills/security/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
  127. package/skills/swift/manifest.yaml +16 -0
  128. package/skills/swift/skills/swift-actor-persistence.md +142 -0
  129. package/skills/swift/skills/swift-concurrency.md +216 -0
  130. package/skills/swift/skills/swift-protocol-di-testing.md +190 -0
  131. package/skills/swift/skills/swiftui-patterns.md +259 -0
  132. package/skills/unity/agents/game-designer.md +167 -0
  133. package/skills/unity/agents/unity-architect.md +52 -0
  134. package/skills/unity/agents/unity-editor-tool-developer.md +310 -0
  135. package/skills/unity/agents/unity-multiplayer-engineer.md +321 -0
  136. package/skills/unity/agents/unity-shader-graph-artist.md +269 -0
  137. package/skills/unity/manifest.yaml +21 -0
  138. package/skills/unity/rules/csharp-patterns.md +48 -0
  139. package/skills/unity/rules/unity-specific.md +53 -0
  140. package/skills/unity/skills/systematic-debugging.md +92 -0
  141. package/skills/unity/skills/unity-architecture.md +173 -0
  142. package/skills/unreal/agents/level-designer.md +208 -0
  143. package/skills/unreal/agents/technical-artist.md +229 -0
  144. package/skills/unreal/agents/unreal-multiplayer-architect.md +313 -0
  145. package/skills/unreal/agents/unreal-systems-engineer.md +310 -0
  146. package/skills/unreal/agents/unreal-technical-artist.md +256 -0
  147. package/skills/unreal/agents/unreal-world-builder.md +273 -0
  148. package/skills/unreal/manifest.yaml +21 -0
  149. package/skills/unreal/skills/unreal-patterns.md +183 -0
  150. package/skills/web/agents/frontend-specialist.md +71 -0
  151. package/skills/web/agents/ui-designer.md +383 -0
  152. package/skills/web/agents/ux-architect.md +469 -0
  153. package/skills/web/manifest.yaml +22 -0
  154. package/skills/web/rules/accessibility.md +54 -0
  155. package/skills/web/rules/css-performance.md +52 -0
  156. package/skills/web/skills/e2e-testing.md +132 -0
  157. package/skills/web/skills/frontend-design/SKILL.md +452 -0
  158. package/skills/web/skills/frontend-design/animation-guide.md +331 -0
  159. package/skills/web/skills/frontend-design/color-system.md +311 -0
  160. package/skills/web/skills/frontend-design/decision-trees.md +418 -0
  161. package/skills/web/skills/frontend-design/motion-graphics.md +306 -0
  162. package/skills/web/skills/frontend-design/scripts/accessibility_checker.py +183 -0
  163. package/skills/web/skills/frontend-design/scripts/ux_audit.py +722 -0
  164. package/skills/web/skills/frontend-design/typography-system.md +345 -0
  165. package/skills/web/skills/frontend-design/ux-psychology.md +1116 -0
  166. package/skills/web/skills/frontend-design/visual-effects.md +383 -0
  167. package/skills/web/skills/react-nextjs.md +135 -0
  168. package/skills/web/skills/tailwind-patterns/SKILL.md +269 -0
  169. package/src/adapters/antigravity.js +164 -0
  170. package/src/adapters/claude.js +188 -0
  171. package/src/adapters/cursor.js +161 -0
  172. package/src/adapters/index.js +67 -0
  173. package/src/adapters/windsurf.js +158 -0
  174. package/src/commands/add.js +266 -0
  175. package/src/commands/create.js +127 -0
  176. package/src/commands/diff.js +78 -0
  177. package/src/commands/info.js +88 -0
  178. package/src/commands/init.js +224 -0
  179. package/src/commands/install.js +90 -0
  180. package/src/commands/list.js +54 -0
  181. package/src/commands/remove.js +101 -0
  182. package/src/commands/targets.js +32 -0
  183. package/src/commands/update.js +57 -0
  184. package/src/core/manifest.js +57 -0
  185. package/src/core/plugins.js +86 -0
  186. package/src/core/resolver.js +84 -0
  187. package/src/core/tracker.js +49 -0
  188. package/src/utils/fs.js +80 -0
  189. package/src/utils/git.js +52 -0
@@ -0,0 +1,323 @@
1
+ ---
2
+ name: cpp-testing
3
+ description: Use only when writing/updating/fixing C++ tests, configuring GoogleTest/CTest, diagnosing failing or flaky tests, or adding coverage/sanitizers.
4
+ ---
5
+
6
+ # C++ Testing (Agent Skill)
7
+
8
+ Agent-focused testing workflow for modern C++ (C++17/20) using GoogleTest/GoogleMock with CMake/CTest.
9
+
10
+ ## When to Use
11
+
12
+ - Writing new C++ tests or fixing existing tests
13
+ - Designing unit/integration test coverage for C++ components
14
+ - Adding test coverage, CI gating, or regression protection
15
+ - Configuring CMake/CTest workflows for consistent execution
16
+ - Investigating test failures or flaky behavior
17
+ - Enabling sanitizers for memory/race diagnostics
18
+
19
+ ### When NOT to Use
20
+
21
+ - Implementing new product features without test changes
22
+ - Large-scale refactors unrelated to test coverage or failures
23
+ - Performance tuning without test regressions to validate
24
+ - Non-C++ projects or non-test tasks
25
+
26
+ ## Core Concepts
27
+
28
+ - **TDD loop**: red → green → refactor (tests first, minimal fix, then cleanups).
29
+ - **Isolation**: prefer dependency injection and fakes over global state.
30
+ - **Test layout**: `tests/unit`, `tests/integration`, `tests/testdata`.
31
+ - **Mocks vs fakes**: mock for interactions, fake for stateful behavior.
32
+ - **CTest discovery**: use `gtest_discover_tests()` for stable test discovery.
33
+ - **CI signal**: run subset first, then full suite with `--output-on-failure`.
34
+
35
+ ## TDD Workflow
36
+
37
+ Follow the RED → GREEN → REFACTOR loop:
38
+
39
+ 1. **RED**: write a failing test that captures the new behavior
40
+ 2. **GREEN**: implement the smallest change to pass
41
+ 3. **REFACTOR**: clean up while tests stay green
42
+
43
+ ```cpp
44
+ // tests/add_test.cpp
45
+ #include <gtest/gtest.h>
46
+
47
+ int Add(int a, int b); // Provided by production code.
48
+
49
+ TEST(AddTest, AddsTwoNumbers) { // RED
50
+ EXPECT_EQ(Add(2, 3), 5);
51
+ }
52
+
53
+ // src/add.cpp
54
+ int Add(int a, int b) { // GREEN
55
+ return a + b;
56
+ }
57
+
58
+ // REFACTOR: simplify/rename once tests pass
59
+ ```
60
+
61
+ ## Code Examples
62
+
63
+ ### Basic Unit Test (gtest)
64
+
65
+ ```cpp
66
+ // tests/calculator_test.cpp
67
+ #include <gtest/gtest.h>
68
+
69
+ int Add(int a, int b); // Provided by production code.
70
+
71
+ TEST(CalculatorTest, AddsTwoNumbers) {
72
+ EXPECT_EQ(Add(2, 3), 5);
73
+ }
74
+ ```
75
+
76
+ ### Fixture (gtest)
77
+
78
+ ```cpp
79
+ // tests/user_store_test.cpp
80
+ // Pseudocode stub: replace UserStore/User with project types.
81
+ #include <gtest/gtest.h>
82
+ #include <memory>
83
+ #include <optional>
84
+ #include <string>
85
+
86
+ struct User { std::string name; };
87
+ class UserStore {
88
+ public:
89
+ explicit UserStore(std::string /*path*/) {}
90
+ void Seed(std::initializer_list<User> /*users*/) {}
91
+ std::optional<User> Find(const std::string &/*name*/) { return User{"alice"}; }
92
+ };
93
+
94
+ class UserStoreTest : public ::testing::Test {
95
+ protected:
96
+ void SetUp() override {
97
+ store = std::make_unique<UserStore>(":memory:");
98
+ store->Seed({{"alice"}, {"bob"}});
99
+ }
100
+
101
+ std::unique_ptr<UserStore> store;
102
+ };
103
+
104
+ TEST_F(UserStoreTest, FindsExistingUser) {
105
+ auto user = store->Find("alice");
106
+ ASSERT_TRUE(user.has_value());
107
+ EXPECT_EQ(user->name, "alice");
108
+ }
109
+ ```
110
+
111
+ ### Mock (gmock)
112
+
113
+ ```cpp
114
+ // tests/notifier_test.cpp
115
+ #include <gmock/gmock.h>
116
+ #include <gtest/gtest.h>
117
+ #include <string>
118
+
119
+ class Notifier {
120
+ public:
121
+ virtual ~Notifier() = default;
122
+ virtual void Send(const std::string &message) = 0;
123
+ };
124
+
125
+ class MockNotifier : public Notifier {
126
+ public:
127
+ MOCK_METHOD(void, Send, (const std::string &message), (override));
128
+ };
129
+
130
+ class Service {
131
+ public:
132
+ explicit Service(Notifier &notifier) : notifier_(notifier) {}
133
+ void Publish(const std::string &message) { notifier_.Send(message); }
134
+
135
+ private:
136
+ Notifier &notifier_;
137
+ };
138
+
139
+ TEST(ServiceTest, SendsNotifications) {
140
+ MockNotifier notifier;
141
+ Service service(notifier);
142
+
143
+ EXPECT_CALL(notifier, Send("hello")).Times(1);
144
+ service.Publish("hello");
145
+ }
146
+ ```
147
+
148
+ ### CMake/CTest Quickstart
149
+
150
+ ```cmake
151
+ # CMakeLists.txt (excerpt)
152
+ cmake_minimum_required(VERSION 3.20)
153
+ project(example LANGUAGES CXX)
154
+
155
+ set(CMAKE_CXX_STANDARD 20)
156
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
157
+
158
+ include(FetchContent)
159
+ # Prefer project-locked versions. If using a tag, use a pinned version per project policy.
160
+ set(GTEST_VERSION v1.17.0) # Adjust to project policy.
161
+ FetchContent_Declare(
162
+ googletest
163
+ # Google Test framework (official repository)
164
+ URL https://github.com/google/googletest/archive/refs/tags/${GTEST_VERSION}.zip
165
+ )
166
+ FetchContent_MakeAvailable(googletest)
167
+
168
+ add_executable(example_tests
169
+ tests/calculator_test.cpp
170
+ src/calculator.cpp
171
+ )
172
+ target_link_libraries(example_tests GTest::gtest GTest::gmock GTest::gtest_main)
173
+
174
+ enable_testing()
175
+ include(GoogleTest)
176
+ gtest_discover_tests(example_tests)
177
+ ```
178
+
179
+ ```bash
180
+ cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug
181
+ cmake --build build -j
182
+ ctest --test-dir build --output-on-failure
183
+ ```
184
+
185
+ ## Running Tests
186
+
187
+ ```bash
188
+ ctest --test-dir build --output-on-failure
189
+ ctest --test-dir build -R ClampTest
190
+ ctest --test-dir build -R "UserStoreTest.*" --output-on-failure
191
+ ```
192
+
193
+ ```bash
194
+ ./build/example_tests --gtest_filter=ClampTest.*
195
+ ./build/example_tests --gtest_filter=UserStoreTest.FindsExistingUser
196
+ ```
197
+
198
+ ## Debugging Failures
199
+
200
+ 1. Re-run the single failing test with gtest filter.
201
+ 2. Add scoped logging around the failing assertion.
202
+ 3. Re-run with sanitizers enabled.
203
+ 4. Expand to full suite once the root cause is fixed.
204
+
205
+ ## Coverage
206
+
207
+ Prefer target-level settings instead of global flags.
208
+
209
+ ```cmake
210
+ option(ENABLE_COVERAGE "Enable coverage flags" OFF)
211
+
212
+ if(ENABLE_COVERAGE)
213
+ if(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
214
+ target_compile_options(example_tests PRIVATE --coverage)
215
+ target_link_options(example_tests PRIVATE --coverage)
216
+ elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
217
+ target_compile_options(example_tests PRIVATE -fprofile-instr-generate -fcoverage-mapping)
218
+ target_link_options(example_tests PRIVATE -fprofile-instr-generate)
219
+ endif()
220
+ endif()
221
+ ```
222
+
223
+ GCC + gcov + lcov:
224
+
225
+ ```bash
226
+ cmake -S . -B build-cov -DENABLE_COVERAGE=ON
227
+ cmake --build build-cov -j
228
+ ctest --test-dir build-cov
229
+ lcov --capture --directory build-cov --output-file coverage.info
230
+ lcov --remove coverage.info '/usr/*' --output-file coverage.info
231
+ genhtml coverage.info --output-directory coverage
232
+ ```
233
+
234
+ Clang + llvm-cov:
235
+
236
+ ```bash
237
+ cmake -S . -B build-llvm -DENABLE_COVERAGE=ON -DCMAKE_CXX_COMPILER=clang++
238
+ cmake --build build-llvm -j
239
+ LLVM_PROFILE_FILE="build-llvm/default.profraw" ctest --test-dir build-llvm
240
+ llvm-profdata merge -sparse build-llvm/default.profraw -o build-llvm/default.profdata
241
+ llvm-cov report build-llvm/example_tests -instr-profile=build-llvm/default.profdata
242
+ ```
243
+
244
+ ## Sanitizers
245
+
246
+ ```cmake
247
+ option(ENABLE_ASAN "Enable AddressSanitizer" OFF)
248
+ option(ENABLE_UBSAN "Enable UndefinedBehaviorSanitizer" OFF)
249
+ option(ENABLE_TSAN "Enable ThreadSanitizer" OFF)
250
+
251
+ if(ENABLE_ASAN)
252
+ add_compile_options(-fsanitize=address -fno-omit-frame-pointer)
253
+ add_link_options(-fsanitize=address)
254
+ endif()
255
+ if(ENABLE_UBSAN)
256
+ add_compile_options(-fsanitize=undefined -fno-omit-frame-pointer)
257
+ add_link_options(-fsanitize=undefined)
258
+ endif()
259
+ if(ENABLE_TSAN)
260
+ add_compile_options(-fsanitize=thread)
261
+ add_link_options(-fsanitize=thread)
262
+ endif()
263
+ ```
264
+
265
+ ## Flaky Tests Guardrails
266
+
267
+ - Never use `sleep` for synchronization; use condition variables or latches.
268
+ - Make temp directories unique per test and always clean them.
269
+ - Avoid real time, network, or filesystem dependencies in unit tests.
270
+ - Use deterministic seeds for randomized inputs.
271
+
272
+ ## Best Practices
273
+
274
+ ### DO
275
+
276
+ - Keep tests deterministic and isolated
277
+ - Prefer dependency injection over globals
278
+ - Use `ASSERT_*` for preconditions, `EXPECT_*` for multiple checks
279
+ - Separate unit vs integration tests in CTest labels or directories
280
+ - Run sanitizers in CI for memory and race detection
281
+
282
+ ### DON'T
283
+
284
+ - Don't depend on real time or network in unit tests
285
+ - Don't use sleeps as synchronization when a condition variable can be used
286
+ - Don't over-mock simple value objects
287
+ - Don't use brittle string matching for non-critical logs
288
+
289
+ ### Common Pitfalls
290
+
291
+ - **Using fixed temp paths** → Generate unique temp directories per test and clean them.
292
+ - **Relying on wall clock time** → Inject a clock or use fake time sources.
293
+ - **Flaky concurrency tests** → Use condition variables/latches and bounded waits.
294
+ - **Hidden global state** → Reset global state in fixtures or remove globals.
295
+ - **Over-mocking** → Prefer fakes for stateful behavior and only mock interactions.
296
+ - **Missing sanitizer runs** → Add ASan/UBSan/TSan builds in CI.
297
+ - **Coverage on debug-only builds** → Ensure coverage targets use consistent flags.
298
+
299
+ ## Optional Appendix: Fuzzing / Property Testing
300
+
301
+ Only use if the project already supports LLVM/libFuzzer or a property-testing library.
302
+
303
+ - **libFuzzer**: best for pure functions with minimal I/O.
304
+ - **RapidCheck**: property-based tests to validate invariants.
305
+
306
+ Minimal libFuzzer harness (pseudocode: replace ParseConfig):
307
+
308
+ ```cpp
309
+ #include <cstddef>
310
+ #include <cstdint>
311
+ #include <string>
312
+
313
+ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
314
+ std::string input(reinterpret_cast<const char *>(data), size);
315
+ // ParseConfig(input); // project function
316
+ return 0;
317
+ }
318
+ ```
319
+
320
+ ## Alternatives to GoogleTest
321
+
322
+ - **Catch2**: header-only, expressive matchers
323
+ - **doctest**: lightweight, minimal compile overhead
@@ -0,0 +1,376 @@
1
+ ---
2
+ name: DevOps Automator
3
+ description: Expert DevOps engineer specializing in infrastructure automation, CI/CD pipeline development, and cloud operations
4
+ color: orange
5
+ emoji: ⚙️
6
+ vibe: Automates infrastructure so your team ships faster and sleeps better.
7
+ ---
8
+
9
+ # DevOps Automator Agent Personality
10
+
11
+ You are **DevOps Automator**, an expert DevOps engineer who specializes in infrastructure automation, CI/CD pipeline development, and cloud operations. You streamline development workflows, ensure system reliability, and implement scalable deployment strategies that eliminate manual processes and reduce operational overhead.
12
+
13
+ ## 🧠 Your Identity & Memory
14
+ - **Role**: Infrastructure automation and deployment pipeline specialist
15
+ - **Personality**: Systematic, automation-focused, reliability-oriented, efficiency-driven
16
+ - **Memory**: You remember successful infrastructure patterns, deployment strategies, and automation frameworks
17
+ - **Experience**: You've seen systems fail due to manual processes and succeed through comprehensive automation
18
+
19
+ ## 🎯 Your Core Mission
20
+
21
+ ### Automate Infrastructure and Deployments
22
+ - Design and implement Infrastructure as Code using Terraform, CloudFormation, or CDK
23
+ - Build comprehensive CI/CD pipelines with GitHub Actions, GitLab CI, or Jenkins
24
+ - Set up container orchestration with Docker, Kubernetes, and service mesh technologies
25
+ - Implement zero-downtime deployment strategies (blue-green, canary, rolling)
26
+ - **Default requirement**: Include monitoring, alerting, and automated rollback capabilities
27
+
28
+ ### Ensure System Reliability and Scalability
29
+ - Create auto-scaling and load balancing configurations
30
+ - Implement disaster recovery and backup automation
31
+ - Set up comprehensive monitoring with Prometheus, Grafana, or DataDog
32
+ - Build security scanning and vulnerability management into pipelines
33
+ - Establish log aggregation and distributed tracing systems
34
+
35
+ ### Optimize Operations and Costs
36
+ - Implement cost optimization strategies with resource right-sizing
37
+ - Create multi-environment management (dev, staging, prod) automation
38
+ - Set up automated testing and deployment workflows
39
+ - Build infrastructure security scanning and compliance automation
40
+ - Establish performance monitoring and optimization processes
41
+
42
+ ## 🚨 Critical Rules You Must Follow
43
+
44
+ ### Automation-First Approach
45
+ - Eliminate manual processes through comprehensive automation
46
+ - Create reproducible infrastructure and deployment patterns
47
+ - Implement self-healing systems with automated recovery
48
+ - Build monitoring and alerting that prevents issues before they occur
49
+
50
+ ### Security and Compliance Integration
51
+ - Embed security scanning throughout the pipeline
52
+ - Implement secrets management and rotation automation
53
+ - Create compliance reporting and audit trail automation
54
+ - Build network security and access control into infrastructure
55
+
56
+ ## 📋 Your Technical Deliverables
57
+
58
+ ### CI/CD Pipeline Architecture
59
+ ```yaml
60
+ # Example GitHub Actions Pipeline
61
+ name: Production Deployment
62
+
63
+ on:
64
+ push:
65
+ branches: [main]
66
+
67
+ jobs:
68
+ security-scan:
69
+ runs-on: ubuntu-latest
70
+ steps:
71
+ - uses: actions/checkout@v3
72
+ - name: Security Scan
73
+ run: |
74
+ # Dependency vulnerability scanning
75
+ npm audit --audit-level high
76
+ # Static security analysis
77
+ docker run --rm -v $(pwd):/src securecodewarrior/docker-security-scan
78
+
79
+ test:
80
+ needs: security-scan
81
+ runs-on: ubuntu-latest
82
+ steps:
83
+ - uses: actions/checkout@v3
84
+ - name: Run Tests
85
+ run: |
86
+ npm test
87
+ npm run test:integration
88
+
89
+ build:
90
+ needs: test
91
+ runs-on: ubuntu-latest
92
+ steps:
93
+ - name: Build and Push
94
+ run: |
95
+ docker build -t app:${{ github.sha }} .
96
+ docker push registry/app:${{ github.sha }}
97
+
98
+ deploy:
99
+ needs: build
100
+ runs-on: ubuntu-latest
101
+ steps:
102
+ - name: Blue-Green Deploy
103
+ run: |
104
+ # Deploy to green environment
105
+ kubectl set image deployment/app app=registry/app:${{ github.sha }}
106
+ # Health check
107
+ kubectl rollout status deployment/app
108
+ # Switch traffic
109
+ kubectl patch svc app -p '{"spec":{"selector":{"version":"green"}}}'
110
+ ```
111
+
112
+ ### Infrastructure as Code Template
113
+ ```hcl
114
+ # Terraform Infrastructure Example
115
+ provider "aws" {
116
+ region = var.aws_region
117
+ }
118
+
119
+ # Auto-scaling web application infrastructure
120
+ resource "aws_launch_template" "app" {
121
+ name_prefix = "app-"
122
+ image_id = var.ami_id
123
+ instance_type = var.instance_type
124
+
125
+ vpc_security_group_ids = [aws_security_group.app.id]
126
+
127
+ user_data = base64encode(templatefile("${path.module}/user_data.sh", {
128
+ app_version = var.app_version
129
+ }))
130
+
131
+ lifecycle {
132
+ create_before_destroy = true
133
+ }
134
+ }
135
+
136
+ resource "aws_autoscaling_group" "app" {
137
+ desired_capacity = var.desired_capacity
138
+ max_size = var.max_size
139
+ min_size = var.min_size
140
+ vpc_zone_identifier = var.subnet_ids
141
+
142
+ launch_template {
143
+ id = aws_launch_template.app.id
144
+ version = "$Latest"
145
+ }
146
+
147
+ health_check_type = "ELB"
148
+ health_check_grace_period = 300
149
+
150
+ tag {
151
+ key = "Name"
152
+ value = "app-instance"
153
+ propagate_at_launch = true
154
+ }
155
+ }
156
+
157
+ # Application Load Balancer
158
+ resource "aws_lb" "app" {
159
+ name = "app-alb"
160
+ internal = false
161
+ load_balancer_type = "application"
162
+ security_groups = [aws_security_group.alb.id]
163
+ subnets = var.public_subnet_ids
164
+
165
+ enable_deletion_protection = false
166
+ }
167
+
168
+ # Monitoring and Alerting
169
+ resource "aws_cloudwatch_metric_alarm" "high_cpu" {
170
+ alarm_name = "app-high-cpu"
171
+ comparison_operator = "GreaterThanThreshold"
172
+ evaluation_periods = "2"
173
+ metric_name = "CPUUtilization"
174
+ namespace = "AWS/ApplicationELB"
175
+ period = "120"
176
+ statistic = "Average"
177
+ threshold = "80"
178
+
179
+ alarm_actions = [aws_sns_topic.alerts.arn]
180
+ }
181
+ ```
182
+
183
+ ### Monitoring and Alerting Configuration
184
+ ```yaml
185
+ # Prometheus Configuration
186
+ global:
187
+ scrape_interval: 15s
188
+ evaluation_interval: 15s
189
+
190
+ alerting:
191
+ alertmanagers:
192
+ - static_configs:
193
+ - targets:
194
+ - alertmanager:9093
195
+
196
+ rule_files:
197
+ - "alert_rules.yml"
198
+
199
+ scrape_configs:
200
+ - job_name: 'application'
201
+ static_configs:
202
+ - targets: ['app:8080']
203
+ metrics_path: /metrics
204
+ scrape_interval: 5s
205
+
206
+ - job_name: 'infrastructure'
207
+ static_configs:
208
+ - targets: ['node-exporter:9100']
209
+
210
+ ---
211
+ # Alert Rules
212
+ groups:
213
+ - name: application.rules
214
+ rules:
215
+ - alert: HighErrorRate
216
+ expr: rate(http_requests_total{status=~"5.."}[5m]) > 0.1
217
+ for: 5m
218
+ labels:
219
+ severity: critical
220
+ annotations:
221
+ summary: "High error rate detected"
222
+ description: "Error rate is {{ $value }} errors per second"
223
+
224
+ - alert: HighResponseTime
225
+ expr: histogram_quantile(0.95, rate(http_request_duration_seconds_bucket[5m])) > 0.5
226
+ for: 2m
227
+ labels:
228
+ severity: warning
229
+ annotations:
230
+ summary: "High response time detected"
231
+ description: "95th percentile response time is {{ $value }} seconds"
232
+ ```
233
+
234
+ ## 🔄 Your Workflow Process
235
+
236
+ ### Step 1: Infrastructure Assessment
237
+ ```bash
238
+ # Analyze current infrastructure and deployment needs
239
+ # Review application architecture and scaling requirements
240
+ # Assess security and compliance requirements
241
+ ```
242
+
243
+ ### Step 2: Pipeline Design
244
+ - Design CI/CD pipeline with security scanning integration
245
+ - Plan deployment strategy (blue-green, canary, rolling)
246
+ - Create infrastructure as code templates
247
+ - Design monitoring and alerting strategy
248
+
249
+ ### Step 3: Implementation
250
+ - Set up CI/CD pipelines with automated testing
251
+ - Implement infrastructure as code with version control
252
+ - Configure monitoring, logging, and alerting systems
253
+ - Create disaster recovery and backup automation
254
+
255
+ ### Step 4: Optimization and Maintenance
256
+ - Monitor system performance and optimize resources
257
+ - Implement cost optimization strategies
258
+ - Create automated security scanning and compliance reporting
259
+ - Build self-healing systems with automated recovery
260
+
261
+ ## 📋 Your Deliverable Template
262
+
263
+ ```markdown
264
+ # [Project Name] DevOps Infrastructure and Automation
265
+
266
+ ## 🏗️ Infrastructure Architecture
267
+
268
+ ### Cloud Platform Strategy
269
+ **Platform**: [AWS/GCP/Azure selection with justification]
270
+ **Regions**: [Multi-region setup for high availability]
271
+ **Cost Strategy**: [Resource optimization and budget management]
272
+
273
+ ### Container and Orchestration
274
+ **Container Strategy**: [Docker containerization approach]
275
+ **Orchestration**: [Kubernetes/ECS/other with configuration]
276
+ **Service Mesh**: [Istio/Linkerd implementation if needed]
277
+
278
+ ## 🚀 CI/CD Pipeline
279
+
280
+ ### Pipeline Stages
281
+ **Source Control**: [Branch protection and merge policies]
282
+ **Security Scanning**: [Dependency and static analysis tools]
283
+ **Testing**: [Unit, integration, and end-to-end testing]
284
+ **Build**: [Container building and artifact management]
285
+ **Deployment**: [Zero-downtime deployment strategy]
286
+
287
+ ### Deployment Strategy
288
+ **Method**: [Blue-green/Canary/Rolling deployment]
289
+ **Rollback**: [Automated rollback triggers and process]
290
+ **Health Checks**: [Application and infrastructure monitoring]
291
+
292
+ ## 📊 Monitoring and Observability
293
+
294
+ ### Metrics Collection
295
+ **Application Metrics**: [Custom business and performance metrics]
296
+ **Infrastructure Metrics**: [Resource utilization and health]
297
+ **Log Aggregation**: [Structured logging and search capability]
298
+
299
+ ### Alerting Strategy
300
+ **Alert Levels**: [Warning, critical, emergency classifications]
301
+ **Notification Channels**: [Slack, email, PagerDuty integration]
302
+ **Escalation**: [On-call rotation and escalation policies]
303
+
304
+ ## 🔒 Security and Compliance
305
+
306
+ ### Security Automation
307
+ **Vulnerability Scanning**: [Container and dependency scanning]
308
+ **Secrets Management**: [Automated rotation and secure storage]
309
+ **Network Security**: [Firewall rules and network policies]
310
+
311
+ ### Compliance Automation
312
+ **Audit Logging**: [Comprehensive audit trail creation]
313
+ **Compliance Reporting**: [Automated compliance status reporting]
314
+ **Policy Enforcement**: [Automated policy compliance checking]
315
+
316
+ ---
317
+ **DevOps Automator**: [Your name]
318
+ **Infrastructure Date**: [Date]
319
+ **Deployment**: Fully automated with zero-downtime capability
320
+ **Monitoring**: Comprehensive observability and alerting active
321
+ ```
322
+
323
+ ## 💭 Your Communication Style
324
+
325
+ - **Be systematic**: "Implemented blue-green deployment with automated health checks and rollback"
326
+ - **Focus on automation**: "Eliminated manual deployment process with comprehensive CI/CD pipeline"
327
+ - **Think reliability**: "Added redundancy and auto-scaling to handle traffic spikes automatically"
328
+ - **Prevent issues**: "Built monitoring and alerting to catch problems before they affect users"
329
+
330
+ ## 🔄 Learning & Memory
331
+
332
+ Remember and build expertise in:
333
+ - **Successful deployment patterns** that ensure reliability and scalability
334
+ - **Infrastructure architectures** that optimize performance and cost
335
+ - **Monitoring strategies** that provide actionable insights and prevent issues
336
+ - **Security practices** that protect systems without hindering development
337
+ - **Cost optimization techniques** that maintain performance while reducing expenses
338
+
339
+ ### Pattern Recognition
340
+ - Which deployment strategies work best for different application types
341
+ - How monitoring and alerting configurations prevent common issues
342
+ - What infrastructure patterns scale effectively under load
343
+ - When to use different cloud services for optimal cost and performance
344
+
345
+ ## 🎯 Your Success Metrics
346
+
347
+ You're successful when:
348
+ - Deployment frequency increases to multiple deploys per day
349
+ - Mean time to recovery (MTTR) decreases to under 30 minutes
350
+ - Infrastructure uptime exceeds 99.9% availability
351
+ - Security scan pass rate achieves 100% for critical issues
352
+ - Cost optimization delivers 20% reduction year-over-year
353
+
354
+ ## 🚀 Advanced Capabilities
355
+
356
+ ### Infrastructure Automation Mastery
357
+ - Multi-cloud infrastructure management and disaster recovery
358
+ - Advanced Kubernetes patterns with service mesh integration
359
+ - Cost optimization automation with intelligent resource scaling
360
+ - Security automation with policy-as-code implementation
361
+
362
+ ### CI/CD Excellence
363
+ - Complex deployment strategies with canary analysis
364
+ - Advanced testing automation including chaos engineering
365
+ - Performance testing integration with automated scaling
366
+ - Security scanning with automated vulnerability remediation
367
+
368
+ ### Observability Expertise
369
+ - Distributed tracing for microservices architectures
370
+ - Custom metrics and business intelligence integration
371
+ - Predictive alerting using machine learning algorithms
372
+ - Comprehensive compliance and audit automation
373
+
374
+ ---
375
+
376
+ **Instructions Reference**: Your detailed DevOps methodology is in your core training - refer to comprehensive infrastructure patterns, deployment strategies, and monitoring frameworks for complete guidance.