Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/seriouslyjs/npm-git-init
NpmGitInit - Automate Node.js project setup with GitHub integration. Simplify npm, yarn, and pnpm initialization. Perfect for Node.js developers seeking automated repository creation and configuration. Boost productivity and streamline project setup with this powerful npm init hook.
https://github.com/seriouslyjs/npm-git-init
automation github init nodejs npm pnpm yarn
Last synced: 1 day ago
JSON representation
NpmGitInit - Automate Node.js project setup with GitHub integration. Simplify npm, yarn, and pnpm initialization. Perfect for Node.js developers seeking automated repository creation and configuration. Boost productivity and streamline project setup with this powerful npm init hook.
- Host: GitHub
- URL: https://github.com/seriouslyjs/npm-git-init
- Owner: seriouslyjs
- License: mit
- Created: 2023-12-14T01:29:40.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-01-13T11:34:41.000Z (4 days ago)
- Last Synced: 2025-01-13T12:38:37.749Z (4 days ago)
- Topics: automation, github, init, nodejs, npm, pnpm, yarn
- Language: Shell
- Homepage:
- Size: 43.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# NpmGitInit 🚀 - Your Go-To for npm, yarn & pnpm Init Hooks!
## Description
🛠️ **NpmGitInit** is your magic wand for Node.js project setups! It serves as a nifty hook for `npm`, `yarn`, and `pnpm`, turbocharging your project initialization. It's like having a personal assistant for setting up GitHub repositories, perfect for Node.js enthusiasts.
🌐 Seamlessly integrate repository creation and configuration into your `init` command. Transform the mundane into automation! Whether you prefer `npm`, `yarn`, or `pnpm`, this script has got your back, ensuring a smooth, automated setup for your Node.js projects.
🔍 Need an `npm init hook`? Want to bypass the usual `npm init` drill? Or searching for something similar for `yarn` and `pnpm`? Here you go...
## Features
- **Automated GitHub Repository Creation**: Simplify GitHub repository setup for `npm`, `yarn`, and `pnpm`.
- **Universal Init Hook**: Automate the `init` command across `npm`, `yarn`, and `pnpm`.
- **Project Directory Initialization**: Set up your project directory along with a new repository.
- **Custom GitHub Organization Selection**: Choose a GitHub organization during initialization.
- **Enhanced Initialization Process**: Automate Git and GitHub setup for `npm init`, `yarn init`, or `pnpm init`.## Getting Started
### Prerequisites
- [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) installed and configured.
- [GitHub CLI](https://cli.github.com/manual/installation) installed and authenticated.
- [`jq`](https://stedolan.github.io/jq/download/) command-line JSON processor installed.
- [GitHub account](https://github.com/join) for repository creation and management.### Installation
Run this command in your terminal to install:
```bash
curl -sSL https://raw.githubusercontent.com/seriouslyjs/NpmGitInit/master/install.sh | bash
```Or feel free to look at the script yourself and see ho it works. This command downloads and executes the `install.sh` script, setting up `node-init-wrapper.sh` and the required aliases.
### Usage
Initiate a new Node.js project using:
```bash
npm init#Or with yarn:
yarn init#Or with pnpm:
pnpm init
```Follow the interactive prompts to select an organization and configure your repository.
## How It Works
The `node-init-wrapper.sh` script streamlines the process of setting up a new Node.js project by automating several steps. **The script only cares if you call `init`** and returns early if not. Here's an overview of what happens behind the scenes:
### Detecting the Current Folder
- When you execute `npm init`, `yarn init`, or `pnpm init`, the script detects the name of the current working directory. This name is used to create a new GitHub repository.
### Creating a GitHub Repository
- The script prompts you to choose a GitHub organization for the new repository. It presents the list of organizations you are a part of using the GitHub CLI.
- If you don't choose an organization, it defaults to creating the repository under your personal GitHub account.
- The repository is created with the name matching your current directory and is set to private by default.### Cloning the Repository
- After creating the GitHub repository, the script clones it into your current working directory. This sets up a Git remote named `origin` pointing to your new GitHub repository.
- This step links your local directory and the GitHub repository, ready for version control and collaboration.### Running the Original Init Command
- The script executes the original `npm init`, `yarn init`, or `pnpm init` command. This initializes your project as a Node.js project, creating a `package.json` file.
- You'll be prompted with the usual questions by `npm`, `yarn`, or `pnpm` to configure your `package.json`.### Staging and Committing
- Finally, the script stages the `package.json` file and makes an initial commit to your repository. It then pushes this commit to the `main` branch of your new GitHub repository.
### Transparency and Control
- By automating these steps, `node-init-wrapper.sh` saves time and reduces repetitive tasks when starting a new Node.js project.
- The script is open source, allowing you to review, modify, and extend it as you see fit. This transparency ensures full control over what happens in your development environment.## Ideal for
- Node.js developers using `npm`, `yarn`, or `pnpm` for project management.
- Those looking to automate the link between `npm | yarn | pnpm init` and GitHub repository creation.
- Users seeking an extended functionality hook for any of these package managers.
- Developers aiming to streamline their initial project setup process in Node.js.## Enhancing Your Experience
Beyond the basic setup, you can further customize and enhance your Node.js project initialization experience. Here are some additional steps you can take:
### Setting Npm Defaults
Using `npm set`, define default values for your `npm init` process. This saves time and ensures consistency across projects. For example:
- Set your default author name and email:
```bash
npm set init-author-name "Your Name"
npm set init-author-email "[email protected]"
npm set init-author-url "http://yourwebsite.com"
```- Set a default license:
```bash
npm set init-license "MIT"
```These defaults will be used every time you run `npm|yarn|pnpm init`, streamlining the process.
## Contributing
We welcome contributions from the community. To contribute:
1. Fork the project.
2. Create a new feature branch (`git checkout -b feature/YourAmazingFeature`).
3. Commit your changes (`git commit -m 'Add some YourAmazingFeature'`).
4. Push to the branch (`git push origin feature/YourAmazingFeature`).
5. Open a pull request.## License
This project is licensed under the MIT License - see the [LICENSE](https://github.com/seriouslyjs/NpmGitInit/blob/main/LICENSE) file for details.
## Contact
Jason Nathan - [@jason_nathan](https://twitter.com/jason_nathan)
Project Link: [https://github.com/seriouslyjs/NpmGitInit](https://github.com/seriouslyjs/NpmGitInit)
## Keywords
- Npm init hook, yarn init automation, pnpm setup script, GitHub repository integration, Node.js project initialization, automate npm/yarn/pnpm setup, npm/yarn/pnpm and GitHub automation tool.