oh-my-opencode 5.1.35 → 5.1.38

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 (174) hide show
  1. package/dist/agents/gpt-prompt-identity.d.ts +1 -1
  2. package/dist/cli/index.js +20 -17
  3. package/dist/cli-node/index.js +20 -17
  4. package/dist/index.d.ts +7 -3
  5. package/dist/index.js +28334 -28301
  6. package/dist/opencode-v2/server-entry.d.ts +2 -0
  7. package/dist/opencode-v2/startup-notice.d.ts +3 -0
  8. package/dist/opencode-v2/tui-entry.d.ts +16 -0
  9. package/dist/skills/browser/runtime/omowright/index.js +4 -4
  10. package/dist/skills/browser/runtime/omowright/manifest.json +2 -2
  11. package/dist/skills/frontend/SKILL.md +8 -1
  12. package/dist/skills/frontend/references/design/README.md +3 -2
  13. package/dist/skills/frontend/references/perfection/README.md +2 -1
  14. package/dist/skills/frontend/scripts/perfection/accent-stripes/color.ts +132 -0
  15. package/dist/skills/frontend/scripts/perfection/accent-stripes/css-parse.ts +103 -0
  16. package/dist/skills/frontend/scripts/perfection/accent-stripes/declarations.ts +156 -0
  17. package/dist/skills/frontend/scripts/perfection/accent-stripes/findings.ts +34 -0
  18. package/dist/skills/frontend/scripts/perfection/accent-stripes/gradient.ts +70 -0
  19. package/dist/skills/frontend/scripts/perfection/accent-stripes/lint.ts +110 -0
  20. package/dist/skills/frontend/scripts/perfection/accent-stripes/markup.ts +148 -0
  21. package/dist/skills/frontend/scripts/perfection/accent-stripes/selector.ts +46 -0
  22. package/dist/skills/frontend/scripts/perfection/accent-stripes/tailwind.ts +117 -0
  23. package/dist/skills/frontend/scripts/perfection/check-accent-stripes.test.ts +86 -0
  24. package/dist/skills/frontend/scripts/perfection/check-accent-stripes.ts +50 -0
  25. package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/exempt-states.css +4 -0
  26. package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/flat-stripe-side.tsx +11 -0
  27. package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/full-surface-gradients.css +34 -0
  28. package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/inline-ok.tsx +7 -0
  29. package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/neutral-and-flat.css +6 -0
  30. package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/pseudo-overlays.css +3 -0
  31. package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/tailwind-ok.tsx +11 -0
  32. package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/uniform-and-rings.css +3 -0
  33. package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/wide-blocks-and-hairlines.css +3 -0
  34. package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/apply.css +3 -0
  35. package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/border-top-card.css +5 -0
  36. package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/cva-variant.ts +1 -0
  37. package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/gradient-edges.css +26 -0
  38. package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/inline-styles.tsx +6 -0
  39. package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/inset-shadow.css +4 -0
  40. package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/non-visible-focus-and-nested.tsx +6 -0
  41. package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/pseudo-bar.css +13 -0
  42. package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/split-rule-and-token.scss +14 -0
  43. package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/styled-components.tsx +14 -0
  44. package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/tailwind-cards.tsx +8 -0
  45. package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/tailwind-inset-and-style.vue +11 -0
  46. package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/tailwind-pseudo.html +3 -0
  47. package/dist/tui.d.ts +7 -3
  48. package/dist/tui.js +49 -16
  49. package/package.json +16 -15
  50. package/packages/git-bash-mcp/package.json +1 -1
  51. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  52. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  53. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  54. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  55. package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
  56. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  57. package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
  58. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  59. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
  60. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +2 -2
  61. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  62. package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
  63. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  64. package/packages/omo-codex/plugin/components/rules/package.json +1 -1
  65. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  66. package/packages/omo-codex/plugin/components/teammode/package.json +2 -2
  67. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  68. package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
  69. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  70. package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
  71. package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +1 -1
  72. package/packages/omo-codex/plugin/components/ulw-execute-continuation/package.json +1 -1
  73. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +5 -5
  74. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  75. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  76. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  77. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  78. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  79. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  80. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  81. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  82. package/packages/omo-codex/plugin/hooks/post-tool-use-recording-spawn-admission.json +1 -1
  83. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  84. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  85. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  86. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  87. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  88. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  89. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  90. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +1 -1
  91. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  92. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  93. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  94. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  95. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  96. package/packages/omo-codex/plugin/package-lock.json +18 -17
  97. package/packages/omo-codex/plugin/package.json +1 -1
  98. package/packages/omo-codex/plugin/shared/package.json +1 -1
  99. package/packages/omo-codex/plugin/skills/browser/runtime/omowright/index.js +4 -4
  100. package/packages/omo-codex/plugin/skills/browser/runtime/omowright/manifest.json +2 -2
  101. package/packages/omo-codex/plugin/skills/frontend/SKILL.md +8 -1
  102. package/packages/omo-codex/plugin/skills/frontend/references/design/README.md +3 -2
  103. package/packages/omo-codex/plugin/skills/frontend/references/perfection/README.md +2 -1
  104. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/accent-stripes/color.ts +132 -0
  105. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/accent-stripes/css-parse.ts +103 -0
  106. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/accent-stripes/declarations.ts +156 -0
  107. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/accent-stripes/findings.ts +34 -0
  108. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/accent-stripes/gradient.ts +70 -0
  109. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/accent-stripes/lint.ts +110 -0
  110. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/accent-stripes/markup.ts +148 -0
  111. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/accent-stripes/selector.ts +46 -0
  112. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/accent-stripes/tailwind.ts +117 -0
  113. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/check-accent-stripes.ts +50 -0
  114. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/exempt-states.css +4 -0
  115. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/flat-stripe-side.tsx +11 -0
  116. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/full-surface-gradients.css +34 -0
  117. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/inline-ok.tsx +7 -0
  118. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/neutral-and-flat.css +6 -0
  119. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/pseudo-overlays.css +3 -0
  120. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/tailwind-ok.tsx +11 -0
  121. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/uniform-and-rings.css +3 -0
  122. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/wide-blocks-and-hairlines.css +3 -0
  123. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/apply.css +3 -0
  124. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/border-top-card.css +5 -0
  125. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/cva-variant.ts +1 -0
  126. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/gradient-edges.css +26 -0
  127. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/inline-styles.tsx +6 -0
  128. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/inset-shadow.css +4 -0
  129. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/non-visible-focus-and-nested.tsx +6 -0
  130. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/pseudo-bar.css +13 -0
  131. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/split-rule-and-token.scss +14 -0
  132. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/styled-components.tsx +14 -0
  133. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/tailwind-cards.tsx +8 -0
  134. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/tailwind-inset-and-style.vue +11 -0
  135. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/tailwind-pseudo.html +3 -0
  136. package/packages/omo-codex/scripts/install-dist/install-local.mjs +3 -3
  137. package/packages/shared-skills/skills/browser/runtime/omowright/index.js +4 -4
  138. package/packages/shared-skills/skills/browser/runtime/omowright/manifest.json +2 -2
  139. package/packages/shared-skills/skills/frontend/SKILL.md +8 -1
  140. package/packages/shared-skills/skills/frontend/references/design/README.md +3 -2
  141. package/packages/shared-skills/skills/frontend/references/perfection/README.md +2 -1
  142. package/packages/shared-skills/skills/frontend/scripts/perfection/accent-stripes/color.ts +132 -0
  143. package/packages/shared-skills/skills/frontend/scripts/perfection/accent-stripes/css-parse.ts +103 -0
  144. package/packages/shared-skills/skills/frontend/scripts/perfection/accent-stripes/declarations.ts +156 -0
  145. package/packages/shared-skills/skills/frontend/scripts/perfection/accent-stripes/findings.ts +34 -0
  146. package/packages/shared-skills/skills/frontend/scripts/perfection/accent-stripes/gradient.ts +70 -0
  147. package/packages/shared-skills/skills/frontend/scripts/perfection/accent-stripes/lint.ts +110 -0
  148. package/packages/shared-skills/skills/frontend/scripts/perfection/accent-stripes/markup.ts +148 -0
  149. package/packages/shared-skills/skills/frontend/scripts/perfection/accent-stripes/selector.ts +46 -0
  150. package/packages/shared-skills/skills/frontend/scripts/perfection/accent-stripes/tailwind.ts +117 -0
  151. package/packages/shared-skills/skills/frontend/scripts/perfection/check-accent-stripes.test.ts +86 -0
  152. package/packages/shared-skills/skills/frontend/scripts/perfection/check-accent-stripes.ts +50 -0
  153. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/exempt-states.css +4 -0
  154. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/flat-stripe-side.tsx +11 -0
  155. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/full-surface-gradients.css +34 -0
  156. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/inline-ok.tsx +7 -0
  157. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/neutral-and-flat.css +6 -0
  158. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/pseudo-overlays.css +3 -0
  159. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/tailwind-ok.tsx +11 -0
  160. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/uniform-and-rings.css +3 -0
  161. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/wide-blocks-and-hairlines.css +3 -0
  162. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/apply.css +3 -0
  163. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/border-top-card.css +5 -0
  164. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/cva-variant.ts +1 -0
  165. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/gradient-edges.css +26 -0
  166. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/inline-styles.tsx +6 -0
  167. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/inset-shadow.css +4 -0
  168. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/non-visible-focus-and-nested.tsx +6 -0
  169. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/pseudo-bar.css +13 -0
  170. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/split-rule-and-token.scss +14 -0
  171. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/styled-components.tsx +14 -0
  172. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/tailwind-cards.tsx +8 -0
  173. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/tailwind-inset-and-style.vue +11 -0
  174. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/tailwind-pseudo.html +3 -0
