# @interopio/iocd-cli

CLI tool for setting up, building and packaging io.Connect Desktop projects.

## Requirements

- Node.js ≥18.0.0
- npm ≥8.0.0
- Windows 10+ or macOS 10.15+

## Usage

### 1. Create a new project
```bash
npm install -g @interopio/iocd-cli@latest 
iocd create
```

Follow the instructions.

### 2. Setting up the repository
```bash
cd <proj_name>
npm install
icod setup 
```

### 3. Start io.Connect Desktop in development mode
```bash
iocd start
```

### 4. Build and package for distribution

**Prerequisites:**

#### Windows
Code signing is turned off by default. See [Windows Build Guide](docs/public/8.%20windows-installer.md) for production builds.

#### macOS
For macOS builds, you need:
- Apple Developer Program membership
- Valid code signing certificates
- Xcode and Command Line Tools

See [macOS Build Guide](docs/public/7.%20creating%20an%20installer.md) for detailed setup instructions.

```bash
iocd build
```


### 5. Start template apps in development mode
```bash
iocd apps start
```

### 6. Run tests
```bash
iocd test
```

### Configuration

The main configuration file is located at `config/iocd.cli.config.json`

**Note 1**: Look at the `config/iocd.cli.config.json` win/mac sections for code signing options on Windows and macOS  
**Note 2**: Look at `config/forge.config.js` for configuration about packaging and publishing

### License key

Your license key should be at `config/iocd.license.key`
