https://github.com/puppe1990/reminder
CLI em Ruby para criar lembretes no macOS com notificações nativas, aviso prévio customizado, lint, testes e CI.
https://github.com/puppe1990/reminder
cli launchd macos minitest notifications reminder rubocop ruby
Last synced: 3 days ago
JSON representation
CLI em Ruby para criar lembretes no macOS com notificações nativas, aviso prévio customizado, lint, testes e CI.
- Host: GitHub
- URL: https://github.com/puppe1990/reminder
- Owner: puppe1990
- Created: 2026-04-23T16:55:32.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2026-04-23T17:47:50.000Z (2 months ago)
- Last Synced: 2026-04-23T19:10:03.000Z (2 months ago)
- Topics: cli, launchd, macos, minitest, notifications, reminder, rubocop, ruby
- Language: Ruby
- Size: 15.6 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Reminder CLI
CLI em Ruby para criar lembretes no macOS com notificacao nativa.
## Uso
```bash
./reminder add --text "Reuniao com cliente" --at "2026-04-23 15:00"
./reminder add --text "Sair para o medico" --at "2026-04-23 18:00" --warn 30m
./reminder add --text "Tomar remedio" --at "2026-04-23 08:00" --warn 15m --repeat daily
./reminder list
./reminder remove
```
## Formatos aceitos
- `--at`: `YYYY-MM-DD HH:MM` ou `YYYY-MM-DDTHH:MM`
- `--warn`:
- `15` = 15 minutos
- `15m` = 15 minutos
- `2h` = 2 horas
- `1d` = 1 dia
- `--repeat`:
- `daily`
- `weekly`
- `monthly`
## Como funciona
- Salva os lembretes em `~/.reminder-cli/reminders.json`
- Cria `LaunchAgents` em `~/Library/LaunchAgents`
- Exibe a notificacao com `osascript`
- Prefere `terminal-notifier` quando estiver instalado para banners mais consistentes no macOS
- Quando `--repeat` e usado, reagenda automaticamente o proximo disparo apos o lembrete principal
- Usa `launchd`, `osascript`, `minitest` e `rubocop`
## Setup
```bash
bin/setup
```
## Qualidade
```bash
bin/lint
bin/test
```
## Pre-commit
O hook fica em `.githooks/pre-commit` e roda lint + tests.
Quando este diretório estiver em um repositorio Git:
```bash
git config core.hooksPath .githooks
```
## CI
O workflow fica em `.github/workflows/ci.yml` e executa lint + tests em `push` e `pull_request`.