planner

Crates.ioplanner
lib.rsplanner
version0.3.0
sourcesrc
created_at2021-08-08 14:16:01.045964
updated_at2021-08-30 20:16:45.796808
descriptionA CLI tool for planning your day
homepage
repositoryhttps://github.com/revuniversal/planner
max_upload_size
id433154
size48,841
Rev Herr (revuniversal)

documentation

README

Planner

CI

A planning app to help me get my shit together, written in rust.

Motivation

I've been creating a markdown(ish) plan file everyday for several years. I use a naming convention similar to {yyyy}.{MM}.{dd}.plan.md, and on most days I create my plan by copying the previous day's plan, then changing the day/date, and amending the schedule.

In my experience, creating my plan by hand each day gives me more agency than allowing a tool to create it for me. However, this is subject to human error, and often results in mismatches between the name of the plan files and the content. It also makes it more difficult to track over time.

Installation

foo@bar:~$ cargo install planner

To use cargo install, you'll need to install Rust.

Usage

Default

foo@bar:~$ planner

Opens today's plan in vim. If today's plan doesn't exist, then it will be created by copying the most recent plan. If no plan exists, then an empty plan will be created.

Help

foo@bar:~$ planner --help

TODOs

  • Add unit tests for PlanDirectory, PlanFile
  • Add unit tests for schedule parsing
  • Add note parsing with unit tests
  • Configuration
    • Allow users to change editor preferences (not everybody loves vim).
  • Subcommand: review: Review plan
    • Arg: today (default) - show what's been today
    • Arg: yesterday - Show what was done yesterday
    • Arg: week - Show data from the week so far (starting on Monday)
    • Arg: last-week - Show data from the last completed week (starting on Monday)
    • Arg: month - Show data from the month so far (starting on the 1st)
    • Arg: since (date|weekday) - Show data from all plans sinnce the specified day or date
  • On plan copy
    • Update day/date header so it matches the filename
    • Clean the TaskList section (remove completed tasks)
    • Clean the Schedule section (remove the actual schedule events)
    • Clean the notes section (delete the notes)
Commit count: 52

cargo fmt