惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
Stack Overflow Blog
Stack Overflow Blog
L
LangChain Blog
Jina AI
Jina AI
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
雷峰网
雷峰网
T
Tailwind CSS Blog
MongoDB | Blog
MongoDB | Blog
博客园 - 【当耐特】
博客园 - 聂微东
V
Visual Studio Blog
博客园_首页
Engineering at Meta
Engineering at Meta
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
The Cloudflare Blog
人人都是产品经理
人人都是产品经理
Apple Machine Learning Research
Apple Machine Learning Research
阮一峰的网络日志
阮一峰的网络日志
Microsoft Security Blog
Microsoft Security Blog
GbyAI
GbyAI
F
Fortinet All Blogs
C
Check Point Blog
罗磊的独立博客
H
Hackread – Cybersecurity News, Data Breaches, AI and More

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
Astro 6.4 + Cosmic: The Fastest Content Stack in 2026
Tony Spiro · 2026-05-31 · via DEV Community

Originally published on the Cosmic blog.

Astro 6.4 landed recently, and the headline feature is hard to ignore: a brand-new Rust-based Markdown processor called Sätteri that shaved over a minute off build times for both the Astro and Cloudflare docs sites. Combine that with Cosmic's sub-100ms REST API responses and you have a content pipeline that nothing else on the market can touch right now.

Here is everything that shipped in Astro 6.4, why it matters for content-heavy projects, and how to wire it up with Cosmic today.

What's New in Astro 6.4

Sätteri: Rust-Speed Markdown Processing

The most significant addition in this release is Sätteri, a Markdown and MDX pipeline written in Rust, exposed through Astro's new pluggable API. In Astro's own testing, switching the Astro and Cloudflare docs sites to Sätteri shaved over a minute off their respective build times.

For large content sites, that is not a marginal improvement. It changes the feedback loop entirely.

One important note: Sätteri does not run remark or rehype plugins. If your project depends on plugins from the unified ecosystem, you will either need to stay on the default processor for now or port them to Sätteri's MDAST or HAST plugin system. The Astro team has signaled that Sätteri is the intended default processor in a future major release.

A Pluggable Markdown Processor API

Sätteri is possible because Astro 6.4 also introduces a configuration option that lets you swap out the entire Markdown pipeline. The default remains the unified-based processor, so existing projects keep working without any changes. The legacy top-level markdown options still work but are now deprecated and will be removed in Astro 8.0.

Cloudflare Routing Helpers

For teams deploying on Cloudflare Workers, the adapter now ships a helper that wires up all the Cloudflare-specific plumbing: SESSION KV binding injection, static asset serving via the ASSETS binding, client address resolution, and prerendered error pages. It works with both custom fetch handlers and Hono middleware.

The Performance Stack: Cosmic + Astro + Sätteri

Here is what the full performance story looks like when you combine Cosmic with Astro 6.4:

  • Content delivery: Cosmic's REST API returns content in under 100ms, globally, with built-in CDN caching. Your editors update content in Cosmic's dashboard; your Astro site pulls it at build time or on-demand.
  • Markdown processing: Sätteri processes your Markdown and MDX at Rust speed, cutting a minute or more off large-site builds compared to the unified pipeline.
  • Output: Astro ships zero JavaScript by default. Every page is static HTML unless you explicitly opt into interactivity with islands.

No other content stack pairs these three things: a sub-100ms headless API, Rust-speed Markdown processing, and a zero-JS-by-default output format.

Fetching Cosmic Content in an Astro Component

First, install the SDK:

npm install @cosmicjs/sdk

Then fetch and render your content in an Astro component:

---
import { createBucketClient } from '@cosmicjs/sdk'

const cosmic = createBucketClient({
  bucketSlug: import.meta.env.COSMIC_BUCKET_SLUG,
  readKey: import.meta.env.COSMIC_READ_KEY,
})

const { objects: posts } = await cosmic.objects
  .find({ type: 'posts' })
  .props(['title', 'slug', 'metadata'])
  .depth(1)
---

<ul>
  {posts.map((post) => (
    <li><a href={`/blog/${post.slug}`}>{post.title}</a></li>
  ))}
</ul>

That is all it takes. The Cosmic SDK handles authentication, caching headers, and type inference. Pair this fetch pattern with Sätteri for any local Markdown content, and you have a fully optimized content pipeline.

Related: Bun + Cosmic: The Fastest JavaScript Stack in 2026

Why This Matters for Production Sites

Build performance compounds. On a site with hundreds or thousands of Markdown files, a one-minute reduction per build translates directly into faster CI pipelines, cheaper build minutes, and shorter time-to-publish for your content team. At scale, the choice of Markdown processor is not a footnote. It is a budget line item.

For teams running Cosmic + Astro in production, upgrading to Sätteri is a straightforward win if you are not relying on unified plugins. And for teams evaluating headless CMS platforms, the Cosmic + Astro combination now has an even stronger performance argument than it did last week.

Getting Started

Ready to build the fastest content stack available? Here is what you need:

  1. Create a free Cosmic account at cosmicjs.com (no credit card required).
  2. Spin up a new Astro project.
  3. Install the Cosmic SDK: npm install @cosmicjs/sdk.
  4. Optionally install Sätteri and configure it as your Markdown processor.

The free plan includes everything you need to get started: one bucket, up to 1,000 objects, and the full REST API. Start building for free, no credit card required.

Want a guided walkthrough? Book a demo and we will show you how teams are running Cosmic and Astro in production today.