The Readme Generator is a command-line application built to simplify the creation of professional README files for GitHub projects. As a crucial aspect of open source development, a comprehensive README provides vital information to users, contributors, and collaborators. This tool automates the README generation process, allowing project creators to allocate more time to actual development.
The primary tools used include:
- Node.js (v19.4.0): powers the Readme Generator, providing a robust JavaScript runtime for executing command-line operations efficiently.
- Screenshot
- Installation
- How to Use
- Dependencies
- Features
- Tests
- Contributions
- Troubleshooting
- Feature Requests and Bug Fixes
- Questions
- License
The Readme Generator main screen.
To use the Readme Generator, follow these steps:
- Ensure you have Node.js installed.
- Clone this repository to your local machine.
git clone https://github.com/martindocs/mtatarski-readme-generator.git
- Navigate to the project directory.
cd mtatarski-readme-generator
- Install dependencies.
npm install
- Run the application using the following command:
node index.js
- Answer the prompts to customize your README.
- Once completed, find the generated README in the
output
folder. - For a quick demonstration, you can watch a short video on youtube
▶️ watch a short video showcasing how to use the Readme Generator.
The following Node.js packages are utilized in this project:
- Inquirer: A powerful package for handling user prompts, enabling dynamic input in the command line.
- Commander: A module for creating command-line interfaces with a focus on simplicity and extensibility.
- Minimist: A minimalist command-line argument parser for Node.js.
npm install [email protected] [email protected] [email protected]
-
Dynamic README and LICENSE Generation: Create README and LICENSE files dynamically through user input utilizing the Inquirer package.
-
Customization Options: Tailor your README by easily adding a logo or screenshot to enhance project visibility.
-
Multiple README Support: Generate multiple README files without overwriting each other. Each file is stored in a uniquely named folder (e.g., YYYYMMDD-HHMMSS).
-
Terminal Banner Display: Optionally display or hide the terminal banner using the
--banner
or--nobanner
flag. For example:node index.js --banner
or
node index.js --nobanner
Note: There is a known bug where the banner may not be immediately disabled. If you encounter this issue, try reloading the program or refer to the Troubleshooting section for more information.
-
Development Terminal Help: Access helpful information about the terminal commands using the
--help
option. For example:node index.js --help
N/A
Contributions are welcome! Here are several ways you can contribute:
- Report Issues: Submit bugs found or log feature requests.
Click to expand
-
Fork the Repository: Start by forking the project repository to your GitHub account.
-
Clone Locally: Clone the forked repository to your local machine using a Git client.
git clone <your-forked-repo-url>
-
Create a New Branch: Always work on a new branch, giving it a descriptive name.
git checkout -b new-feature-x
-
Make Your Changes: Develop and test your changes locally.
-
Add Changes to Staging Area:
git add -A
-
Commit Your Changes: Commit with a clear and concise message describing your updates.
git commit -m 'Implemented new feature x.'
-
Push to GitHub: Push the changes to your forked repository.
git push origin new-feature-x
-
Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
Once your PR is reviewed and approved, it will be merged into the main branch.
- Switch Back to Main Branch and Pull Sync with Main: If you wish to work on a new feature/change, switch back to the main branch and sync with the latest changes.
git checkout main
git pull origin main
- Repeat the Process if Necessary: Start from point 3 onwards.
If you are experiencing an issue where the banner is not properly disabled even when using the --nobanner
flag, follow these steps to resolve the problem:
-
Reload the Program:
- After changing the
--nobanner
flag, try reloading the program. Sometimes the changes might not take effect immediately.
- After changing the
-
Check Configuration:
- Ensure that the configuration file (
config.json
) reflects the correct values for thebanner
andnobanner
flags after running the program with the--nobanner
option.
- Ensure that the configuration file (
We welcome feature requests and bug reports from our users. If you have a suggestion for a new feature or if you encounter a bug, please follow these steps:
-
Feature Requests:
- If you have an idea for a new feature, feel free to open a feature request on the GitHub repository. Provide a detailed description of the proposed feature and why it would be beneficial.
-
Bug Reports:
- If you encounter a bug, please open a detailed bug report on the GitHub repository. Include information about your operating system, Node.js version, and any steps to reproduce the issue.
Our team is dedicated to improving the program and addressing user feedback. Thank you for helping us make it better!
If you have any questions, feel free to reach out to me via GitHub.
Please refer to the LICENSE file in this repository for details on how this project is licensed.