Skip to content

This is a command-line application built with ES6 and Node.js that dynamically generates a professional README.md file based on user input. It streamlines the process of creating a high-quality README for open source projects on GitHub by automating the generation process.

License

Notifications You must be signed in to change notification settings

FilipPaskalev/README-Generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

84 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Professional README Generator

JavaScript Inquirer Node.js Chalk

MIT

Description

This is a command-line application built with ES6 and Node.js that dynamically generates a professional README.md file based on user input. It streamlines the process of creating a high-quality README for open source projects on GitHub by automating the generation process.

Table of Contents

Installation

Option 1 - Download

Download the project from GitHub repository on your local machine.

  1. Open GitHub repository. (link to repository)

  2. Select Code from top navigation section. (reference on the image below) πŸ‘‡

    gitHub-section-select-code

  3. Select <> Code dropdown button from sub section. (reference on the image below) πŸ‘‡

    gitHub-section-select-code-dropdown

  4. Select Download ZIP from dropdown menu to download project in .zip format. (reference on the image below) πŸ‘‡

    gitHub-dropdown-download-zip-selection

  5. Unzip the project.

    [!TIP] You can use 7-Zip if you don't have file archiver. 7-Zip is free software with open source. The most of the code is under the GNU LGPL license. Some parts of the code are under the BSD 3-clause License. Also there is unRAR license restriction for some parts of the code. Read 7-Zip License information. Download the application from official website.

  6. Open project with VS Code or other IDE.

Option 2 - Clone project

  1. On GitHub.com, navigate to the main page of the repository. (link to repository).

  2. Above the list of files, click Code. (reference on the image below) πŸ‘‡

    gitHub-section-select-code-dropdown

  3. Copy the URL for the repository.

  • To clone the repository using HTTPS, under "HTTPS", click

  • To clone the repository using an SSH key, including a certificate issued by your organization's SSH certificate authority, click SSH, then click

  • To clone a repository using GitHub CLI, click GitHub CLI, then click (reference on the image below) πŸ‘‡

    gitHub-https-copy

  1. Open Git Bash.

  2. Change the current working directory to the location where you want the cloned directory.

  3. Type git clone, and then paste the URL you copied earlier.

    git clone https://github.com/FilipPaskalev/README-Generator.git
    
  4. Press Enter to create your local clone.

    $ git clone https://github.com/FilipPaskalev/README-Generator.git
    > Cloning into `Spoon-Knife`...
    > remote: Counting objects: 10, done.
    > remote: Compressing objects: 100% (8/8), done.
    > remove: Total 10 (delta 1), reused 10 (delta 1)
    > Unpacking objects: 100% (10/10), done.
    

Usage

Start the application

To start the application, run the following command in your terminal:

npm start

When the application starts, you will be presented with a menu to choose the type of README generation:

terminal-app-preview

Basic README Generation

Choose this option to generate a skeleton README without any user input, except project name.

select-basic-readme

Basic option preview

video-preview-of-choosing-basic-readme-option

Custom README Generation

Select this option to generate a README by providing information for each section interactively.

select-custom-readme

Custom option preview

video-preview-of-choosing-custom-readme-option

Professional README Generation

Choose this option to generate a comprehensive README with all available options, including license selection, contributing guidelines, and more.

select-professional-readme

Professional option preview

video-preview-of-choosing-professional-readme-option

Contributing

If you'd like to contribute to this project, please follow the guidelines outlined in the CONTRIBUTING.md file.

Dependencies

Chalk 4.0.0

NPM chalk is a third-party Node.js module that is used to add colour and styling to text on the command-line output. It also allows creating your own themes for your Node.js project. As per the Chalk GitHub page, it is:

Terminal string styling done right

Chalk supports multiple text styles with backgrounds supporting different colours and formatting. For instance, you can show text in red colour with a grey background that is bold and underlined. The chalk module is easy to install and use, depending on your terminal colours it can support a lot of colours.

It is an actively maintained project without any dependencies. Chalk also has an expressive API and it is a performant library. In the next part, you will know about the popularity of the NPM chalk module.

  • Chalk is a library for styling command-line output. It provides a cleaner way to add color and styling to your console.log messages.

inquirer 8.0.0

Inquirer is an NPM package that provides an easy way to capture user input in your Node.js command line interface applications. It provides several methods for asking questions and returning answers from the user that can be accessed by a .then promise function.

Development Dependencies

JSDoc 4.0.2

JSDoc 3 is an API documentation generator for JavaScript, similar to Javadoc. You add documentation comments directly to your source code, right alongside the code itself. The JSDoc tool will scan your source code and generate an HTML documentation website for you.

JSDoc's purpose is to document the API of your JavaScript application or library. It is assumed that you will want to document things like modules, namespaces, classes, methods, method parameters, and so on.

Prettier 3.2.5

Prettier is an opinionated code formatter with support for:

  • JavaScript (including experimental features)
  • JSX
  • Angular
  • Vue
  • Flow
  • TypeScript
  • CSS, Less, and SCSS
  • HTML
  • Ember/Handlebars
  • JSON
  • GraphQL
  • Markdown, including GFM and MDX v1
  • YAML

It removes all original styling* and ensures that all outputted code conforms to a consistent style. (See this blog post)

Prettier takes your code and reprints it from scratch by taking the line length into account.

Tests

Automated tests can be added in the future to ensure the stability and functionality of the application. At version 1.0.0 are no tests.

Questions

If you have any questions or need further assistance, feel free to reach out:

Resources

| Link 1 | Link 2 | Link 3 | Link 4 | Link 5 | Link 6 | Link 7 | Link 8 | Link 9 | Link 10 | Link 11 | Link 12 | Link 13 |

License

License: MIT

Copyright (c) 2024 Phil

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

About

This is a command-line application built with ES6 and Node.js that dynamically generates a professional README.md file based on user input. It streamlines the process of creating a high-quality README for open source projects on GitHub by automating the generation process.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published