Notes from the Archival team. Subscribe with RSS, or follow @archival@archival.dev from Mastodon.

We're Federated!

Archival recently got the ability to really easily add activitypub to a site. As you can see on this site's public github repo, you can simply map an object type (or ask task mode to do it for you) to the activitypub fields, and we'll automatically detect this and set up the webfinger endpoint and the other activitypub endpoints needed to federate your posts to various platforms.

For instance, with just this config, this post and the other updates can now be read via rss and on various federated social feeds. For instance:

These all will now sync up with the updates on this site, along with hundreds more.
Want to own your data and still have social links to follow and share? Now you can on Archival!

Archival 0.22.0

Archival 0.22.0 is released, with a few small quality of life fixes as we push towards 1.0


Comment clobbering

archival format no longer deletes comments in archival files (although writing to objects via the editor still will - keep comments in object definition files!)

Slug Addresses

It felt non-intuitive that we couldn't address objects by their slug, since we have root object access that way. This enables things like {{ posts.something.name }} where something is the object file at objects/post/something.toml - note that if the slug has dashes, you have to use bracket syntax ["my-post"], which shouldn't be a surprise but is worth noting. This is especially useful when looking up fields, since that used to be:

{{sample_menus | where: "slug", "lunch" | map: "url" | first }} to get the URL, which not only is hard to read but has to map the whole array. That now condenses to {{ sample_menus.lunch.url }}, which I'd hope would be the first thing you'd think of.

Build an Archival site from Claude

Archival now speaks MCP, so an assistant can author a site end to end without a checkout, a local toolchain, or a copy of the CLI. It writes the object files and templates, builds them against a pinned archival binary on our side, and hands back a preview URL you can look at and react to.

Build errors come back as tool output, which means the assistant can fix its own templates instead of handing you a broken site.

See Building with Claude for setup.

Editor autocompletion for object files

Add the schema comment to the top of your archival_objects.toml:

#:schema https://archival.dev/schemas/archival_objects.schema.json

Your editor will complete field types, flag a definition that can't build, and explain the reserved keys inline. The same schemas are in the SchemaStore catalog, so most editors pick them up with no comment at all.