Hello there!
The idea behind this app is to use it for short-term reminders, e.g. to remind you to do something in 2 hours or in 10 minutes. The reminders are set in terminal, and the app will notify you about the reminder via OS-specific reminders.
Reminders are stored in SQLite database, so they will persist even if the app is stopped and started again. However, if there is an issue with the SQLite setup, the app will still work, but the reminders will be stored in memory and will be lost after the app is stopped. SQLite is bundled with the app, so there is no need to install it separately.
The flow of the app is as follows:
Reminders are cross-platform compatible and are supposed to work on Windows, Linux, and MacOS. So far, the app has been tested on:
- MacOS Ventura 13.5 with Intel Core i9 x64 CPU and zsh 5.9 (x86_64-apple-darwin22.1.0)
- MacOS Ventura 13.5 with Apple M2 Max x64 CPU and zsh 5.9 (x86_64-apple-darwin22.0)
- Ubuntu 22.04.2 LTS (via VirtualBox) with Intel Core i9 x64 CPU and bash 5.1.16(1)-release (x86_64-pc-linux-gnu)
- Fedora Workstation 38 (via VirtualBox) with Intel Core i9 x64 CPU and bash 5.2.15(1)-release (x86_64-redhat-linux-gnu)
- Windows 10 Home (version 21H2) with Intel Core i5 x64 CPU and Windows PowerShell 5.1.19041.1682
Have fun! =)
- Go (version 1.22 or higher) if you want to build the app from the source code.
Download the latest release for your OS from GitHub.
- via Homebrew:
brew tap n0rdy/n0rdy
brew install remindme
To enable, add the following file /etc/apt/sources.list.d/fury.list:
deb [trusted=yes] https://apt.fury.io/n0rdy/ /
You can do this either manually or by running the following command:
echo "deb [trusted=yes] https://apt.fury.io/n0rdy/ /" > /etc/apt/sources.list.d/fury.list
If you experienced this error:
bash: /etc/apt/sources.list.d/fury.list: Permission denied
try to do the following:
sudo -i
# enter your password
echo "deb [trusted=yes] https://apt.fury.io/n0rdy/ /" > /etc/apt/sources.list.d/fury.list
# click Ctrl+D to exit
sudo apt update && sudo apt install remindme
To enable, add the following file /etc/yum.repos.d/fury.repo:
[fury]
name=Gemfury n0rdy Private Repo
baseurl=https://yum.fury.io/n0rdy/
enabled=1
gpgcheck=0
sudo yum install remindme
To start the app, run the following command in the terminal:
remindme start
Under the hood, the HTTP server is started on port 15555.
It is possible to specify the port to start the server on by either:
- using the
--port
flag, e.g.:
remindme start --port 15556
- setting the
REMINDME_PORT
environment variable to the desired port number.
There are several ways to add a reminder:
- to be reminded in a certain amount of time, e.g. in 2 hours 30 minutes 10 seconds:
remindme in --hr 2 --min 30 --sec 10 --about "Do something cool"
- to be reminded at a certain time, e.g. at 22:30:
remindme at --time 22:30 --about "Do something cool"
It is also possible to specify the time in 12-hour A.M./P.M format:
remindme at --pm 10:30 --about "Do something cool"
or for 10:30 A.M.:
remindme at --am 10:30 --about "Do something cool"
- to see the list of all reminders, run:
remindme list
The list
command also supports sorting the list of reminders by ID, message or time in an ascending or descending order.
By default, the list is provided in a random order. If the sorting is requested, but the sorting order is not specified, the ascending order is used.
- to sort by ID, run:
remindme list --sort --id
- to sort by message, run:
remindme list --sort --message
- to sort by time in descending order, run:
remindme list --sort --time --desc
- to cancel a reminder, run:
remindme cancel --id 1
where 1
is the ID of the reminder to be cancelled. The ID can be obtained by running remindme list
command.
- to cancel all reminders, run:
remindme cancel --all
- to change the message of a reminder, run:
remindme change --id 1 --about "Do something else, but also cool"
where 1
is the ID of the reminder to be changed. The ID can be obtained by running remindme list
command.
- to change the time of a reminder, run:
remindme change --id 1 --time 22:30
where 1
is the ID of the reminder to be changed. The ID can be obtained by running remindme list
command.
- it is possible to change the time by postponing it by a certain amount of time, e.g. by 2 hours 30 minutes 10 seconds:
remindme change --id 1 --postpone --hr 2 --min 30 --sec 10
where 1
is the ID of the reminder to be changed. The ID can be obtained by running remindme list
command.
- to stop the app, run the following command in the terminal:
remindme stop
- to print the logs, run the following command in the terminal:
remindme admin logs print
It is possible to specify which logs to print: client or server logs by using the --client
or --server
flags respectively.
By default, client logs are printed.
- to delete the log files, run the following command in the terminal:
remindme admin logs delete
It is possible to specify which log file to delete: client or server logs by using the --client
or --server
flags respectively.
By default, both client and server log files are deleted.
- to see the list of all available commands, run:
remindme help
remindme app provides a possibility to use completion for the commands and flags. To generate the completion, run the following command in the terminal:
remindme completion
This will generate the completion for the current shell. To enable the completion for the current shell run, use this command:
source <(remindme completion)
To enable the completion for the current shell permanently, add this line to your .bashrc
, .zshrc
or config.fish
file:
source <(remindme completion)
If you are on Windows with PowerShell, it is possible to generate the completion by running the following command:
remindme completion
Please, check the PowerShell documentation for more information about loading completions for this shell type.
To generate the documentation for the app in the MD-format, run the following command in the terminal:
remindme docs --dir "path_to_dir"
If the --dir
flag is not specified, the documentation will be generated in the temp directory on your machine - the path to the directory will be printed to the terminal as a result of docs
command execution.
You can find the same docs (as generated) within the docs folder on GitHub.
Please, note that some flags have shortcuts, e.g. --about
can be replaced with -a
, --time
with -t
, etc. To see the full list of shortcuts, run the remindme help
.