aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorRunxi Yu <me@runxiyu.org>2025-02-09 14:07:50 +0800
committerRunxi Yu <me@runxiyu.org>2025-02-09 14:08:22 +0800
commite4188c9796e71354c1e7c59284b5147eca0c2b15 (patch)
tree2ddd11f3193fd95892bde1a858fd71f1dca468ea /README.md
parent{main,resources}.go: Serve static/ properly (diff)
downloadforge-e4188c9796e71354c1e7c59284b5147eca0c2b15.tar.gz
forge-e4188c9796e71354c1e7c59284b5147eca0c2b15.tar.zst
forge-e4188c9796e71354c1e7c59284b5147eca0c2b15.zip
README.md: Write some details
Diffstat (limited to 'README.md')
-rw-r--r--README.md50
1 files changed, 37 insertions, 13 deletions
diff --git a/README.md b/README.md
index c77dd2d..5c83661 100644
--- a/README.md
+++ b/README.md
@@ -2,16 +2,40 @@
## Organization
-URLs are like `https://forge.example.org/category/module`. The `category` may
-represent a project on an organization's forge, or perhaps one particular user
-on a multi-user public forge. The `module` is similar to a repository on
-Forgejo, and may contain any non-empty subset of all available modules.
-
-The available modules are:
-* Version-controlled repository hosting
-* Patch review
-* Mailing list
-* Ticket tracker
-* Wiki
-
-This is potentially subject to change.
+URLs are like `https://forge.example.org/project_name/module_type/module_name`.
+
+The available `module_type`s are:
+* `repos` for version control
+* `tickets` for ticket trackers
+* `mail` for mailing lists
+
+## Version-controled repos
+
+Currently we only support Git.
+
+### Merge requests
+
+Each version-controlled repo ("main repo") has an area for merge requests
+("MR"s) which may be optionally enabled. A MR is a request to merge
+changes from a Git ref ("source ref") into a branch in the main repo
+("destination branch").
+
+When creating a MR from the API, the Web interface, email, or SSH, it shall be
+possible to create a special source ref, hosted in the main repo as a branch
+with a branch name that begins with `merge_requests/`. Unsolicited pushes to
+`merge_requests/` will automatically open a MR, returning instructions to edit
+the description and manage the MR further via the standard error channel.
+
+MR branches shall be synced to automatically created MR-specific mailing lists.
+These mailing lists should have archives accessible via read-only IMAP, JMAP,
+or something else that achieves a similar result.
+
+## Ticket tracking
+
+Ticket tracking works like todo.sr.ht, though we also intend to support
+IMAP/JMAP/etc.
+
+## Mailing lists
+
+Mailing lists are not designed to handle patchsets. Patchsets should be send to
+the corresponding repo, where they are turned into Lindenii patchsets.