diff options
author | zPlus <zplus@peers.community> | 2019-05-24 23:29:00 +0200 |
---|---|---|
committer | zPlus <zplus@peers.community> | 2019-05-24 23:29:00 +0200 |
commit | 2fd63b44ac268738e818f924e99adb22c373a886 (patch) | |
tree | d5564d0f9d303b5827e587508b1f49e87aa70aeb | |
parent | db7d36676e05520b7198a903e788f21b939d7782 (diff) |
Add DRAFT spec.
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | specification.md | 126 |
2 files changed, 127 insertions, 0 deletions
@@ -2,6 +2,7 @@ !.gitignore !COPYING !README.md +!specification.md !doc doc/* diff --git a/specification.md b/specification.md new file mode 100644 index 0000000..9b0f273 --- /dev/null +++ b/specification.md @@ -0,0 +1,126 @@ +# ForgeFed Specification - DRAFT + +**Editors:** + +- deesix +- fr33domlover +- zPlus +- ... add other editors + +**Repository:** + +- [NotABug](https://notabug.org/peers/forgefed) + +**Copyright:** + +2019 ... + +## Abstract + +This document describes the ForgeFed vocabulary. It's intended to be an extension +of the [ActivityPub Vocabulary](https://www.w3.org/TR/activitystreams-vocabulary/) +and provides additional vocabulary for federation of version control services. + +## Table of Contents +1. [Introduction](#Introduction) +2. [Types](#Types) +3. [Properties](#Properties) +4. [Client to Server Interactions](#Client to Server Interactions) + +## Introduction + +## Types + +Base URI: `https://peers.community/ns/repo-fed-vocab#` + +### Activity Types + +#### Follow + +**URI:** `https://www.w3.org/ns/activitystreams#Follow` + +**Notes:** used by a user who wants to follow a repository + +**Example:** + + { + "@context": "https://www.w3.org/ns/activitystreams", + "summary": "Alice followed Bob", + "type": "Follow", + "actor": "https://localhost/alice", + "object": "https://remotehost/bob" + } + +#### Push + +**URI:** `https://peers.community/ns/repo-fed-vocab#Push` + +**Notes:** + +**Example:** + + { + "@context": "https://www.w3.org/ns/activitystreams", + "type": "Push", + "actor": "https://localhost/alice/repo2", + "object": [ + { + "type": "Commit", + }, + { + "type": "Commit", + } + ] + } + +### Actor Types + +### Object Types + +#### Commit + +**URI:** `https://peers.community/ns/repo-fed-vocab#Commit` + +**Notes:** + +**Example:** + + { + "@context": "https://peers.community/ns/repo-fed-vocab#", + "type": "Commit", + "id": "https://localhost/alice/repo2/commit/2c7323781aec1f7", + "author": "" + "message": "Fix #89" + } + +#### Ticket + +**URI:** `https://peers.community/ns/repo-fed-vocab#Ticket` + +**Notes:** + +**Example:** + + { + "@context": "https://peers.community/ns/repo-fed-vocab#", + "type": "Ticket", + "id": "https://localhost/alice/repo2/issues/42", + "attributedTo": "", + "author": "", + "title": "Nothing works!", + "content": "Please fix. Everything is broken!", + "context": "" + } + +## Properties + +## Client to Server Interactions + +### Follow Activity + +The `Follow` activity is used to subscribe to the activities of a repository. + +### Push Activity + +The `Push` activity is used to notify followers of new code that has been +pushed to a repository. |