/documentation-skeleton

Documentation Skeleton

Primary LanguageTypeScriptMIT LicenseMIT

Deven Documentation Skeleton

Render of the terminal

Issues GitHub pull requests Code of Conduct
GitHub contributors Coverage

deven-documentation-skeleton is built to work with NodeJS. It clones the deven's documentation skeleton in your project, provides information about the documentation coverage and help to you identify and clone the missing chapters.

ℹ️ Table of contents

⭐ Introduction

Various projects at Song do not have a full or even partial documentation in the repositories to onboard new team members or give an overview of how to run the application or how it works. Reasons for this problem are not enough time or the missing knowledge of how a documentation contains to be of service.

The purpose of this "documentation skeleton" project is to provide a simple way to add a documentation to your project by providing a documentation skeleton including examples and an easy-to-follow structure.

Goals

  • Enable engineers to add a full documentation with the least amount of effort to save time and money.
  • Lessen the mental workload for engineers, as they will know in every project that uses the unified documentation project where to find the information they are looking for.
  • Onboard new members faster on the projects.
  • Keep information out of silos. Keep information preserved after people leave the project.

📁 Documentation Structure

.
└── src/docs
    └── README.md
    └── ARCHITECTURE.md
    └── CODE_OF_CONDUCT.md
    └── CONTRIBUTE.md
    └── DEPLOYMENT.md
    └── GET_STARTED.md
    └── GLOSSARY.md
    └── PROJECT_BACKGROUND.md
    └── TESTING.md

Requirements

  1. This setup is working for all operating system, testing on Windows 8, Windows 8.1, Windows 10, Mac and Linux. This project is a Node.js package. You need Node Version 4 or higher and npm Version 2 or higher, check your installed version with node -v and npm -v.

  2. To run our code you have to meet the following requirements:

  • Node.js => v14.0.0
    (for more information check out the Node.js Documentation)

  • If you use Yarn, then => v1.2.0

  • If you use Npm, then => v8.0.0

If node can't be used in the target project, one can also copy all files under src/docs manually into a project and start to use them.

Installation

To install the package in your project follow these steps:

install the package:

npm install @deven-org/documentation-skeleton --save-dev

or

yarn add @deven-org/documentation-skeleton --dev

Add the following entries to your package.json scripts section:

   "scripts": {
      "doc:install": "deven-documentation-skeleton install",
      "doc:check": "deven-documentation-skeleton check",
      "doc:update": "deven-documentation-skeleton update"
   }

🚀 How to use it

1. Install

Install the documentation using the command install command.

npm run doc:install

or

yarn doc:install
What to expect?

First of all a name for the directory the files should be copied to has to be provided, either via the command line parameter --documentationDirectory <dir> or via the command line prompt. The highly recommended default for this directory is docs, because this will allow Github to auto-detect and nicely display e.g. the CODE_OF_CONDUCT.md. As soon as a not yet existing directory has been provided it will be created with all the skeleton chapters. Then a config (./.deven-skeleton-install.config) will be generated which tracks the installed version and the documentation directory that was just created.

If the ./.deven-skeleton-install.config is already existing, the script will just stop. It means that the documentation skeleton has been already succesfully installed and there's no need to proceed with a new installation.

2. Check

Once the documentation skeleton has been installed, you can use the check command to verify the status of the documentation.

npm run doc:check

or

yarn doc:check
What to expect?

The tool will show the diff between the skeleton chapters and the chapters located in the local documentation folder. If other files have been added to the docs folder, they will be ignored.

The content of the chapters won't be analysed nor considered for this report.

3. Update

In case a previous version that used the doc folder instead of docs, the command update will try to rename the folder if no other docs folder already exists. Otherwise an error will be shown and the process will be aborted.
Furthermore some of the files will be renamed if they still exist in an older version: CODEOFCONDUCT.md to CODE_OF_CONDUCT.md, GETSTARTED.md to GET_STARTED.md and PROJECTBACKGROUND.md to PROJECT_BACKGROUND.md.

In case one or more chapters are missing in the local documentation folder, the command update will clone them into the docs folder.

npm run doc:update

or

yarn doc:update
What to expect?

If the documentation folder is missing, it will be created. If the README file is missing, it will be created. The tool will clone the missing chapters in the documentation folder.

If the local version is greater than the one of the installed packaged, the script won't run.


✅ How to test

Read more

✌️ Contribute

Read more

🐛 Bugs and Issues

If you would like to open an issue, you can gladly use this page. But please, have a look at the Contribute page before filing a bug.

📄 License

MIT LICENCE

💚 Code of conduct

You can find the Code of Conduct here