A command-line reminder tool that supports natural language dates and times, inspired by Slack's remind feature (UNMAINTAINED)
Latest commit dd243fa Dec 5, 2016

README.md

remind-me

A command-line reminder tool that supports natural language dates and times, inspired by Slack's /remind feature.

$ remind me to go outside for some fresh air in five minutes
# Ok, I'll remind you to "go outside for some fresh air" on Sunday, September 20 at 4:05 pm

Installation

This module uses some newer JavaScript features, so you'll need iojs or node >=4 installed to use it.

It has been tested on Mac OS X Yosemite, but should work on any system with cron support.

npm i -g remind-me && remind

Usage

$ remind me

Create a reminder.

remind me in two hours to take a break
remind me to do some deep breathing in 10 minutes
remind me at 3pm to wash the dishes
remind me to wash the dishes at 4:00 pm tomorrow
remind me to get out of bed tomorrow
remind me to put on pants at 8:36 am tomorrow
remind me on friday at 9pm to go party
remind me on February 2 at 6:30am to look for my shadow

$ remind list

List all upcoming reminders and their times

$ remind edit

Open ~/.remind-me/reminders.json in your $EDITOR

$ remind config

Open ~/.remind-me/config.json in your $EDITOR

Notifiers

The following notifiers are supported. To enable or disable any of them, type remind config.

say

The Mac OS X say command is enabled by default. This reads your reminder aloud in a computer voice. You can customize the voice. The full list is available by typing say -v "?" in your terminal.

Enabled by default.

Desktop Notifications

This display reminders using your OS's built-in notification system. This notifier uses the popular and well-maintained node-notifier module.

Enabled by default.

Text Messages with Twilio

Send reminders to your phone as text messages using Twilio. You can sign up for a free account which will work but prepends a nag message to all your texts, or you can pay for texts for a nominal fee. To find your Twilio phone number, visit https://www.twilio.com/user/account/phone-numbers/incoming. To find your Twilio SID and token, visit https://www.twilio.com/user/account/settings

Slack

Send messages to a Slack channel. Uses the node-slack module.

Disabled by default. Requires configuration.

Tests

npm install
npm test

Dependencies

  • chrono-node: A natural language date parser in Javascript
  • cp: cp for node
  • crontab: A module for reading, creating, deleting, manipulating, and saving system cronjobs with node.js
  • dateparser: A human language relative date parser
  • easypattern: EasyPattern is a readable alternative to regular expressions
  • mkdirp: Recursively mkdir, like mkdir -p
  • node-notifier: A Node.js module for sending notifications on native Mac, Windows (post and pre 8) and Linux (or Growl as fallback)
  • node-slack: Send and receive Slack Webhooks easily!
  • prettydate: Format dates nicely
  • require-dir: Helper to require() directories.
  • rimraf: A deep deletion module for node (like rm -rf)
  • tmp: Temporary file and directory creator
  • twilio: A Twilio helper library
  • user-home: Get the path to the user home directory
  • uuid: Rigorous implementation of RFC4122 (v1 and v4) UUIDs.

Dev Dependencies

  • mocha: simple, flexible, fun test framework
  • standard: JavaScript Standard Style

License

ISC

Generated by package-json-to-readme