# 🎂 Birthday CLI tool to remember birthdays of people you know ## Installation ```shell cargo install birthday ``` ## Usage Birthdays are stored in a SQLite database located in the [standard data directory](https://dirs.dev/) of your OS, but you can also override this behavior by defining a custom path via the `BIRTHDAY_DATA` environment variable. ### Add someone's birthday ```shell $ birthday add "Ben Dover" 03 05 1990 $ birthday add "Hugh Jarse" 10 12 1995 $ birthday add "Anita Bath" 22 09 1987 ``` ### Show all birthdays ```shell $ birthday all ╭────┬────────────┬──────────────┬───────────┬───────────────╮ │ Id │ Name │ Birthday │ Age │ Next birthday │ ├────┼────────────┼──────────────┼───────────┼───────────────┤ │ 1 │ Ben Dover │ 3 may │ 34 (1990) │ today │ │ 3 │ Anita Bath │ 22 september │ 37 (1987) │ 142 days │ │ 2 │ Hugh Jarse │ 10 december │ 29 (1995) │ 221 days │ ╰────┴────────────┴──────────────┴───────────┴───────────────╯ ``` ### Show the next birthday ```shell $ birthday next ╭────┬────────────┬──────────────┬───────────┬───────────────╮ │ Id │ Name │ Birthday │ Age │ Next birthday │ ├────┼────────────┼──────────────┼───────────┼───────────────┤ │ 2 │ Hugh Jarse │ 10 december │ 29 (1995) │ 221 days │ ╰────┴────────────┴──────────────┴───────────┴───────────────╯ ``` ### Show today's birthdays ```shell $ birthday today ╭────┬────────────┬──────────────┬───────────┬───────────────╮ │ Id │ Name │ Birthday │ Age │ Next birthday │ ├────┼────────────┼──────────────┼───────────┼───────────────┤ │ 1 │ Ben Dover │ 3 may │ 34 (1990) │ today │ ╰────┴────────────┴──────────────┴───────────┴───────────────╯ ``` ### Get all birthdays where the name match "Ben" ```shell $ birthday search --name Ben ╭────┬────────────┬──────────────┬───────────┬───────────────╮ │ Id │ Name │ Birthday │ Age │ Next birthday │ ├────┼────────────┼──────────────┼───────────┼───────────────┤ │ 1 │ Ben Dover │ 3 may │ 34 (1990) │ today │ ╰────┴────────────┴──────────────┴───────────┴───────────────╯ ``` ### Get all birthdays for a specific year ```shell $ birthday search --year 1987 ╭────┬────────────┬──────────────┬───────────┬───────────────╮ │ Id │ Name │ Birthday │ Age │ Next birthday │ ├────┼────────────┼──────────────┼───────────┼───────────────┤ │ 3 │ Anita Bath │ 22 september │ 37 (1987) │ 142 days │ ╰────┴────────────┴──────────────┴───────────┴───────────────╯ ``` ### Get all birthdays for a specific month ```shell $ birthday search --month 12 ╭────┬────────────┬──────────────┬───────────┬───────────────╮ │ Id │ Name │ Birthday │ Age │ Next birthday │ ├────┼────────────┼──────────────┼───────────┼───────────────┤ │ 2 │ Hugh Jarse │ 10 december │ 29 (1995) │ 221 days │ ╰────┴────────────┴──────────────┴───────────┴───────────────╯ ``` ### Get all birthdays for a specific day ```shell $ birthday search --month 3 ╭────┬────────────┬──────────────┬───────────┬───────────────╮ │ Id │ Name │ Birthday │ Age │ Next birthday │ ├────┼────────────┼──────────────┼───────────┼───────────────┤ │ 1 │ Ben Dover │ 3 may │ 34 (1990) │ today │ ╰────┴────────────┴──────────────┴───────────┴───────────────╯ ``` ### Forget a birthday by ID ```shell $ birthday forget 3 Birthday of 'Anita Bath' has been forgotten 🗑️ ```