|author||Matthias Beyer <email@example.com>||2019-12-08 17:02:28 +0100|
|committer||Matthias Beyer <firstname.lastname@example.org>||2019-12-08 17:02:28 +0100|
2 files changed, 21 insertions, 38 deletions
@@ -7,7 +7,7 @@ but we do not consider anything stable or usable at this moment. Feel free to
play around anyways.**
-## Goal / What is imag?
+## Mission statement
Our (long-term) goal is to
@@ -15,9 +15,8 @@ Our (long-term) goal is to
> suite of tools to cover all aspects of personal information management.
Yes, imag is a rather ambitious project as it tries to reimplement functionality
-for several "personal information management aspects". It is a hobby project,
-keep that in mind. We try to use standards like vcard, icalendar and others
+for several "personal information management aspects".
+We try to use standards like vcard, icalendar and others wherever possible.
Have a look at [the documentation](./doc/) for some more words on this.
@@ -27,18 +26,16 @@ Have a look at [the documentation](./doc/) for some more words on this.
Here is how to try `imag` out.
`imag` is a _suite/collection_ of tools (like git, for example) and you can
-build them individually.
-All subdirectories prefixed with "`libimag"` are libraries.
-All subdirectories prefixed with `"imag-"` are binaries and compiling them will
-give you a commandline application.
+build each "module" individually.
-We use `cargo` for building all crates in this repository.
-Make sure to use a recent `cargo`, at least one with workspace support.
Building all crates works with `cargo build --all`, building individual crates
-by specifying the `--manifest-path` flag to cargo.
+by specifying the `--manifest-path` flag to cargo. The crates in ./bin are the
+actual commandline tools, ./bin/core contains a core set of imag commands
+("plumbing" in git-speak) and ./bin/domain contains domain-specific imag
+commands, for example a todo tool or a bookmark tool.
diff --git a/doc/src/09010-contributing.md b/doc/src/09010-contributing.md
index a86ae2e..81dce99 100644
@@ -6,19 +6,17 @@ All contributors agree to the
[developer certificate of origin](#developer-certificate-of-origin)
by contributing to imag.
Feel free to contact [us via our mailinglist](http://imag-pim.org/mailinglist/)
and/or submit patches via mail (use `git format-patch` and
`git send-email`, always add a cover letter to describe your submission).
+You don't have to send patches via mail, though. As long as I can `git pull`
+your changes (without having to login or register at the remote) or `git am`
+your patchset, I'm fine.
+I'd encourage you, though, to [use git-send-email](https://git-send-email.io)
+or at least [git-request-pull](https://git-scm.org/)
-Also ensure that each commit submitted via email has
-[a "Signed-off-by: " line](https://stackoverflow.com/questions/1962094/what-is-the-sign-off-feature-in-git-for).
-By adding that line, you agree to our
-[developer certificate of origin](#developer-certificate-of-origin).
-If you do not add the "Signed-off-by: " line, I reserve the right to kindly
-reject your patch.
-Make sure to test-compile your patchset and, if available, run tests.
+Make sure to test-compile your patchset and run tests if there are any for the
+code you changed.
@@ -32,21 +30,6 @@ though you do not have to have the `nix` package manager installed to build
Everything else will be done by `cargo`.
-Note that this software is targeted towards commandline linux users and we do
-not aim to be portable to Windows or Mac OSX (though I wouldn't mind merging
-patches for OS X compatibility).
-If you want to build the documentation (you don't have to) you'll need:
-* lmodern (font package)
-* (gnu) make
-All dependencies are installable with the nix package manager by using a
-`nix-shell`, if you have the nix package manager installed on your system.
## Commit guidelines
@@ -54,9 +37,12 @@ Make sure your patchset does not contain "Fixup" commits when publishing it, but
free to send "Fixup" commits in the review process.
If squashing fails I will come back to you.
-We do not follow some official Rust styleguide for our codebase, but we try to
-write minimal and readable code. 100 characters per line, avoid noise in the
-codebase, ... you get it.
+Also ensure that each commit has
+[a "Signed-off-by: " line](https://stackoverflow.com/questions/1962094/what-is-the-sign-off-feature-in-git-for).
+By adding that line, you agree to our
+[developer certificate of origin](#developer-certificate-of-origin).
+If you do not add the "Signed-off-by: " line, I reserve the right to kindly
+reject your patch.
## Code of Conduct