---
index.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/index.md b/index.md
index 61ffa86..75d0e74 100644
--- a/index.md
+++ b/index.md
@@ -162,7 +162,7 @@ The mainline Git trees are hosted on [SourceHut](https://sourcehut.org):
* Metadata: https://git.sr.ht/~cnx/ipwhl-data
* Utilities: https://git.sr.ht/~cnx/ipwhl-utils
-* Documentation: https://git.sr.ht/~cnx/ipwhl-doc
+* Documentation: https://git.sr.ht/~cnx/ipwhl-docs
## Mailing Lists
--
2.31.1
---
guides/contributing.md | 44 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)
create mode 100644 guides/contributing.md
diff --git a/guides/contributing.md b/guides/contributing.md
new file mode 100644
index 0000000..28d77de
--- /dev/null
+++ b/guides/contributing.md
@@ -0,0 +1,44 @@
+# How to contribute
+
+## Use git-send-email
+
+To contribute to the project, please send a patch to
+~cnx/ipwhl-devel@lists.sr.ht using [git-send-email][email].
+Remember to prefix the subject with `[PATCH <repository name>]`.
+
+## Add wheel to the repository
+
+Adding data to the repository is paramount to the distribution. Because Python
+packages are not only many, but also have strong dependency on each other, this
+is an arduous work.
+
+To help with adding wheel to the repository, please clone the repository
+[~cnx/ipwhl-data][data].
+Some tools have been made to facilitate this job, which can be found in
+[~cnx/ipwhl-utils][utils].
+Suppose you clone these two git repositories in the same directory, you can add
+a wheel using following script:
+
+```bash
+ipwhl-utils/declgen.py $url ipwhl-data/pkgs/$(ipwhl-utils/prefix.py $name) |\
+ tee /dev/fd/2 | ipwhl-utils/declck.py
+```
+
+Where `$name` is the name of the package, and `$url` is the URL to download the
+wheel of the package. This URL can usually be found on PyPI page, at "Download
+files" section. If the provided files does not include wheel but only the
+source code, you can build the package from the source code, host it somewhere,
+then use the link to there.
+
+Please keep each package in one commit. If your two or more packages directly
+or indirectly depend on each other, please send them in one patch, otherwise
+the CI would fail on dependency checking.
+
+## Improve documentation
+
+The document has rooms for improvement -- you can help by pointing out errors,
+organizing for more readable structure, or adding some useful instructions
+
+[data]: https://git.sr.ht/~cnx/ipwhl-data
+[utils]: https://git.sr.ht/~cnx/ipwhl-utils
+[email]: https://git-send-email.io/
--
2.31.1