Seed Project
Overview
A seed project has separate settings for the product, the CLI, and packaging:
| File | Description |
|---|---|
package.json |
Product name, version, description, dependencies, and NPM scripts. |
config/iocd.cli.config.json |
Components, app processing, license handling, and code signing. |
config/forge.config.js |
Electron Forge makers, publishers, and packaging hooks. |
config/iocd.license.key |
License key for io.Connect Desktop. |
Platform settings belong in the modifications applied to the downloaded components. The CLI configuration controls how the project is prepared and built.
Basic Settings
The create command populates the product metadata in package.json. To change it, edit the corresponding fields:
{
"name": "my-product-slug",
"version": "1.0.0",
"description": "My product description.",
"productName": "My Product Name",
"author": "My Company"
}
| Property | Type | Description |
|---|---|---|
"author" |
string |
Company name, also used to generate copyright information. |
"description" |
string |
Product description in installers and metadata. |
"name" |
string |
Product slug used for the executable and package names. |
"productName" |
string |
Product name displayed to users. |
"version" |
string |
Version of your platform distribution. |
CLI Configuration
The iocd.cli.config.json file is located in the /config folder. The following example demonstrates how to select a component store and request the latest iocd component:
{
"$schema": "../node_modules/@interopio/iocd-cli/dist/schemas/iocd.cli.config.schema.json",
"components": {
"store": {
"github": {
"repo": "interopio/iocd-components/releases"
}
},
"list": {
"iocd": "latest"
}
}
}The "$schema" property enables completion and validation in editors that support JSON schemas. The schema is distributed in the /node_modules/@interopio/iocd-cli/dist/schemas folder.
ℹ️ For details on stores, versions, and component commands, see the Components section.
License Key
io.Connect Desktop requires a valid license key. The CLI prompts for the key during project creation and saves it to config/iocd.license.key. Replace the contents of this file when renewing or changing the license.
ℹ️ For details on obtaining a license key, contact us.
⚠️ Note that you must never commit
iocd.license.keyto your repository. Generated projects exclude this file via.gitignore.
For automation, supply the key via the IOCD_LICENSE_KEY environment variable. Store the value in the secret storage of your CI provider and make it available to the setup, test, and build steps that require it.
By default, the CLI writes the key to a license.key file in the resources folder of the iocd component when preparing the platform for development, testing, or a build, so the built packages include the license. To exclude the license from the packages, set the "copyLicenseToOutput" property of the "license" object in config/iocd.cli.config.json to false, then provide the license to users in another supported way. This setting also stops the copy in development mode:
{
"license": {
"copyLicenseToOutput": false
}
}ℹ️ For details on the generated workflow, see the Building for Production > CI/CD Automation section.