shipyard is built on a few core principles that guide every design decision.
Rather than fighting a framework, shipyard embraces what Astro does best:
This means you get Astro’s performance and flexibility while shipyard handles the page builder concerns.
Unlike Starlight, which couples everything to its docs system, shipyard separates concerns into independent packages:
| Package | Purpose | Use Case |
|---|---|---|
| @levino/shipyard-base | Core layouts, navigation, styling | Marketing site, landing pages |
| @levino/shipyard-docs | Documentation features | Add when you need docs |
| @levino/shipyard-blog | Blog functionality | Add when you need a blog |
Mix and match. Use one package or all three. Your site, your choice.
Many projects start as a simple landing page, then need docs, then a blog. With Starlight, you’d need to restructure everything to add non-docs content. With shipyard, you just install another package.
Conversely, if you only need a marketing site with a blog—no docs—shipyard doesn’t force documentation infrastructure on you.
Rather than building a custom component library that might stagnate (like Infima), shipyard uses DaisyUI—a mature, well-documented, actively maintained component library built on Tailwind CSS.
This lets shipyard focus on page builder concerns while delegating styling to experts.
Your content is just Markdown. This is a deliberate choice that keeps your options open:
Tip: Use an AI assistant like Claude to help with migration. Since it’s just moving Markdown files and adjusting configuration, AI tools can handle most of the work for you.
shipyard doesn’t require:
If you decide shipyard isn’t right for you, take your Markdown files and move on. This low switching cost means you can try shipyard without commitment—if it doesn’t work out, you haven’t lost anything.