omgkit 2.13.0 → 2.16.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 (138) hide show
  1. package/README.md +129 -10
  2. package/package.json +2 -2
  3. package/plugin/agents/api-designer.md +5 -0
  4. package/plugin/agents/architect.md +8 -0
  5. package/plugin/agents/brainstormer.md +4 -0
  6. package/plugin/agents/cicd-manager.md +6 -0
  7. package/plugin/agents/code-reviewer.md +6 -0
  8. package/plugin/agents/copywriter.md +2 -0
  9. package/plugin/agents/data-engineer.md +255 -0
  10. package/plugin/agents/database-admin.md +10 -0
  11. package/plugin/agents/debugger.md +10 -0
  12. package/plugin/agents/devsecops.md +314 -0
  13. package/plugin/agents/docs-manager.md +4 -0
  14. package/plugin/agents/domain-decomposer.md +181 -0
  15. package/plugin/agents/embedded-systems.md +397 -0
  16. package/plugin/agents/fullstack-developer.md +12 -0
  17. package/plugin/agents/game-systems-designer.md +375 -0
  18. package/plugin/agents/git-manager.md +10 -0
  19. package/plugin/agents/journal-writer.md +2 -0
  20. package/plugin/agents/ml-engineer.md +284 -0
  21. package/plugin/agents/observability-engineer.md +353 -0
  22. package/plugin/agents/oracle.md +9 -0
  23. package/plugin/agents/performance-engineer.md +290 -0
  24. package/plugin/agents/pipeline-architect.md +6 -0
  25. package/plugin/agents/planner.md +12 -0
  26. package/plugin/agents/platform-engineer.md +325 -0
  27. package/plugin/agents/project-manager.md +3 -0
  28. package/plugin/agents/researcher.md +5 -0
  29. package/plugin/agents/scientific-computing.md +426 -0
  30. package/plugin/agents/scout.md +3 -0
  31. package/plugin/agents/security-auditor.md +7 -0
  32. package/plugin/agents/sprint-master.md +17 -0
  33. package/plugin/agents/tester.md +10 -0
  34. package/plugin/agents/ui-ux-designer.md +12 -0
  35. package/plugin/agents/vulnerability-scanner.md +6 -0
  36. package/plugin/commands/data/pipeline.md +47 -0
  37. package/plugin/commands/data/quality.md +49 -0
  38. package/plugin/commands/domain/analyze.md +34 -0
  39. package/plugin/commands/domain/map.md +41 -0
  40. package/plugin/commands/game/balance.md +56 -0
  41. package/plugin/commands/game/optimize.md +62 -0
  42. package/plugin/commands/iot/provision.md +58 -0
  43. package/plugin/commands/ml/evaluate.md +47 -0
  44. package/plugin/commands/ml/train.md +48 -0
  45. package/plugin/commands/perf/benchmark.md +54 -0
  46. package/plugin/commands/perf/profile.md +49 -0
  47. package/plugin/commands/platform/blueprint.md +56 -0
  48. package/plugin/commands/security/audit.md +54 -0
  49. package/plugin/commands/security/scan.md +55 -0
  50. package/plugin/commands/sre/dashboard.md +53 -0
  51. package/plugin/registry.yaml +787 -0
  52. package/plugin/skills/ai-ml/experiment-tracking/SKILL.md +338 -0
  53. package/plugin/skills/ai-ml/feature-stores/SKILL.md +340 -0
  54. package/plugin/skills/ai-ml/llm-ops/SKILL.md +454 -0
  55. package/plugin/skills/ai-ml/ml-pipelines/SKILL.md +390 -0
  56. package/plugin/skills/ai-ml/model-monitoring/SKILL.md +398 -0
  57. package/plugin/skills/ai-ml/model-serving/SKILL.md +386 -0
  58. package/plugin/skills/event-driven/cqrs-patterns/SKILL.md +348 -0
  59. package/plugin/skills/event-driven/event-sourcing/SKILL.md +334 -0
  60. package/plugin/skills/event-driven/kafka-deep/SKILL.md +252 -0
  61. package/plugin/skills/event-driven/saga-orchestration/SKILL.md +335 -0
  62. package/plugin/skills/event-driven/schema-registry/SKILL.md +328 -0
  63. package/plugin/skills/event-driven/stream-processing/SKILL.md +313 -0
  64. package/plugin/skills/game/game-audio/SKILL.md +446 -0
  65. package/plugin/skills/game/game-networking/SKILL.md +490 -0
  66. package/plugin/skills/game/godot-patterns/SKILL.md +413 -0
  67. package/plugin/skills/game/shader-programming/SKILL.md +492 -0
  68. package/plugin/skills/game/unity-patterns/SKILL.md +488 -0
  69. package/plugin/skills/iot/device-provisioning/SKILL.md +405 -0
  70. package/plugin/skills/iot/edge-computing/SKILL.md +369 -0
  71. package/plugin/skills/iot/industrial-protocols/SKILL.md +438 -0
  72. package/plugin/skills/iot/mqtt-deep/SKILL.md +418 -0
  73. package/plugin/skills/iot/ota-updates/SKILL.md +426 -0
  74. package/plugin/skills/microservices/api-gateway-patterns/SKILL.md +201 -0
  75. package/plugin/skills/microservices/circuit-breaker-patterns/SKILL.md +246 -0
  76. package/plugin/skills/microservices/contract-testing/SKILL.md +284 -0
  77. package/plugin/skills/microservices/distributed-tracing/SKILL.md +246 -0
  78. package/plugin/skills/microservices/service-discovery/SKILL.md +304 -0
  79. package/plugin/skills/microservices/service-mesh/SKILL.md +181 -0
  80. package/plugin/skills/mobile-advanced/mobile-ci-cd/SKILL.md +407 -0
  81. package/plugin/skills/mobile-advanced/mobile-security/SKILL.md +403 -0
  82. package/plugin/skills/mobile-advanced/offline-first/SKILL.md +473 -0
  83. package/plugin/skills/mobile-advanced/push-notifications/SKILL.md +494 -0
  84. package/plugin/skills/mobile-advanced/react-native-deep/SKILL.md +374 -0
  85. package/plugin/skills/simulation/numerical-methods/SKILL.md +434 -0
  86. package/plugin/skills/simulation/parallel-computing/SKILL.md +382 -0
  87. package/plugin/skills/simulation/physics-engines/SKILL.md +377 -0
  88. package/plugin/skills/simulation/validation-verification/SKILL.md +479 -0
  89. package/plugin/skills/simulation/visualization-scientific/SKILL.md +365 -0
  90. package/plugin/stdrules/ALIGNMENT_PRINCIPLE.md +240 -0
  91. package/plugin/workflows/ai-engineering/agent-development.md +3 -3
  92. package/plugin/workflows/ai-engineering/fine-tuning.md +3 -3
  93. package/plugin/workflows/ai-engineering/model-evaluation.md +3 -3
  94. package/plugin/workflows/ai-engineering/prompt-engineering.md +2 -2
  95. package/plugin/workflows/ai-engineering/rag-development.md +4 -4
  96. package/plugin/workflows/ai-ml/data-pipeline.md +188 -0
  97. package/plugin/workflows/ai-ml/experiment-cycle.md +203 -0
  98. package/plugin/workflows/ai-ml/feature-engineering.md +208 -0
  99. package/plugin/workflows/ai-ml/model-deployment.md +199 -0
  100. package/plugin/workflows/ai-ml/monitoring-setup.md +227 -0
  101. package/plugin/workflows/api/api-design.md +1 -1
  102. package/plugin/workflows/api/api-testing.md +2 -2
  103. package/plugin/workflows/content/technical-docs.md +1 -1
  104. package/plugin/workflows/database/migration.md +1 -1
  105. package/plugin/workflows/database/optimization.md +1 -1
  106. package/plugin/workflows/database/schema-design.md +3 -3
  107. package/plugin/workflows/development/bug-fix.md +3 -3
  108. package/plugin/workflows/development/code-review.md +2 -1
  109. package/plugin/workflows/development/feature.md +3 -3
  110. package/plugin/workflows/development/refactor.md +2 -2
  111. package/plugin/workflows/event-driven/consumer-groups.md +190 -0
  112. package/plugin/workflows/event-driven/event-storming.md +172 -0
  113. package/plugin/workflows/event-driven/replay-testing.md +186 -0
  114. package/plugin/workflows/event-driven/saga-implementation.md +206 -0
  115. package/plugin/workflows/event-driven/schema-evolution.md +173 -0
  116. package/plugin/workflows/fullstack/authentication.md +4 -4
  117. package/plugin/workflows/fullstack/full-feature.md +4 -4
  118. package/plugin/workflows/game-dev/content-pipeline.md +218 -0
  119. package/plugin/workflows/game-dev/platform-submission.md +263 -0
  120. package/plugin/workflows/game-dev/playtesting.md +237 -0
  121. package/plugin/workflows/game-dev/prototype-to-production.md +205 -0
  122. package/plugin/workflows/microservices/contract-first.md +151 -0
  123. package/plugin/workflows/microservices/distributed-tracing.md +166 -0
  124. package/plugin/workflows/microservices/domain-decomposition.md +123 -0
  125. package/plugin/workflows/microservices/integration-testing.md +149 -0
  126. package/plugin/workflows/microservices/service-mesh-setup.md +153 -0
  127. package/plugin/workflows/microservices/service-scaffolding.md +151 -0
  128. package/plugin/workflows/omega/1000x-innovation.md +2 -2
  129. package/plugin/workflows/omega/100x-architecture.md +2 -2
  130. package/plugin/workflows/omega/10x-improvement.md +2 -2
  131. package/plugin/workflows/quality/performance-optimization.md +2 -2
  132. package/plugin/workflows/research/best-practices.md +1 -1
  133. package/plugin/workflows/research/technology-research.md +1 -1
  134. package/plugin/workflows/security/penetration-testing.md +3 -3
  135. package/plugin/workflows/security/security-audit.md +3 -3
  136. package/plugin/workflows/sprint/sprint-execution.md +2 -2
  137. package/plugin/workflows/sprint/sprint-retrospective.md +1 -1
  138. package/plugin/workflows/sprint/sprint-setup.md +1 -1
