Update documentation for reports, new CLI

This is basically a redraft of the documentation to be more complete and
better cover some of the features added since it was written.
This commit is contained in:
Dustin J. Mitchell
2021-01-01 21:17:42 +00:00
parent b29f75a075
commit 8b4f345387
10 changed files with 189 additions and 85 deletions

42
docs/src/config-file.md Normal file
View File

@@ -0,0 +1,42 @@
# Configuration
The `task` command will work out-of-the-box with no configuration file, using default values.
Configuration is read from `taskchampion.yaml` in your config directory.
On Linux systems, that directory is `~/.config`.
On OS X, it's `~/Library/Preferences`.
On Windows, it's `AppData/Roaming` in your home directory.
The path can be overridden by setting `$TASKCHAMPION_CONFIG`.
Individual configuration parameters can be overridden by environment variables, converted to upper-case and prefixed with `TASKCHAMPION_`, e.g., `TASKCHAMPION_DATA_DIR`.
Nested configuration parameters such as `reports` cannot be overridden by environment variables.
## Directories
* `data_dir` - path to a directory containing the replica's task data (which will be created if necessary).
Default: `taskchampion` in the local data directory.
## Sync Server
If using a local server:
* `server_dir` - path to a directory containing the local server's data.
This is only used if `server_origin` or `server_client_key` are not set.
Default: `taskchampion-sync-server` in the local data directory.
If using a remote server:
* `server_origin` - Origin of the TaskChampion sync server, e.g., `https://taskchampion.example.com`.
If not set, then sync is done to a local server.
* `encryption_secret` - Secret value used to encrypt all data stored on the server.
This should be a long random string.
If you have `openssl` installed, a command like `openssl rand -hex 35` will generate a suitable value.
This value is only used when synchronizing with a remote server -- local servers are unencrypted.
Treat this value as a password.
* `server_client_key` - Client key to identify this replica to the sync server (a UUID)
If not set, then sync is done to a local server.
# Reports
* `reports` - a mapping of each report's name to its definition.
See [Reports](./reports.md) for details.