I have heard great things about astro, but my experience with Gatsby keeps me away. I would much rather keep an SSR framework like Remix and handle whatever pipeline is needed myself. No magic.
I felt the same way! But I came around. Take a look at the source code for a component [1]. The .astro format is pretty much just TS, CSS, and HTML. I don't even need React anymore. Way less glue code and dependencies than with Gatsby. There is a configuration file and some abstractions for things like collections, but almost everything is opt-in.
There's not really any DSL. You just put some TS in the frontmatter for fetching/transforming at build time, TS in a script tab (if needed) and the html is just basic templating that takes props.
[1] https://github.com/jwngr/jwn.gr/blob/master/src/components/b...