Deven Documentation Skeleton
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.
:information_source: Table of contents
:star: 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.
:file_folder: 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
-
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.
-
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"
}
:rocket: 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.
:white_check_mark: How to test
Read more
:v: Contribute
Read more
:bug: 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.
:page_facing_up: License
MIT LICENCE
:green_heart: Code of conduct
You can find the Code of Conduct here