{"id":25197763,"url":"https://github.com/seriouslyjs/gitonit","last_synced_at":"2026-04-11T13:03:29.881Z","repository":{"id":212394107,"uuid":"731391693","full_name":"seriouslyjs/GitOnIt","owner":"seriouslyjs","description":"Automates Node.js project setup, including GitHub repo creation, with seamless integration for npm, yarn, and pnpm.","archived":false,"fork":false,"pushed_at":"2025-02-05T08:45:36.000Z","size":52,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-21T07:14:57.723Z","etag":null,"topics":["automation","github","init","nodejs","npm","pnpm","yarn"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/seriouslyjs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-14T01:29:40.000Z","updated_at":"2025-02-05T05:00:01.000Z","dependencies_parsed_at":null,"dependency_job_id":"85737a83-d517-4575-89db-73ede8747356","html_url":"https://github.com/seriouslyjs/GitOnIt","commit_stats":null,"previous_names":["seriouslyjs/npmgitinit","seriouslyjs/npm-git-init","seriouslyjs/gitonit"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seriouslyjs%2FGitOnIt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seriouslyjs%2FGitOnIt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seriouslyjs%2FGitOnIt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seriouslyjs%2FGitOnIt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/seriouslyjs","download_url":"https://codeload.github.com/seriouslyjs/GitOnIt/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247215750,"owners_count":20903003,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","github","init","nodejs","npm","pnpm","yarn"],"created_at":"2025-02-10T02:19:34.835Z","updated_at":"2025-12-30T23:08:04.099Z","avatar_url":"https://github.com/seriouslyjs.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NpmGitInit 🚀 - Your Go-To for npm, yarn \u0026 pnpm Init Hooks!\n\n## Description\n\n🛠️ **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.\n\n🌐 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.\n\n🔍 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...\n\n## Features\n\n- **Automated GitHub Repository Creation**: Simplify GitHub repository setup for `npm`, `yarn`, and `pnpm`.\n- **Universal Init Hook**: Automate the `init` command across `npm`, `yarn`, and `pnpm`.\n- **Project Directory Initialization**: Set up your project directory along with a new repository.\n- **Custom GitHub Organization Selection**: Choose a GitHub organization during initialization.\n- **Enhanced Initialization Process**: Automate Git and GitHub setup for `npm init`, `yarn init`, or `pnpm init`.\n\n## Getting Started\n\n### Prerequisites\n\n- [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) installed and configured.\n- [GitHub CLI](https://cli.github.com/manual/installation) installed and authenticated.\n- [`jq`](https://stedolan.github.io/jq/download/) command-line JSON processor installed.\n- [GitHub account](https://github.com/join) for repository creation and management.\n\n### Installation\n\nRun this command in your terminal to install:\n\n```bash\ncurl -sSL https://raw.githubusercontent.com/seriouslyjs/NpmGitInit/master/install.sh | bash\n```\n\nOr 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.\n\n\n### Usage\n\nInitiate a new Node.js project using:\n\n```bash\nnpm init\n\n#Or with yarn:\nyarn init\n\n#Or with pnpm:\npnpm init\n```\n\nFollow the interactive prompts to select an organization and configure your repository.\n\n## How It Works\n\nThe `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:\n\n### Detecting the Current Folder\n\n- 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.\n\n### Creating a GitHub Repository\n\n- 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.\n- If you don't choose an organization, it defaults to creating the repository under your personal GitHub account.\n- The repository is created with the name matching your current directory and is set to private by default.\n\n### Cloning the Repository\n\n- 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.\n- This step links your local directory and the GitHub repository, ready for version control and collaboration.\n\n### Running the Original Init Command\n\n- 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.\n- You'll be prompted with the usual questions by `npm`, `yarn`, or `pnpm` to configure your `package.json`.\n\n### Staging and Committing\n\n- 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.\n\n### Transparency and Control\n\n- By automating these steps, `node-init-wrapper.sh` saves time and reduces repetitive tasks when starting a new Node.js project.\n- 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.\n\n## Ideal for\n\n- Node.js developers using `npm`, `yarn`, or `pnpm` for project management.\n- Those looking to automate the link between `npm | yarn | pnpm init` and GitHub repository creation.\n- Users seeking an extended functionality hook for any of these package managers.\n- Developers aiming to streamline their initial project setup process in Node.js.\n\n## Enhancing Your Experience\n\nBeyond the basic setup, you can further customize and enhance your Node.js project initialization experience. Here are some additional steps you can take:\n\n### Setting Npm Defaults\n\nUsing `npm set`, define default values for your `npm init` process. This saves time and ensures consistency across projects. For example:\n\n- Set your default author name and email:\n\n  ```bash\n  npm set init-author-name \"Your Name\"\n  npm set init-author-email \"your.email@example.com\"\n  npm set init-author-url \"http://yourwebsite.com\"\n  ```\n\n- Set a default license:\n\n  ```bash\n  npm set init-license \"MIT\"\n  ```\n\nThese defaults will be used every time you run `npm|yarn|pnpm init`, streamlining the process.\n\n\n## Contributing\n\nWe welcome contributions from the community. To contribute:\n\n1. Fork the project.\n2. Create a new feature branch (`git checkout -b feature/YourAmazingFeature`).\n3. Commit your changes (`git commit -m 'Add some YourAmazingFeature'`).\n4. Push to the branch (`git push origin feature/YourAmazingFeature`).\n5. Open a pull request.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](https://github.com/seriouslyjs/NpmGitInit/blob/main/LICENSE) file for details.\n\n## Contact\n\nJason Nathan - [@jason_nathan](https://twitter.com/jason_nathan)\n\nProject Link: [https://github.com/seriouslyjs/NpmGitInit](https://github.com/seriouslyjs/NpmGitInit)\n\n## Keywords\n\n- 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.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseriouslyjs%2Fgitonit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fseriouslyjs%2Fgitonit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseriouslyjs%2Fgitonit/lists"}