@@ -0,0 +1,407 @@
1
+ # Mobile CI/CD
2
+
3
+ Fastlane, App Store/Play Store deployment, code signing, beta distribution, and automated release pipelines.
4
+
5
+ ## Overview
6
+
7
+ Mobile CI/CD automates building, testing, signing, and deploying mobile applications to app stores and beta distribution channels.
8
+
9
+ ## Core Concepts
10
+
11
+ ### Pipeline Stages
12
+ - **Build**: Compile and bundle app
13
+ - **Test**: Unit, integration, UI tests
14
+ - **Sign**: Code signing and provisioning
15
+ - **Deploy**: Store submission or beta distribution
16
+ - **Monitor**: Crash reporting, analytics
17
+
18
+ ### Key Challenges
19
+ - Code signing complexity
20
+ - Multiple environments
21
+ - Store review processes
22
+ - Version management
23
+ - Build time optimization
24
+
25
+ ## Fastlane Setup
26
+
27
+ ### iOS Configuration
28
+ ```ruby
29
+ # ios/fastlane/Fastfile
30
+ default_platform(:ios)
31
+
32
+ platform :ios do
33
+ desc "Build and deploy to TestFlight"
34
+ lane :beta do
35
+ setup_ci if ENV['CI']
36
+
37
+ # Match for code signing
38
+ match(
39
+ type: "appstore",
40
+ readonly: is_ci,
41
+ app_identifier: "com.company.app"
42
+ )
43
+
44
+ # Increment build number
45
+ increment_build_number(
46
+ build_number: ENV['BUILD_NUMBER'] || latest_testflight_build_number + 1
47
+ )
48
+
49
+ # Build
50
+ build_app(
51
+ workspace: "App.xcworkspace",
52
+ scheme: "App",
53
+ configuration: "Release",
54
+ export_method: "app-store",
55
+ output_directory: "./build",
56
+ output_name: "App.ipa"
57
+ )
58
+
59
+ # Upload to TestFlight
60
+ upload_to_testflight(
61
+ skip_waiting_for_build_processing: true,
62
+ changelog: changelog_from_git_commits
63
+ )
64
+
65
+ # Notify
66
+ slack(
67
+ message: "iOS build #{lane_context[SharedValues::BUILD_NUMBER]} uploaded to TestFlight"
68
+ )
69
+ end
70
+
71
+ desc "Deploy to App Store"
72
+ lane :release do
73
+ # Build
74
+ beta
75
+
76
+ # Submit for review
77
+ deliver(
78
+ submit_for_review: true,
79
+ automatic_release: false,
80
+ force: true,
81
+ precheck_include_in_app_purchases: false,
82
+ submission_information: {
83
+ add_id_info_uses_idfa: false
84
+ }
85
+ )
86
+ end
87
+ end
88
+ ```
89
+
90
+ ### Android Configuration
91
+ ```ruby
92
+ # android/fastlane/Fastfile
93
+ default_platform(:android)
94
+
95
+ platform :android do
96
+ desc "Build and deploy to Play Store internal track"
97
+ lane :beta do
98
+ # Increment version code
99
+ increment_version_code(
100
+ gradle_file_path: "app/build.gradle",
101
+ version_code: ENV['BUILD_NUMBER'].to_i
102
+ )
103
+
104
+ # Build release bundle
105
+ gradle(
106
+ task: "bundle",
107
+ build_type: "Release",
108
+ properties: {
109
+ "android.injected.signing.store.file" => ENV['KEYSTORE_PATH'],
110
+ "android.injected.signing.store.password" => ENV['KEYSTORE_PASSWORD'],
111
+ "android.injected.signing.key.alias" => ENV['KEY_ALIAS'],
112
+ "android.injected.signing.key.password" => ENV['KEY_PASSWORD']
113
+ }
114
+ )
115
+
116
+ # Upload to Play Store
117
+ upload_to_play_store(
118
+ track: "internal",
119
+ aab: "app/build/outputs/bundle/release/app-release.aab",
120
+ skip_upload_metadata: true,
121
+ skip_upload_images: true,
122
+ skip_upload_screenshots: true
123
+ )
124
+ end
125
+
126
+ desc "Promote to production"
127
+ lane :release do
128
+ upload_to_play_store(
129
+ track: "internal",
130
+ track_promote_to: "production",
131
+ skip_upload_aab: true,
132
+ skip_upload_metadata: false
133
+ )
134
+ end
135
+ end
136
+ ```
137
+
138
+ ## Code Signing
139
+
140
+ ### iOS Match Setup
141
+ ```ruby
142
+ # Matchfile
143
+ git_url("git@github.com:company/certificates.git")
144
+ storage_mode("git")
145
+
146
+ type("appstore") # development, adhoc, appstore
147
+ app_identifier(["com.company.app", "com.company.app.widget"])
148
+ username("ci@company.com")
149
+
150
+ # For CI
151
+ readonly(true) if ENV['CI']
152
+ ```
153
+
154
+ ### Android Signing
155
+ ```groovy
156
+ // android/app/build.gradle
157
+ android {
158
+ signingConfigs {
159
+ release {
160
+ if (System.getenv("KEYSTORE_PATH")) {
161
+ storeFile file(System.getenv("KEYSTORE_PATH"))
162
+ storePassword System.getenv("KEYSTORE_PASSWORD")
163
+ keyAlias System.getenv("KEY_ALIAS")
164
+ keyPassword System.getenv("KEY_PASSWORD")
165
+ }
166
+ }
167
+ }
168
+
169
+ buildTypes {
170
+ release {
171
+ signingConfig signingConfigs.release
172
+ minifyEnabled true
173
+ proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
174
+ }
175
+ }
176
+ }
177
+ ```
178
+
179
+ ## GitHub Actions Pipeline
180
+
181
+ ### Complete Workflow
182
+ ```yaml
183
+ name: Mobile CI/CD
184
+
185
+ on:
186
+ push:
187
+ branches: [main, develop]
188
+ pull_request:
189
+ branches: [main]
190
+ workflow_dispatch:
191
+ inputs:
192
+ platform:
193
+ description: 'Platform to build'
194
+ required: true
195
+ default: 'both'
196
+ type: choice
197
+ options:
198
+ - ios
199
+ - android
200
+ - both
201
+
202
+ env:
203
+ JAVA_VERSION: '17'
204
+ NODE_VERSION: '18'
205
+ RUBY_VERSION: '3.1'
206
+
207
+ jobs:
208
+ test:
209
+ runs-on: ubuntu-latest
210
+ steps:
211
+ - uses: actions/checkout@v4
212
+
213
+ - name: Setup Node.js
214
+ uses: actions/setup-node@v4
215
+ with:
216
+ node-version: ${{ env.NODE_VERSION }}
217
+ cache: 'yarn'
218
+
219
+ - name: Install dependencies
220
+ run: yarn install --frozen-lockfile
221
+
222
+ - name: Run linter
223
+ run: yarn lint
224
+
225
+ - name: Run tests
226
+ run: yarn test --coverage
227
+
228
+ - name: Upload coverage
229
+ uses: codecov/codecov-action@v3
230
+
231
+ build-ios:
232
+ needs: test
233
+ runs-on: macos-14
234
+ if: github.event.inputs.platform != 'android'
235
+ steps:
236
+ - uses: actions/checkout@v4
237
+
238
+ - name: Setup Ruby
239
+ uses: ruby/setup-ruby@v1
240
+ with:
241
+ ruby-version: ${{ env.RUBY_VERSION }}
242
+ bundler-cache: true
243
+
244
+ - name: Setup Node.js
245
+ uses: actions/setup-node@v4
246
+ with:
247
+ node-version: ${{ env.NODE_VERSION }}
248
+ cache: 'yarn'
249
+
250
+ - name: Install dependencies
251
+ run: |
252
+ yarn install --frozen-lockfile
253
+ cd ios && pod install
254
+
255
+ - name: Setup certificates
256
+ env:
257
+ MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
258
+ MATCH_GIT_BASIC_AUTHORIZATION: ${{ secrets.MATCH_GIT_TOKEN }}
259
+ run: |
260
+ cd ios
261
+ bundle exec fastlane match appstore --readonly
262
+
263
+ - name: Build iOS
264
+ env:
265
+ BUILD_NUMBER: ${{ github.run_number }}
266
+ run: |
267
+ cd ios
268
+ bundle exec fastlane beta
269
+
270
+ - name: Upload artifact
271
+ uses: actions/upload-artifact@v4
272
+ with:
273
+ name: ios-build
274
+ path: ios/build/*.ipa
275
+
276
+ build-android:
277
+ needs: test
278
+ runs-on: ubuntu-latest
279
+ if: github.event.inputs.platform != 'ios'
280
+ steps:
281
+ - uses: actions/checkout@v4
282
+
283
+ - name: Setup Java
284
+ uses: actions/setup-java@v4
285
+ with:
286
+ distribution: 'temurin'
287
+ java-version: ${{ env.JAVA_VERSION }}
288
+
289
+ - name: Setup Ruby
290
+ uses: ruby/setup-ruby@v1
291
+ with:
292
+ ruby-version: ${{ env.RUBY_VERSION }}
293
+ bundler-cache: true
294
+
295
+ - name: Setup Node.js
296
+ uses: actions/setup-node@v4
297
+ with:
298
+ node-version: ${{ env.NODE_VERSION }}
299
+ cache: 'yarn'
300
+
301
+ - name: Install dependencies
302
+ run: yarn install --frozen-lockfile
303
+
304
+ - name: Decode keystore
305
+ env:
306
+ KEYSTORE_BASE64: ${{ secrets.KEYSTORE_BASE64 }}
307
+ run: echo $KEYSTORE_BASE64 | base64 -d > android/app/release.keystore
308
+
309
+ - name: Build Android
310
+ env:
311
+ BUILD_NUMBER: ${{ github.run_number }}
312
+ KEYSTORE_PATH: release.keystore
313
+ KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }}
314
+ KEY_ALIAS: ${{ secrets.KEY_ALIAS }}
315
+ KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
316
+ run: |
317
+ cd android
318
+ bundle exec fastlane beta
319
+
320
+ - name: Upload artifact
321
+ uses: actions/upload-artifact@v4
322
+ with:
323
+ name: android-build
324
+ path: android/app/build/outputs/bundle/release/*.aab
325
+ ```
326
+
327
+ ## Version Management
328
+
329
+ ### Automated Versioning
330
+ ```ruby
331
+ # Fastlane action for semantic versioning
332
+ desc "Bump version"
333
+ lane :bump do |options|
334
+ type = options[:type] || "patch" # major, minor, patch
335
+
336
+ current = get_version_number
337
+ new_version = increment_version(current, type)
338
+
339
+ # Update iOS
340
+ increment_version_number(version_number: new_version)
341
+
342
+ # Update Android
343
+ android_set_version_name(version_name: new_version, gradle_file: "../android/app/build.gradle")
344
+
345
+ # Update package.json
346
+ package = JSON.parse(File.read("../package.json"))
347
+ package["version"] = new_version
348
+ File.write("../package.json", JSON.pretty_generate(package))
349
+
350
+ git_commit(
351
+ path: ["ios/", "android/app/build.gradle", "package.json"],
352
+ message: "chore: bump version to #{new_version}"
353
+ )
354
+
355
+ add_git_tag(tag: "v#{new_version}")
356
+ end
357
+ ```
358
+
359
+ ## Best Practices
360
+
361
+ 1. **Use Match**: Centralized code signing
362
+ 2. **Separate Environments**: Dev, staging, production
363
+ 3. **Automate Everything**: No manual steps
364
+ 4. **Cache Dependencies**: Speed up builds
365
+ 5. **Notify on Failures**: Slack/email alerts
366
+
367
+ ## Build Optimization
368
+
369
+ ```yaml
370
+ # Cache strategies
371
+ - name: Cache Pods
372
+ uses: actions/cache@v3
373
+ with:
374
+ path: ios/Pods
375
+ key: ${{ runner.os }}-pods-${{ hashFiles('ios/Podfile.lock') }}
376
+
377
+ - name: Cache Gradle
378
+ uses: actions/cache@v3
379
+ with:
380
+ path: |
381
+ ~/.gradle/caches
382
+ ~/.gradle/wrapper
383
+ key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}
384
+ ```
385
+
386
+ ## Anti-Patterns
387
+
388
+ - Manual code signing
389
+ - Hardcoded secrets in code
390
+ - Skipping test stage
391
+ - No build number tracking
392
+ - Missing artifact storage
393
+
394
+ ## When to Use
395
+
396
+ - Production mobile apps
397
+ - Team collaboration
398
+ - Frequent releases
399
+ - Multiple environments
400
+ - App Store distribution
401
+
402
+ ## When NOT to Use
403
+
404
+ - Personal side projects
405
+ - Very early prototyping
406
+ - No app store deployment
407
+ - Single developer