test: container scan drift#4
Conversation
🛟 Buoy Design Review29 issues found — mostly arbitrary Tailwind values and inline styles. Let's clean this up and turn these patterns into tokens. 1. Color: Dark Backgrounds
You're using three similar dark colors for backgrounds. Pick one and stick with it. Suggested token: 2. Color: Text and Accents
These colors are used for text and accents. Let's systematize them:
3. Spacing: Padding and Margins
You're using a mix of spacing values. Let's standardize:
4. Border Radius
You've got three border radius values. Let's name them:
5. Typography: Font Sizes and Weights
Standardize your typography:
6. Inline Styles
Avoid inline styles. Move these to your design system:
7. Good Pattern: Grid Layout
You're using a grid layout with consistent spacing. This is a solid foundation for a layout system. Consider naming this pattern, e.g., Tip: Start by defining tokens for colors and spacing. These are the most repeated patterns and will give you the biggest consistency win. Looking good overall — you're on the right track! Let me know if you need help setting up these tokens. |
There was a problem hiding this comment.
🛟 Buoy Design Review
29 issues in 1 file
| File | Line | Issue | Fix |
|---|---|---|---|
TestDrift.tsx |
7 | inline-style: border: '1px solid #27272a', boxShadow: '0 4px 6px -1px #0000001a' | — |
TestDrift.tsx |
22 | inline-style: color: '#ef4444', fontSize: '24px', fontWeight: 800 | — |
TestDrift.tsx |
6 | arbitrary-tailwind: bg-[#18181b] | — |
TestDrift.tsx |
6 | arbitrary-tailwind: p-[24px] | p-6 |
TestDrift.tsx |
6 | arbitrary-tailwind: rounded-[12px] | rounded-xl |
TestDrift.tsx |
9 | arbitrary-tailwind: mb-[16px] | mb-4 |
TestDrift.tsx |
10 | arbitrary-tailwind: text-[#fafafa] | — |
TestDrift.tsx |
10 | arbitrary-tailwind: text-[20px] | text-xl |
TestDrift.tsx |
10 | arbitrary-tailwind: font-[700] | font-bold |
TestDrift.tsx |
11 | arbitrary-tailwind: text-[12px] | text-xs |
TestDrift.tsx |
11 | arbitrary-tailwind: text-[#a1a1aa] | — |
TestDrift.tsx |
11 | arbitrary-tailwind: bg-[#27272a] | — |
TestDrift.tsx |
11 | arbitrary-tailwind: px-[8px] | px-2 |
TestDrift.tsx |
11 | arbitrary-tailwind: py-[2px] | py-0.5 |
TestDrift.tsx |
11 | arbitrary-tailwind: rounded-[4px] | rounded |
TestDrift.tsx |
15 | arbitrary-tailwind: gap-[12px] | gap-3 |
TestDrift.tsx |
16 | arbitrary-tailwind: p-[12px] | p-3 |
TestDrift.tsx |
16 | arbitrary-tailwind: bg-[#09090b] | — |
TestDrift.tsx |
16 | arbitrary-tailwind: rounded-[8px] | rounded-lg |
TestDrift.tsx |
17 | arbitrary-tailwind: text-[#71717a] | — |
TestDrift.tsx |
17 | arbitrary-tailwind: text-[12px] | text-xs |
TestDrift.tsx |
18 | arbitrary-tailwind: text-[#22c55e] | — |
TestDrift.tsx |
18 | arbitrary-tailwind: text-[24px] | text-2xl |
TestDrift.tsx |
18 | arbitrary-tailwind: font-[800] | font-extrabold |
TestDrift.tsx |
20 | arbitrary-tailwind: p-[12px] | p-3 |
TestDrift.tsx |
20 | arbitrary-tailwind: bg-[#09090b] | — |
TestDrift.tsx |
20 | arbitrary-tailwind: rounded-[8px] | rounded-lg |
TestDrift.tsx |
21 | arbitrary-tailwind: text-[#71717a] | — |
TestDrift.tsx |
21 | arbitrary-tailwind: text-[12px] | text-xs |
You're using three similar dark colors (#18181b, #27272a, #09090b) and repeating text-[12px] in multiple places. These are perfect candidates for tokens. Since you're using Tailwind, consider defining these as --background, --background-secondary, and --background-tertiary for the dark colors, and --text-xs for the 12px text size. This will keep your design system scalable and consistent.
Tip: Start by adding these tokens to your Tailwind config and replace the arbitrary values with the token references.
29 issues · 18 suggestions · reply @ahoybuoy for help
I've left committable suggestions inline — you can apply them directly from this PR.
| export function TestDrift() { | ||
| return ( | ||
| <div | ||
| className="bg-[#18181b] p-[24px] rounded-[12px]" |
There was a problem hiding this comment.
🔵 Arbitrary Tailwind
p-[24px] → p-6
| className="bg-[#18181b] p-[24px] rounded-[12px]" | |
| className="bg-[#18181b] p-6 rounded-[12px]" |
| export function TestDrift() { | ||
| return ( | ||
| <div | ||
| className="bg-[#18181b] p-[24px] rounded-[12px]" |
There was a problem hiding this comment.
🔵 Arbitrary Tailwind
rounded-[12px] → rounded-xl
| className="bg-[#18181b] p-[24px] rounded-[12px]" | |
| className="bg-[#18181b] p-[24px] rounded-xl" |
| className="bg-[#18181b] p-[24px] rounded-[12px]" | ||
| style={{ border: '1px solid #27272a', boxShadow: '0 4px 6px -1px #0000001a' }} | ||
| > | ||
| <header className="flex justify-between items-center mb-[16px]"> |
There was a problem hiding this comment.
🔵 Arbitrary Tailwind
mb-[16px] → mb-4
| <header className="flex justify-between items-center mb-[16px]"> | |
| <header className="flex justify-between items-center mb-4"> |
| style={{ border: '1px solid #27272a', boxShadow: '0 4px 6px -1px #0000001a' }} | ||
| > | ||
| <header className="flex justify-between items-center mb-[16px]"> | ||
| <h2 className="text-[#fafafa] text-[20px] font-[700]">Metrics</h2> |
There was a problem hiding this comment.
🔵 Arbitrary Tailwind
text-[20px] → text-xl
| <h2 className="text-[#fafafa] text-[20px] font-[700]">Metrics</h2> | |
| <h2 className="text-[#fafafa] text-xl font-[700]">Metrics</h2> |
| style={{ border: '1px solid #27272a', boxShadow: '0 4px 6px -1px #0000001a' }} | ||
| > | ||
| <header className="flex justify-between items-center mb-[16px]"> | ||
| <h2 className="text-[#fafafa] text-[20px] font-[700]">Metrics</h2> |
There was a problem hiding this comment.
🔵 Arbitrary Tailwind
font-[700] → font-bold
| <h2 className="text-[#fafafa] text-[20px] font-[700]">Metrics</h2> | |
| <h2 className="text-[#fafafa] text-[20px] font-bold">Metrics</h2> |
| <div className="grid grid-cols-2 gap-[12px]"> | ||
| <div className="p-[12px] bg-[#09090b] rounded-[8px]"> | ||
| <p className="text-[#71717a] text-[12px]">Uptime</p> | ||
| <p className="text-[#22c55e] text-[24px] font-[800]">99.9%</p> |
There was a problem hiding this comment.
🔵 Arbitrary Tailwind
text-[24px] → text-2xl
| <p className="text-[#22c55e] text-[24px] font-[800]">99.9%</p> | |
| <p className="text-[#22c55e] text-2xl font-[800]">99.9%</p> |
| <div className="grid grid-cols-2 gap-[12px]"> | ||
| <div className="p-[12px] bg-[#09090b] rounded-[8px]"> | ||
| <p className="text-[#71717a] text-[12px]">Uptime</p> | ||
| <p className="text-[#22c55e] text-[24px] font-[800]">99.9%</p> |
There was a problem hiding this comment.
🔵 Arbitrary Tailwind
font-[800] → font-extrabold
| <p className="text-[#22c55e] text-[24px] font-[800]">99.9%</p> | |
| <p className="text-[#22c55e] text-[24px] font-extrabold">99.9%</p> |
| <p className="text-[#71717a] text-[12px]">Uptime</p> | ||
| <p className="text-[#22c55e] text-[24px] font-[800]">99.9%</p> | ||
| </div> | ||
| <div className="p-[12px] bg-[#09090b] rounded-[8px]"> |
There was a problem hiding this comment.
🔵 Arbitrary Tailwind
p-[12px] → p-3
| <div className="p-[12px] bg-[#09090b] rounded-[8px]"> | |
| <div className="p-3 bg-[#09090b] rounded-[8px]"> |
| <p className="text-[#71717a] text-[12px]">Uptime</p> | ||
| <p className="text-[#22c55e] text-[24px] font-[800]">99.9%</p> | ||
| </div> | ||
| <div className="p-[12px] bg-[#09090b] rounded-[8px]"> |
There was a problem hiding this comment.
🔵 Arbitrary Tailwind
rounded-[8px] → rounded-lg
| <div className="p-[12px] bg-[#09090b] rounded-[8px]"> | |
| <div className="p-[12px] bg-[#09090b] rounded-lg"> |
| <p className="text-[#22c55e] text-[24px] font-[800]">99.9%</p> | ||
| </div> | ||
| <div className="p-[12px] bg-[#09090b] rounded-[8px]"> | ||
| <p className="text-[#71717a] text-[12px]">Errors</p> |
There was a problem hiding this comment.
🔵 Arbitrary Tailwind
text-[12px] → text-xs
| <p className="text-[#71717a] text-[12px]">Errors</p> | |
| <p className="text-[#71717a] text-xs">Errors</p> |
Testing container-based PR scanning with @buoy-design/scanners