@@ -0,0 +1,5 @@
1
+ .feature-card {
2
+ padding: 24px;
3
+ border-radius: 12px;
4
+ border-top: 4px solid #6366f1;
5
+ }
@@ -0,0 +1 @@
1
+ export const card = cva("rounded-xl bg-white p-6 border-l-4 border-rose-500")
@@ -0,0 +1,26 @@
1
+ .hard-stop {
2
+ border-radius: 12px;
3
+ background: linear-gradient(to right, #6366f1 4px, #fff 4px);
4
+ }
5
+
6
+ .image-border {
7
+ border-radius: 12px;
8
+ border-left: 4px solid;
9
+ border-image: linear-gradient(#6366f1, #a855f7) 1;
10
+ }
11
+
12
+ .glow { position: relative; border-radius: 12px; }
13
+ .glow::before {
14
+ content: "";
15
+ position: absolute;
16
+ top: 0;
17
+ bottom: 0;
18
+ left: 0;
19
+ width: 3px;
20
+ background: linear-gradient(to bottom, #6366f1, #a855f7);
21
+ }
22
+
23
+ .end-band {
24
+ border-radius: 12px;
25
+ background-image: linear-gradient(to right, #fff calc(100% - 4px), #f43f5e calc(100% - 4px));
26
+ }
@@ -0,0 +1,6 @@
1
+ export const Tip = () => (
2
+ <>
3
+ <div style={{ borderRadius: 12, borderLeft: "4px solid #ef4444" }}>Careful</div>
4
+ <div className="rounded-lg" style={{ borderTop: '3px solid var(--brand)' }}>New</div>
5
+ </>
6
+ )
@@ -0,0 +1,4 @@
1
+ .note {
2
+ border-radius: 8px;
3
+ box-shadow: inset 4px 0 0 0 oklch(0.65 0.2 250), 0 1px 2px rgb(0 0 0 / 0.06);
4
+ }
@@ -0,0 +1,6 @@
1
+ const css = css`
2
+ .card:focus-within { border-radius: 12px; border-left: 3px solid #6366f1; }
3
+ td .promo-card { border-radius: 8px; border-left: 4px solid #f43f5e; }
4
+ `
5
+
6
+ export const Focused = () => <div className="rounded-xl focus:border-l-4 focus:border-indigo-500">Card</div>
@@ -0,0 +1,13 @@
1
+ .stat {
2
+ position: relative;
3
+ border-radius: 12px;
4
+ overflow: hidden;
5
+ }
6
+
7
+ .stat::before {
8
+ content: "";
9
+ position: absolute;
10
+ inset: 0 auto 0 0;
11
+ width: 4px;
12
+ background: #10b981;
13
+ }
@@ -0,0 +1,14 @@
1
+ .callout {
2
+ border-radius: 0.75rem;
3
+ border-left: 3px solid var(--color-accent);
4
+ }
5
+
6
+ .tile {
7
+ border-radius: 16px;
8
+ background: var(--surface);
9
+ &.is-featured {
10
+ border-left-width: 4px;
11
+ border-left-style: solid;
12
+ border-left-color: hsl(262 83% 58%);
13
+ }
14
+ }
@@ -0,0 +1,14 @@
1
+ import styled, { createGlobalStyle } from "styled-components"
2
+
3
+ export const Banner = styled.div`
4
+ padding: ${({ theme }) => theme.space[4]}px;
5
+ border-radius: 12px;
6
+ border-left: 4px solid #2563eb;
7
+ `
8
+
9
+ export const Global = createGlobalStyle`
10
+ .promo-card {
11
+ border-radius: 8px;
12
+ border-top: 3px solid var(--color-brand);
13
+ }
14
+ `
@@ -0,0 +1,8 @@
1
+ export function Cards({ featured }: { featured: boolean }) {
2
+ return (
3
+ <section>
4
+ <div className="rounded-xl border-l-4 border-indigo-500 bg-white p-6">Fast</div>
5
+ <article className={cn("rounded-2xl p-4", featured && "border-t-4 border-t-primary")}>Plans</article>
6
+ </section>
7
+ )
8
+ }
@@ -0,0 +1,11 @@
1
+ <template>
2
+ <div class="rounded-md p-4 shadow-[inset_3px_0_0_0_#f59e0b]">Heads up</div>
3
+ <div class="quote">Quote</div>
4
+ </template>
5
+
6
+ <style scoped>
7
+ .quote {
8
+ border-radius: 10px;
9
+ border-left: 5px solid rebeccapurple;
10
+ }
11
+ </style>
@@ -0,0 +1,3 @@
1
+ <div class="relative overflow-hidden rounded-lg p-6 before:absolute before:inset-y-0 before:left-0 before:w-1 before:bg-emerald-500">
2
+ Uptime 99.99%
3
+ </div>