Last changes & adding archive repos feature by CLOSE s tag

This commit is contained in:
KaffinPX 2023-06-23 01:26:35 +03:00 committed by GitHub
parent b685d08402
commit e3e523aa7e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

16
96.md
View File

@ -8,7 +8,7 @@ Code Collaboration over Nostr
This NIP defines a way to collaborate on coding over nostr by using it as transport and organizer layer. We could implement it for solutions like Git but their scheme is not compatible with async networks like nostr because of their commit chain, if one commit is missing we cant build latest state of files. This NIP will consider every commitment as revision which will include latest state of files and won't keep state on nostr but just an unique indicator(an integrity proof) for file.
## Definition of a File Distribution Event
## Definition of a Code Collaboration Event
`kind: 96` uses the `b` tag to identify the base repository, MAY contain a `t` tag to be used as title or description of revision.
@ -27,7 +27,7 @@ By default its an event for committing a revision. The `content` of a file distr
### Interacting with Other Repositories
A file distribution event MUST contain a `p` tag indicating public key if it's not interacting with an owned repository.
A code collaboration event MUST contain a `p` tag indicating public key if it's not interacting with an owned repository.
```json
{
@ -41,7 +41,7 @@ A file distribution event MUST contain a `p` tag indicating public key if it's n
### Threads(Issues)
A file distribution event MAY contain a `c` tag to indicating the event is specific to creating a thread. If present, the `c` tag SHALL define title of the thread.
A code collaboration event MAY contain a `c` tag to indicating the event is specific to creating a thread. If present, the `c` tag SHALL define title of the thread.
The `content` of it MUST contain a comment as text.
@ -57,9 +57,9 @@ The `content` of it MUST contain a comment as text.
}
```
### Merge Requests
### Revision Requests
A file distribution event MAY contain a `m` tag indicating the event is specific to creating a merge request. If present, the `m` tag SHALL define the title of pull request.
A code collaboration event MAY contain a `r` tag indicating the event is specific to creating a revision request. If present, the `r` tag SHALL define the title of revision request.
The `content` of it MUST contain an unique indicator as text for file(s) to be merged.
@ -69,7 +69,7 @@ The `content` of it MUST contain an unique indicator as text for file(s) to be m
"tags": [
[ "p", <repository owner> ],
[ "b", <repository identifier> ],
[ "m", <title> ]
[ "r", <title> ]
],
"content": <unique indicator>
}
@ -77,7 +77,7 @@ The `content` of it MUST contain an unique indicator as text for file(s) to be m
### Comments
A file distribution event MAY contain an `e` tag indicating the event is specific to commenting on a thread/merge request. If present, the `e` tag MUST define an event id of thread.
A file distribution event MAY contain an `e` tag indicating the event is specific to commenting on a thread/revision request. If present, the `e` tag MUST define an event id of thread.
The `content` of it MUST contain a comment as text.
@ -95,7 +95,7 @@ The `content` of it MUST contain a comment as text.
### Management
A comment event MAY contain a `s` tag indicating the event is specific to changing state of a thread or merge request. If present, the `s` tag MUST be `OPEN` or `CLOSE`.
An event MAY contain a `s` tag indicating the event is specific to changing state of a repository and MAY contain `e` tag for managing a thread or revision request. If present, the `s` tag MUST be `OPEN` or `CLOSE`.
Only considered valid if used by thread or merge request owner or by the repository owner.