Burton Smith
@stuffbreaker.bsky.social
1.3K followers 380 following 730 posts
Fun-loving coder and speaker. I love web development, web components, and design systems. Creator of kickstand-ui. I work @microsoft
Posts Media Videos Starter Packs
Pinned
stuffbreaker.bsky.social
Something that I heard last week that I really appreciated.

4 Pathways to Purpose

Something that:
1. Excites you
2. Agitates you
3. Makes you curious
4. Feels neglected from earlier in your life
stuffbreaker.bsky.social
Yeah, something's definitely messed up here.
stuffbreaker.bsky.social
I would love to hear this talk! Design Systems are a perfect use-case for web components.
stuffbreaker.bsky.social
For clarification this works directly in vscode with no additional setup required. The MCP is for vscode forks as they do not support the same APIs.
stuffbreaker.bsky.social
I'm excited to announce #AI integration for the #WebComponents Language Server!

If you are using a @vscode.dev fork like @cursor.com.web.brid.gy or @windsurfai.bsky.social, the extension provides a local, configurable #MCP server.

#html #css #javascript
wc-toolkit.com/integrations...
stuffbreaker.bsky.social
Kind of. It can be used for things like editor integration, framework type generation, documentation, etc. Here's an example of it being used in the Web Components Language Server I've been working on.

marketplace.visualstudio.com/items?itemNa...
Web Components Language Server - Visual Studio Marketplace
Extension for Visual Studio Code - Editor tools for working with web components / custom elements
marketplace.visualstudio.com
stuffbreaker.bsky.social
The good news is that Storybook already supports/uses the CEM, so if it can reuse that, you should be golden.
stuffbreaker.bsky.social
Actually, because of this, I've thought about creating a plugin that I could reuse the CEM for frameworks like svelte and Vue because there is so much overlap in the APIs.
stuffbreaker.bsky.social
The closest thing I've seen is react-docgen.
stuffbreaker.bsky.social
I can't wait for this to get picked up! Building #AI tooling into the #WebComponents language server is kind of a pain right now.

Introduction - Agent Client Protocol share.google/efO6Jngr1ROw...
Introduction - Agent Client Protocol
Get started with the Agent Client Protocol (ACP)
share.google
stuffbreaker.bsky.social
Shoelace also provides an i18n package, but we have also gone down the route of a custom solution with dynamic imports.

If you are providing translations, I also recommend surfacing them as attributes/props in case they need to be customized.

github.com/shoelace-sty...
GitHub - shoelace-style/localize: A micro library for localizing custom elements.
A micro library for localizing custom elements. Contribute to shoelace-style/localize development by creating an account on GitHub.
github.com
stuffbreaker.bsky.social
Yeah, we've been trying to track it down since the end of last week. It's a strange one indeed...
stuffbreaker.bsky.social
I'm very excited to announce the release of the #WebComponents CLI validator! Now you can validate your web components in your build pipelines.

#html #javascript
stuffbreaker.bsky.social
What have you published?
stuffbreaker.bsky.social
A new #WebComponents library is out! This looks amazing! Nice job @cory.laviska.com!
#html #css #JavaScript
stuffbreaker.bsky.social
I had a great time nerding out about #WebComponents DX and #DesignSystems!
stuffbreaker.bsky.social
If you're planing on using vanilla web components, I like this guide for getting started:

javascript.info/webcomponent...

If you want something with a bit nicer DX, you may want to check out somethig like @lit.dev or @stenciljs.com.
From the orbital height
javascript.info
stuffbreaker.bsky.social
Ah, I see. There are a few things I see:

1. You're using customized built-in elements, and those are not supported by Safari (and likely won't ever be), so I recommend using autonomous custom elements instead.
2. Slots won't work without the shadow DOM
stuffbreaker.bsky.social
Oh, interesting. That should be relatively straightforward. Can you explain a bit more? I'd love to get you unstuck.