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

@fchauvel/rpp

v0.8.0

Published

Rapid Project Planning

Downloads

4

Readme

RPP — Rapid Project Plan

NPM Version NPM Monthly download rate Build Status Test Coverage Code Grade

A simple CLI tool to quickly generate project plans including Gantt charts. Project planning for developers in a way.

Installation

$ npm install @fchauvel/rpp

Gantt Charts

To export the associated Gantt chart, use:

$ rpp gantt -p samples/epic/workplan.yaml -o samples/epic/gantt.svg

This yields the following Gantt Chart:

Sample Gantt Chart

Project Descriptions

Work Plan

RPP consumes a description of the project split into multiple YAML files, one for the woorkplan, one for the teams, etc. See for instance samples/epic/workplan.yaml. This file specifies the work plan (work packages, tasks, deliverables and milestones) of our sample EPIC project (see the workplan schema). Here is an excerpt:

project:
  name: EPIC
  breakdown:
    - name: Project Management
      breakdown:
        - name: Infrastructure for Communication
          start: 1
          duration: 48
          deliverables:
            - name: Infrastructure for Communication
              kind: Software
              due: 3
        - name: Financial Reporting
          start: 1
          duration: 48
          deliverables:
            - name: Intermediate Financial Report
              kind: Report
              due: 24
            - name: Final Financial Report
              kind: Report
              due: 48

Project Team

RPP also accepts a description of the team, that this, the persons assigned to the projects with their roles (see the team schema). Here is an excerpt of the EPIC team description.

team:
  name: EPIC
  members:
  - name: SINTEF
    members:
      - firstname: Franck
        lastname: Chauvel
        leads: [ WP1, T1.1, T1.2, T3.1, T4.4 ]
      - firstname: Brice
        lastname: Morin
        leads: [ WP3, T2.1, T3.3 ]
      - firstname: Ketil
        lastname: Stølen
        leads: [ T1.3 ]
  - name: UiO
    members:
      - firstname: Olaf
        lastname: Owe
        leads: [ WP4, T2.2, T4.1, T4.2, T4.3, T5.2]

You can pass the team to the rpp gantt command using --team|-t option, so that the Gantt chart indicates who leads the Tasks. For instance:

$ cd samples/epic
$ rpp gantt -p workplan.yaml -t team.yaml -o gantt.svg

Sanity Checks

RPP can also run sanity checks on your project description. To do so, use the following command:

$ npx rpp verify -p samples/erroneous/workplan.yaml
  1. Warning: 'EMPTY WORK PACKAGE' on 'WP 2'
     - Work package 'First Package' is empty.
     - Tip: Have we forgotten some tasks or work packages there?

  2. Warning: 'NO DELIVERABLE' on 'T 1'
     - Task 'First Tasks' has no deliverable
     - Tip: Do we miss some?

  3. Error: 'LATE MILESTONE' on 'MS 1'
     - Milestone 'First milestone' comes after project end.
     - Tip: Check the milestone date

2 warning(s), 1 error(s).

Here as well the -t|--team option allows us to include the team description.

RPP checks for the following:

  • Work plan consistency

    • Empty work package, that is, work packages that do not contain any tasks or work packages.

    • Single activity work packages, that is, work packages that contain a single task or work package.

    • Discontinuity in work packages, that is, activities in work packages that are neither overlapping nor contiguous in time. In other words, RPP search for work packages that are idle at some point.

    • Tasks without any deliberable.

    • Deliverable due outside the task period.

    • Milestones set outside the project period.

  • Teams consistency

    • Empty teams
    • Duplicate activity leader
    • Tasks without contributors
    • Activities without leader
    • Idle partners (without any role)