M refman/01_introduction.md => refman/01_introduction.md +11 -0
@@ 1,1 1,12 @@
# Introduction
+
+**keyr** (**key** **r**eporting) gathers a collection of tools to keep
+track of your keystrokes. It is made of three software components:
+
+ - `keyr-daemon` counts your keystrokes
+ - `keyr-agent` keeps a detailed log of your keystrokes locally, and
+ can be used to share this log remotely with an instance of
+ `keyr-hub`
+ - `keyr-hub` keeps a detailed log of your keystrokes count, hour
+ by hour, and can be used to synchronize a shared counter among
+ several computers; it is completely optional.
M refman/02_changelog.md => refman/02_changelog.md +25 -1
@@ 2,4 2,28 @@
## Unreleased Changes
-This will be the first release of the `keyr` project.
+This will be the first *alpha* release of the `keyr` project.
+
+### `keyr-daemon`
+
+- Use `libinput` to count keystrokes
+- Create a UNIX socket (`/tmp/keyrd.socket`) to share this counter
+
+### `keyr-agent`
+
+- Add the `stage` command to fetch the current counter of `keyr-daemon`,
+ and saves it locally in a “staging area”
+- Add the `commit` command to push the staging area to a `keyr-hub` instance
+- Add the `format` command to output the current keystroke counters
+- Add the `revert` command to get back keystrokes statistics from a
+ `keyr-hub` instance
+- Use a Sqlite database as the persistent storage
+- Configure the tool using a TOML configuration file
+
+### `keyr-hub`
+
+- Add a route to commit keystrokes statistics
+- Add three routes to revert keystrokes statistics (i.e., sending it
+ back to an agent)
+- Add a route to fetch the keystrokes statistics of a given *visible*
+ user