npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

generator-pr

v0.1.0

Published

Tool for Planning and Retrospect

Downloads

3

Readme

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