App Manifest

Sites and applications served over dat:// can include a manifest file to set metadata and configure the application. The file should be located at /dat.json in the root of the site. Beaker automatically manages the manifest for archives created via the Dat Web API.

{
  "url": "dat://4483a2..66/",
  "version": "1.2.3",
  "title": "Application Title",
  "description": "A short description of the app",
  "author": "Bob Roberts <bob@roberts.com>",
  "forkOf": ["dat://00fdc3..7a/"],
  "createdBy": {
    "title": "My Dat App",
    "url": "dat://15f17e..6a/"
  }
}

.url

The URL of the archive.


.version

The archive’s version. It is suggested to use semantic versionining, but this is not required.


.title

A short but descriptive human friendly title.


.description

A one- or two-line description of the archive.


.author

The archive’s author. Can be either an object with any of those keys:

{
  "name": "Bob Roberts",
  "email": "bob@roberts.com",
  "web": "https://roberts.com/bob"
}

or a string with at least the name and any of the segments email and web:

"NAME <EMAIL> (WEB)"

like for example:

  • "Bob Roberts"
  • "Bob Roberts <bob@roberts.com>"
  • "Bob Roberts (https://roberts.com/bob)"
  • "Bob Roberts <bob@roberts.com> (https://roberts.com/bob)"

.forkOf

An array of URLs describing the fork history of the archive, starting from the oldest ancestor to the most recent. The first entry in the array is the URL of the original, and the last entry in the array is the URL of the most-recently forked.

If you fork a fork, there will be 2 items in the array:

forkOf: [grandparent-url (the original), parent-url]

If you fork again, there will be 3 items in the array:

forkOf: [great-grandparent-url (the original), grandparent-url, parent-url]

.createdBy

An object of {url:, title:} describing the application that created the archive.