semvec/pypi-packages huggingface dataset:
neucli 0.3.5
Neulabs cli
License: Apache 2.0
Requires Python: >=3.8

---
id: index
title: Neucli
---

# Neulabs CLI

The neulabs CLI is used to aggregate all those activities and commands useful to various developers, reducing development costs and creating shared standards.
The goal of `neucli` is to facilitate the generation and use of standard components such as documentation structure, GitHub actions for releases, and more.

**Neucli** is based on [Taskfile](https://taskfile.dev/), a task runner that allows the creation of modular CLIs through YAML configurations. Each command has its own structure, some of them are Python modules, while others are simple Bash scripts. This approach makes it easy to add additional modules in various programming languages, and you can also create your own custom commands locally and add them to the CLI.

## Installation

### Requirements
- Python >= 3.8 \[[install](https://www.python.org/downloads/)\]
- Nodjs >= 16.14 \[[install](https://github.com/nvm-sh/nvm)\]
- Homebrew (only on MacOS)
- GitHub access via SSH

### Steps

**Install**

1. Donwload **[taskfiles/cli/cli.yml](https://github.com/neulabscom/neulabs-cli/raw/main/taskfiles/cli/cli.yml)** from [neulabs-cli](https://github.com/neulabscom/neulabs-cli) repository
2. Install **task** command
   - [ *Linux* ] `npm install -g @go-task/cli`
   - [ *MacOS* ] `brew install go-task`
3. Install **neucli**:
    ```
    pip3 install neucli
    ```
4. Delete **cli.yml** and restart terminal
5. Run `neucli cli:version`


**Update**

1. `neucli cli:update`

## Getting started

### Help command

```
neucli help
```

### Summary command

```
neucli summary -- command
```

### Pass args to command

```
neucli command -- -opt-1 value --opt-2 -x --zyx
```

### Own cli commands

- In the file `~/.neulabs-cli/Taskfile.local.yml` you can add your own commands as desired.
- Then you can use your command with `neucli local:command-name`

## Dev mode

**Setup**
    git clone https://github.com/neulabscom/neulabs-cli.git && cd neulabs-cli
    git submodule update --init --recursive

    task dev:setup:installer

    source .activate
    neucli --debug cli:deps:all

**Test neucli commands**

    source .activate
    neucli --debug dev:utils:lint

**Test installer with debug mode**

    neucli --debug cli:installer