0.1.0 • Published 8 years ago

generator-pr v0.1.0

Weekly downloads
2
License
MIT
Repository
github
Last release
8 years ago

generator-pr NPM version Build Status Dependency Status

Tool for Planning and Retrospect

I know it's common and might be even easier to use Excel to do this type of tracking. But as a programmer, I always want to store the data in plain text which is readable by any text editor and programmable later.

In the next phase, I might write a web page, Eletron app to do the display, editing and reporting. Or you can help on that for me.

Installation

First, install Yeoman and generator-pr using npm (we assume you have pre-installed node.js).

npm install -g yo
npm install -g generator-pr

Usage

This generator helps your generate data files for your monthly, weekly and daily planning and retrospect, and so there are three commands for them separately. The data files are stored under the directory structure of {YEAR}/{MONTH}.

Generate Monthly Plan

At the beginning, we should come up a monthly plan. Sample data file is named Month.js under the aforementioned directory. Its content is like this:

module.exports = {
  month: 1, // Numeric value of the month
  items: [
    {
      type: '', // Work/Grow/Family/Social/Retrospect/Health/Recreation
      name: '', // Name of the item you need to do
      desc: '', // More specific description
      whyDoingGood: '', // For retrospect: What is the area that I am doing good
      whyNoGoodEnough: '', // For retrospect: What is the area that I am not doing good enough
      followup: '', // For retrospect: The followup action I should take to do it better
      contributeToGoal: '', // The larger part of this item.  What goal it fulfill?
      contributeToValue: '', // The even larger part of goal.  What value it brings to me?
      weeklyProgressPlan: [
        // You can optionally put four elements here which is used for weekly plan generation
        // Each element stands for that week's plan of the goal
      ]
    }
  ],
  goals: [], // It should capture all the goals you plan to achieve in this month.
  values: [] // The value you want to pursue and keep asking yourself
}

The command to generate above data file is as below

yo pr:month --month 10 --items "Work;Grow:Reading,Writing,Coding"
  • Option month: Optional. If you omit it, it create monthly plan for next month.
  • Option items: Optional. The option allows you to provide the item type Work;Grow separated by ; and the goals under each type :Reading,Writing,Coding followed by the : and separated by ,.

Notes: If you provide the items option, it will ask you: "Do you want to save the provided items for default monthly items?" Once you say yes, this value will be kept using for following months so that you don't need to input again.

Once we have our monthly plan ready, we can go right in, do the planning, especially the weeklyProgressPlan. This field can help us later when generating the weekly plan.

Generate Weekly Plan

The sample command to generate weekly plan data file is as below:

yo pr:week W1 --month 10
  • Parameter W1: Mandatory. Valid value to provide is W1, W2, W3 or W4 which stands for the week in the month.
  • Option month: Optional. If it's not specified, it's assumed planning for week of this month.

The data file generated is named using the parameter you provide, for example W1.js and also under the aforementioned directory. File content is like this if you have generated your monthly plan.

module.exports = {
  "week": "W1",
  "items": [
    {
      "type": "Work",
      "name": "",
      "desc": "",
      "whyDoingGood": "",
      "whyNoGoodEnough": "",
      "followup": "",
      "contributeToGoal": "",
      "contributeToValue": "",
      "weeklyProgressPlan": "",
      "isProgressMet": false
    },
    {
      "type": "Grow",
      "name": "",
      "desc": "",
      "whyDoingGood": "",
      "whyNoGoodEnough": "",
      "followup": "",
      "contributeToGoal": "Reading",
      "contributeToValue": "",
      "weeklyProgressPlan": "Page 20 - 30",
      "isProgressMet": false
    }
  ]
}

Generate Daily Plan

The command to generate daily data file is as below. The data file is named with the day number, for example 20.js and also under the aforementioned directory.

yo pr:day --day 20 --style next
  • Option day: Optional. If you don't provide this option, it will ask you: "What is your normal planning style, today or next day?" You can input "today" or "next" and it remembers for next time generation.
  • Option style: Optional. The valid value is "today" or "next". This is normally used when you want to override the value stored previously.

Sample data file:

module.exports = {
  date: 17,
  items: [
    {
      type: '',
      name: '',
      desc: '',
      plannedDuration: 0,
      actualDuration: 0,
      whyDoingGood: '',
      whyNoGoodEnough: '',
      followup: '',
      contributeToGoal: '',
      contributeToValue: '',
      status: '' // I-Important,E-Eliminate
    }
  ]
}

You can put any value in status field for you to classify the item. For me, I simply use I which stands for Important and E which stands for Eliminate.

Getting To Know Yeoman

  • Yeoman has a heart of gold.
  • Yeoman is a person with feelings and opinions, but is very easy to work with.
  • Yeoman can be too opinionated at times but is easily convinced not to be.
  • Feel free to learn more about Yeoman.

License

MIT © Ken Chen