An open API service indexing awesome lists of open source software.

https://github.com/initx-collective/initx

A more convenient scripting engine
https://github.com/initx-collective/initx

initx

Last synced: 29 days ago
JSON representation

A more convenient scripting engine

Awesome Lists containing this project

README

          

initx ⚙️

initx A more convenient scripting engine

npx initx <something>

## What is it?

`initx` can quickly execute some scripts through plug-ins to simplify complex functions

like ...

Set the git username and email address via @initx-plugin/git plugin

```bash
# before
git config --global user.name "foo"
git config --global user.email "foo@example.com"

# after
initx user foo foo@example.com
```

Copy SSH or GPG public key via @initx-plugin/cp plugin

```bash
# before
gpg -k # get the key id
gpg --armor --export # export the key

# after
initx cp gpg

# before
# open ~/.ssh/id_rsa.pub or C:/Users//.ssh/id_rsa.pub and copy it

# after
initx cp ssh
```

Manage code projects using @initx-plugin/pm

```bash
# before
# open github, copy clone url
# use terminal cd to ~/projects, git clone
# maybe more steps

# after
initx pm add ~/projects # add projects directory, only need to do it once
initx create user/repo
# or initx pm create user/repo project-name
```

## Usage

Install it globally

```bash
npm i -g initx
```

Then you can ignore `npx`. You can also use `ix` as a short command alias

```bash
initx [options]
# or
ix [options]
```

Use various functions by installing plugins

```bash
initx plugin add
```

This will install the `@initx-plugin/git` plugin

```bash
initx plugin add git
```

## Plugins

- [@initx-plugin/git](https://github.com/initx-collective/initx-plugin-git)
- [@initx-plugin/gpg](https://github.com/initx-collective/initx-plugin-gpg)
- [@initx-plugin/cp](https://github.com/initx-collective/initx-plugin-cp)
- [@initx-plugin/pm](https://github.com/initx-collective/initx-plugin-pm)

Use [initx-plugin-starter](https://github.com/initx-collective/initx-plugin-starter) to get started

## Acknowledgement

- [cac](https://github.com/cacjs/cac)
- [ora](https://github.com/sindresorhus/ora)
- [defu](https://github.com/unjs/defu)
- [pathe](https://github.com/unjs/pathe)
- [tinyexec](https://github.com/tinylibs/tinyexec)
- [importx](https://github.com/antfu-collective/importx)
- [inquirer](https://github.com/SBoudrias/Inquirer.js)
- [which](https://github.com/npm/node-which)