Delegate app description and visuals to a NIP-54 event

This commit is contained in:
franzap 2024-07-14 19:30:15 -03:00
parent 8006c582e4
commit 3f1d2a14ab

37
82.md
View File

@ -8,26 +8,31 @@ Applications
This NIP defines kind 32267 to represent a software application.
## Format
The description and visuals of an application are optionally provided via a linked [NIP-54](54.md) kind 30818 wiki article.
The `.content` of these events is a full description of the application in Markdown format.
## Application
And tags as follows:
```jsonc
{
"kind": 32267,
"content": "",
"tags": [
["d", "<app-id>"], // Usually reverse domain notation: com.example.app
["name", "<human-readable project name>"], // Name, in case wiki article is missing
["repository", "<repo-url>"], // Source code repository URL: https://github.com/example/android
["commit-id", "<sha1-commit-id>"], // SHA1 commit id used to build the release
["a", "30818:<destination-pubkey>:<app-slug>", "<relay-url>"], // Pointer to NIP-54 wiki article
["a", "30617:<destination-pubkey>:<repo-id>", "<relay-url>"], // Pointer to NIP-34 repository
["license", "<spdx-id>"] // License ID from https://spdx.org/licenses/: Apache-2.0
]
}
```
| tag | description | required | example |
| --- | --- | --- | --- |
| `d` | App identifier (preferably in reverse domain notation) | yes | com.example.app |
| `name` | Name of the app | yes | Example App |
| `description` | Short description of the app | no | An app that exemplifies |
| `repository`| Source code repository URL | no | https://github.com/example/android |
| `a`| address pointer to [NIP-34](34.md) repository | no | `30617:e4ee4fceb9721ce4ee4fceb91c9711ca2a6c9a5ab:example-repo` |
| `commit-id`| SHA1 commit id used to build the release | no | `42981750c3ab3bacaf242bf05a623ae1b299e0a1` |
All tags are optional except for `d`. Android applications MUST use the application identifier as the `d` tag.
| `url` | Homepage URL | no | https://example.com |
| `icon` | App icon URL | no | https://cdn.satellite.earth/a81c5dcfc8530026925ef0c94f3003768be0d9adfca854a3db7d3e28915f1e40.png |
| `image` | Image captures of the app | no | https://cdn.satellite.earth/003768be0d9adfca854a3db7d3e28915f1e40a81c5dcfc8530026925ef0c94f3.png |
| `t` | Tags | no | android, file-manager, kotlin |
| `license` | License ID from [SPDX](https://spdx.org/licenses/) | no | Apache-2.0 |
The `content` field SHOULD be empty.
Clients SHOULD first check for the availability of the linked kind 30818 to retrieve the app description and display information contained in tags including `title`, `summary`, `image`, `icon`, `url`, `t`, etc.
### Attribution