forest-cli
Version:
The Lumberjacks' toolbelt is the Forest CLI which makes easy to manage your back office application directly from the terminal.
1,847 lines • 93.7 kB
JSON
{
"commands": {
"branch": {
"aliases": [
"branches"
],
"args": {
"BRANCH_NAME": {
"description": "The name of the branch to create.",
"name": "BRANCH_NAME",
"required": false
}
},
"description": "Create a new branch or list your existing branches.",
"flags": {
"projectId": {
"description": "The id of the project to create a branch in.",
"name": "projectId",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"delete": {
"char": "d",
"description": "Delete the branch.",
"name": "delete",
"allowNo": false,
"type": "boolean"
},
"force": {
"description": "When deleting a branch, skip confirmation.",
"name": "force",
"allowNo": false,
"type": "boolean"
},
"help": {
"description": "Display usage information.",
"name": "help",
"allowNo": false,
"type": "boolean"
},
"format": {
"char": "format",
"description": "Output format.",
"name": "format",
"default": "table",
"hasDynamicHelp": false,
"multiple": false,
"options": [
"table",
"json"
],
"type": "option"
},
"origin": {
"char": "o",
"description": "Set the origin of the created branch.",
"name": "origin",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "branch",
"pluginAlias": "forest-cli",
"pluginName": "forest-cli",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"branch.js"
]
},
"deploy": {
"aliases": [
"environments:deploy"
],
"args": {},
"description": "Deploy layout changes of the current branch to the reference one.",
"flags": {
"help": {
"description": "Display usage information.",
"name": "help",
"allowNo": false,
"type": "boolean"
},
"force": {
"char": "f",
"description": "Skip deploy confirmation.",
"name": "force",
"allowNo": false,
"type": "boolean"
},
"projectId": {
"char": "p",
"description": "The id of the project you want to deploy.",
"name": "projectId",
"default": null,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "deploy",
"pluginAlias": "forest-cli",
"pluginName": "forest-cli",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"deploy.js"
]
},
"environments": {
"aliases": [
"environments:list"
],
"args": {},
"description": "Manage environments.",
"flags": {
"projectId": {
"char": "p",
"description": "Forest project ID.",
"name": "projectId",
"default": null,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"format": {
"char": "format",
"description": "Ouput format.",
"name": "format",
"default": "table",
"hasDynamicHelp": false,
"multiple": false,
"options": [
"table",
"json"
],
"type": "option"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "environments",
"pluginAlias": "forest-cli",
"pluginName": "forest-cli",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"environments.js"
]
},
"init": {
"aliases": [
"environments:init"
],
"args": {},
"description": "Set up your development environment in your current folder.",
"flags": {
"projectId": {
"char": "p",
"description": "The id of the project you want to init.",
"name": "projectId",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "init",
"pluginAlias": "forest-cli",
"pluginName": "forest-cli",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"init.js"
]
},
"login": {
"aliases": [],
"args": {},
"description": "Sign in with an existing account.",
"flags": {
"email": {
"char": "e",
"description": "Your Forest Admin account email.",
"name": "email",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"password": {
"char": "P",
"description": "Your Forest Admin account password (ignored if token is set).",
"name": "password",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"token": {
"char": "t",
"description": "Your Forest Admin account token (replaces password).",
"name": "token",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "login",
"pluginAlias": "forest-cli",
"pluginName": "forest-cli",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"login.js"
]
},
"logout": {
"aliases": [],
"args": {},
"description": "Sign out of your account.",
"flags": {},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "logout",
"pluginAlias": "forest-cli",
"pluginName": "forest-cli",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"logout.js"
]
},
"projects": {
"aliases": [
"projects:list"
],
"args": {},
"description": "Manage projects.",
"flags": {
"format": {
"char": "format",
"description": "Ouput format.",
"name": "format",
"default": "table",
"hasDynamicHelp": false,
"multiple": false,
"options": [
"table",
"json"
],
"type": "option"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "projects",
"pluginAlias": "forest-cli",
"pluginName": "forest-cli",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"projects.js"
]
},
"push": {
"aliases": [
"branches:push"
],
"args": {},
"description": "Push layout changes of your current branch to the branch origin.",
"flags": {
"force": {
"description": "Skip push changes confirmation.",
"name": "force",
"allowNo": false,
"type": "boolean"
},
"help": {
"description": "Display usage information.",
"name": "help",
"allowNo": false,
"type": "boolean"
},
"projectId": {
"char": "p",
"description": "The id of the project to work on.",
"name": "projectId",
"default": null,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "push",
"pluginAlias": "forest-cli",
"pluginName": "forest-cli",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"push.js"
]
},
"set-origin": {
"aliases": [
"branches:origin"
],
"args": {
"ENVIRONMENT_NAME": {
"description": "The environment to set as origin.",
"name": "ENVIRONMENT_NAME",
"required": false
}
},
"description": "Set an environment as your branch's origin. Your branch will build on top of that environment's layout.",
"flags": {
"help": {
"description": "Display usage information.",
"name": "help",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "set-origin",
"pluginAlias": "forest-cli",
"pluginName": "forest-cli",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"set-origin.js"
]
},
"switch": {
"aliases": [
"branch:switch"
],
"args": {
"BRANCH_NAME": {
"description": "The name of the local branch to set as current.",
"name": "BRANCH_NAME",
"required": false
}
},
"description": "Switch to another branch in your local development environment.",
"flags": {
"help": {
"description": "Display usage information.",
"name": "help",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "switch",
"pluginAlias": "forest-cli",
"pluginName": "forest-cli",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"switch.js"
]
},
"user": {
"aliases": [],
"args": {},
"description": "Display the current logged in user.",
"flags": {},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "user",
"pluginAlias": "forest-cli",
"pluginName": "forest-cli",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"user.js"
]
},
"environments:create": {
"aliases": [],
"args": {},
"description": "Create a new environment.",
"flags": {
"projectId": {
"char": "p",
"description": "Forest project ID.",
"name": "projectId",
"default": null,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"name": {
"char": "n",
"description": "Environment name.",
"name": "name",
"required": true,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"url": {
"char": "u",
"description": "Application URL. Required, except with --type production where it may be omitted.",
"name": "url",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"type": {
"char": "t",
"description": "Environment type (defaults to \"remote\" when omitted). Use \"production\" to create the first production environment. Development environments are created with \"forest init\".",
"name": "type",
"hasDynamicHelp": false,
"multiple": false,
"options": [
"production",
"remote"
],
"type": "option"
},
"format": {
"char": "format",
"description": "Ouput format.",
"name": "format",
"default": "table",
"hasDynamicHelp": false,
"multiple": false,
"options": [
"table",
"json"
],
"type": "option"
},
"disableRoles": {
"description": "Disable roles on new environment.",
"name": "disableRoles",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "environments:create",
"pluginAlias": "forest-cli",
"pluginName": "forest-cli",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"environments",
"create.js"
]
},
"environments:delete": {
"aliases": [],
"args": {
"environmentId": {
"description": "ID of an environment.",
"name": "environmentId",
"required": true
}
},
"description": "Delete an environment.",
"flags": {
"force": {
"char": "force",
"description": "Force delete.",
"name": "force",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "environments:delete",
"pluginAlias": "forest-cli",
"pluginName": "forest-cli",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"environments",
"delete.js"
]
},
"environments:get": {
"aliases": [],
"args": {
"environmentId": {
"description": "ID of an environment.",
"name": "environmentId",
"required": true
}
},
"description": "Get the configuration of an environment.",
"flags": {
"format": {
"char": "format",
"description": "Output format.",
"name": "format",
"default": "table",
"hasDynamicHelp": false,
"multiple": false,
"options": [
"table",
"json"
],
"type": "option"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "environments:get",
"pluginAlias": "forest-cli",
"pluginName": "forest-cli",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"environments",
"get.js"
]
},
"environments:reset": {
"aliases": [],
"args": {},
"description": "Reset a remote environment by removing all layout changes",
"flags": {
"environment": {
"char": "e",
"description": "The remote environment name to reset.",
"name": "environment",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"force": {
"description": "Skip reset changes confirmation.",
"name": "force",
"allowNo": false,
"type": "boolean"
},
"projectId": {
"char": "p",
"description": "The id of the project to work on.",
"name": "projectId",
"default": null,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "environments:reset",
"pluginAlias": "forest-cli",
"pluginName": "forest-cli",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"environments",
"reset.js"
]
},
"environments:update": {
"aliases": [],
"args": {},
"description": "Update an environment.",
"flags": {
"environmentId": {
"char": "e",
"description": "The forest environment ID to update.",
"name": "environmentId",
"required": true,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"name": {
"char": "n",
"description": "To update the environment name.",
"name": "name",
"required": false,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"url": {
"char": "u",
"description": "To update the application URL.",
"name": "url",
"required": false,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "environments:update",
"pluginAlias": "forest-cli",
"pluginName": "forest-cli",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"environments",
"update.js"
]
},
"layout:apply": {
"aliases": [],
"args": {
"file": {
"description": "Layout file to apply (e.g. forest-layout.json).",
"name": "file",
"required": true
}
},
"description": "Apply a forest-layout.json to an environment (pushes JSON-Patch changes).",
"flags": {
"env": {
"char": "e",
"description": "Environment to apply to (name or id). Prompted if omitted.",
"name": "env",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"team": {
"char": "t",
"description": "Team to apply to (name or id). Prompted if omitted.",
"name": "team",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"projectId": {
"char": "p",
"description": "Id of the project (resolved/prompted when omitted).",
"name": "projectId",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"force": {
"char": "f",
"description": "Skip the confirmation prompt.",
"name": "force",
"allowNo": false,
"type": "boolean"
},
"with-workflows": {
"description": "Also upload workflow BPMN sidecars (workflows/<id>.bpmn) to the target env — the round-trip counterpart of `pull --with-workflows`.",
"name": "with-workflows",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "layout:apply",
"pluginAlias": "forest-cli",
"pluginName": "forest-cli",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"layout",
"apply.js"
]
},
"layout:patch": {
"aliases": [],
"args": {
"file": {
"description": "JSON patch file to apply. Use \"-\" or omit to read from stdin.",
"name": "file",
"required": false
}
},
"description": "Patch the layout directly (single PATCH per domain, like the front — no pull/apply).",
"flags": {
"dry-run": {
"description": "Print operations without sending them.",
"name": "dry-run",
"allowNo": false,
"type": "boolean"
},
"env": {
"char": "e",
"description": "Environment name or id.",
"name": "env",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"force": {
"char": "f",
"description": "Skip the confirmation prompt (required when reading from stdin).",
"name": "force",
"allowNo": false,
"type": "boolean"
},
"projectId": {
"char": "p",
"description": "Project id.",
"name": "projectId",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"team": {
"char": "t",
"description": "Team name or id.",
"name": "team",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "layout:patch",
"pluginAlias": "forest-cli",
"pluginName": "forest-cli",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"layout",
"patch.js"
]
},
"layout:pull": {
"aliases": [],
"args": {},
"description": "Pull the layout (rendering) of an environment into a forest-layout.json file.",
"flags": {
"env": {
"char": "e",
"description": "Environment to pull from (name or id). Defaults to the environment of FOREST_ENV_SECRET when set, otherwise the development environment.",
"name": "env",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"team": {
"char": "t",
"description": "Team whose layout to pull (name or id). Defaults to the \"Operations\" team.",
"name": "team",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"projectId": {
"char": "p",
"description": "Id of the project (resolved automatically when you only have one).",
"name": "projectId",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"out": {
"char": "o",
"description": "Output file path (default: forest-layout.json).",
"name": "out",
"default": "forest-layout.json",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"with-workflows": {
"description": "Also download each workflow's BPMN into sidecar files (workflows/<id>.bpmn) for round-trip.",
"name": "with-workflows",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "layout:pull",
"pluginAlias": "forest-cli",
"pluginName": "forest-cli",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"layout",
"pull.js"
]
},
"projects:create": {
"aliases": [],
"args": {
"applicationName": {
"description": "Name of the project to create.",
"name": "applicationName",
"required": true
}
},
"description": "Create a new Forest Admin project.",
"flags": {
"databaseConnectionURL": {
"char": "c",
"description": "Enter the database credentials with a connection URL.",
"name": "databaseConnectionURL",
"required": false,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"databaseDialect": {
"char": "d",
"description": "Enter your database dialect.",
"exclusive": [
"databaseConnectionURL"
],
"name": "databaseDialect",
"required": false,
"hasDynamicHelp": false,
"multiple": false,
"options": [
"mongodb",
"mssql",
"mysql / mariadb",
"postgres"
],
"type": "option"
},
"databaseName": {
"char": "n",
"description": "Enter your database name.",
"exclusive": [
"databaseConnectionURL"
],
"name": "databaseName",
"required": false,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"databaseSchema": {
"char": "s",
"description": "Enter your database schema.",
"name": "databaseSchema",
"required": false,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"databaseHost": {
"char": "h",
"description": "Enter your database host.",
"exclusive": [
"databaseConnectionURL"
],
"name": "databaseHost",
"required": false,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"databasePort": {
"char": "p",
"description": "Enter your database port.",
"exclusive": [
"databaseConnectionURL"
],
"name": "databasePort",
"required": false,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"databaseUser": {
"char": "u",
"description": "Enter your database user.",
"exclusive": [
"databaseConnectionURL"
],
"name": "databaseUser",
"required": false,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"databasePassword": {
"description": "Enter your database password.",
"exclusive": [
"databaseConnectionURL"
],
"name": "databasePassword",
"required": false,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"databaseSSL": {
"description": "Use SSL for database connection.",
"exclusive": [
"databaseSslMode"
],
"name": "databaseSSL",
"required": false,
"allowNo": false,
"type": "boolean"
},
"mongoDBSRV": {
"description": "Use SRV DNS record for mongoDB connection.",
"exclusive": [
"databaseConnectionURL"
],
"name": "mongoDBSRV",
"required": false,
"allowNo": false,
"type": "boolean"
},
"applicationHost": {
"char": "H",
"description": "Hostname of your admin backend application.",
"name": "applicationHost",
"required": false,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"applicationPort": {
"char": "P",
"description": "Port of your admin backend application.",
"name": "applicationPort",
"required": false,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "projects:create",
"pluginAlias": "forest-cli",
"pluginName": "forest-cli",
"pluginType": "core",
"options": {
"databaseConnectionURL": {
"oclif": {
"char": "c",
"description": "Enter the database credentials with a connection URL."
},
"prompter": null
},
"databaseDialect": {
"choices": [
{
"name": "mongodb",
"value": "mongodb"
},
{
"name": "mssql",
"value": "mssql"
},
{
"name": "mysql / mariadb",
"value": "mysql"
},
{
"name": "postgres",
"value": "postgres"
}
],
"exclusive": [
"databaseConnectionURL"
],
"oclif": {
"char": "d",
"description": "Enter your database dialect."
},
"prompter": {
"question": "What's the database type?"
}
},
"databaseName": {
"exclusive": [
"databaseConnectionURL"
],
"oclif": {
"char": "n",
"description": "Enter your database name."
},
"prompter": {
"question": "What's the database name?"
}
},
"databaseSchema": {
"oclif": {
"char": "s",
"description": "Enter your database schema."
},
"prompter": {
"question": "What's the database schema? [optional]",
"description": "Leave blank by default"
}
},
"databaseHost": {
"exclusive": [
"databaseConnectionURL"
],
"default": "localhost",
"oclif": {
"char": "h",
"description": "Enter your database host."
},
"prompter": {
"question": "What's the database hostname?"
}
},
"databasePort": {
"exclusive": [
"databaseConnectionURL"
],
"oclif": {
"char": "p",
"description": "Enter your database port."
},
"prompter": {
"question": "What's the database port?"
}
},
"databaseUser": {
"exclusive": [
"databaseConnectionURL"
],
"oclif": {
"char": "u",
"description": "Enter your database user."
},
"prompter": {
"question": "What's the database user?"
}
},
"databasePassword": {
"exclusive": [
"databaseConnectionURL"
],
"oclif": {
"description": "Enter your database password."
},
"prompter": {
"question": "What's the database password? [optional]"
}
},
"databaseSSL": {
"exclusive": [
"databaseSslMode"
],
"type": "boolean",
"default": false,
"oclif": {
"description": "Use SSL for database connection."
},
"prompter": null
},
"mongoDBSRV": {
"type": "boolean",
"exclusive": [
"databaseConnectionURL"
],
"default": false,
"oclif": {
"description": "Use SRV DNS record for mongoDB connection."
},
"prompter": {
"question": "Use a SRV connection string?"
}
},
"applicationHost": {
"default": "http://localhost",
"oclif": {
"char": "H",
"description": "Hostname of your admin backend application."
},
"prompter": {
"question": "What's the IP/hostname on which your application will be running?"
}
},
"applicationPort": {
"default": "3310",
"oclif": {
"char": "P",
"description": "Port of your admin backend application."
},
"prompter": {
"question": "What's the port on which your application will be running?"
}
}
},
"isESM": false,
"relativePath": [
"dist",
"commands",
"projects",
"create.js"
]
},
"projects:get": {
"aliases": [],
"args": {
"projectId": {
"description": "ID of a project.",
"name": "projectId",
"required": true
}
},
"description": "Get the configuration of a project.",
"flags": {
"format": {
"char": "f",
"description": "Ouput format.",
"name": "format",
"default": "table",
"hasDynamicHelp": false,
"multiple": false,
"options": [
"table",
"json"
],
"type": "option"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "projects:get",
"pluginAlias": "forest-cli",
"pluginName": "forest-cli",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"projects",
"get.js"
]
},
"roles:apply": {
"aliases": [],
"args": {
"file": {
"description": "Path to the wide-format CSV file.",
"name": "file",
"required": true
}
},
"description": "Apply a wide-format CSV to update role permissions in an environment.",
"flags": {
"env": {
"char": "e",
"description": "Environment name to apply to.",
"name": "env",
"required": true,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"force": {
"char": "F",
"description": "Skip confirmation prompt.",
"name": "force",
"allowNo": false,
"type": "boolean"
},
"projectId": {
"char": "p",
"description": "Forest project ID.",
"name": "projectId",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "roles:apply",
"pluginAlias": "forest-cli",
"pluginName": "forest-cli",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"roles",
"apply.js"
]
},
"roles:copy": {
"aliases": [],
"args": {},
"description": "Copy role permissions from one environment to another.",
"flags": {
"from": {
"char": "f",
"description": "Source environment name.",
"name": "from",
"required": true,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"to": {
"char": "t",
"description": "Destination environment name.",
"name": "to",
"required": true,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"projectId": {
"char": "p",
"description": "Forest project ID.",
"name": "projectId",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "roles:copy",
"pluginAlias": "forest-cli",
"pluginName": "forest-cli",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"roles",
"copy.js"
]
},
"roles:create": {
"aliases": [],
"args": {},
"description": "Create a new role in a project.",
"flags": {
"name": {
"char": "n",
"description": "Name of the role to create.",
"name": "name",
"required": true,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"projectId": {
"char": "p",
"description": "Forest project ID.",
"name": "projectId",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "roles:create",
"pluginAlias": "forest-cli",
"pluginName": "forest-cli",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"roles",
"create.js"
]
},
"roles:export": {
"aliases": [],
"args": {},
"description": "Export all roles and their permissions to a wide CSV file.",
"flags": {
"env": {
"char": "e",
"description": "Environment name to export permissions for.",
"name": "env",
"required": true,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"projectId": {
"char": "p",
"description": "Forest project ID.",
"name": "projectId",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"output": {
"char": "o",
"description": "Output file path (default: stdout).",
"name": "output",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "roles:export",
"pluginAlias": "forest-cli",
"pluginName": "forest-cli",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"roles",
"export.js"
]
},
"schema:apply": {
"aliases": [],
"args": {},
"description": "Apply the current schema of your repository to the specified environment (using your \".forestadmin-schema.json\" file).",
"flags": {
"secret": {
"char": "s",
"description": "Environment secret of the project (FOREST_ENV_SECRET).",
"name": "secret",
"required": false,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "schema:apply",
"pluginAlias": "forest-cli",
"pluginName": "forest-cli",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"schema",
"apply.js"
]
},
"schema:diff": {
"aliases": [],
"args": {
"environmentIdFrom": {
"description": "ID of an environment to compare.",
"name": "environmentIdFrom",
"required": true
},
"environmentIdTo": {
"description": "ID of an environment to compare.",
"name": "environmentIdTo",
"required": true
}
},
"description": "Allow to compare two environment schemas",
"flags": {
"help": {
"description": "Display usage information.",
"name": "help",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "schema:diff",
"pluginAlias": "forest-cli",
"pluginName": "forest-cli",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"schema",
"diff.js"
]
},
"schema:update": {
"aliases": [],
"args": {},
"description": "Refresh your schema by generating files that do not currently exist.",
"flags": {
"config": {
"char": "c",
"dependsOn": [],
"description": "Database configuration file to use.",
"exclusive": [],
"name": "config",
"required": false,
"default": "config/databases.js",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"outputDirectory": {
"char": "o",
"dependsOn": [],
"description": "Output directory where to generate new files.",
"exclusive": [],
"name": "outputDirectory",
"required": false,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "schema:update",
"pluginAlias": "forest-cli",
"pluginName": "forest-cli",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"schema",
"update.js"
]
},
"teams:copy-layout": {
"aliases": [],
"args": {},
"description": "Copy a team's whole layout onto another team of the same project.",
"flags": {
"from": {
"char": "f",
"description": "Name of the team to copy the layout from.",
"name": "from",
"required": true,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"to": {
"char": "t",
"description": "Name of the team to copy the layout to (its layout is overwritten).",
"name": "to",
"required": true,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"projectId": {
"char": "p",
"description": "Forest project ID.",
"name": "projectId",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"force": {
"description": "Skip the confirmation prompt.",
"name": "force",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "teams:copy-layout",
"pluginAlias": "forest-cli",
"pluginName": "forest-cli",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"teams",
"copy-layout.js"
]
},
"teams:create": {
"aliases": [],
"args": {},
"description": "Create a new team in a project.",
"flags": {
"name": {
"char": "n",
"description": "Name of the team to create.",
"name": "name",
"required": true,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"projectId": {
"char": "p",
"description": "Forest project ID.",
"name": "projectId",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "teams:create",
"pluginAlias": "forest-cli",
"pluginName": "forest-cli",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"teams",
"create.js"
]
},
"teams:delete": {
"aliases": [],
"args": {},
"description": "Delete a team from a project.",
"flags": {
"name": {
"char": "n",
"description": "Name of the team to delete.",
"name": "name",
"required": true,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"projectId": {
"char": "p",
"description": "Forest project ID.",
"name": "projectId",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"force": {
"description": "Skip the confirmation prompt.",
"name": "force",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "teams:delete",
"pluginAlias": "forest-cli",
"pluginName": "forest-cli",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"teams",
"delete.js"
]
},
"users:edit": {
"aliases": [],
"args": {},
"description": "Edit a user's role, team(s) or permission level.",
"flags": {
"email": {
"char": "e",
"description": "Email of the user to edit.",
"name": "email",
"required": true,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"role": {
"char": "r",
"description": "New role name to assign.",
"name": "role",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"team": {
"char": "t",
"description": "Team name to set for this project. Repeatable; this REPLACES the user’s current team set on the project.",
"name": "team",
"hasDynamicHelp": false,
"multiple": true,
"type": "option"
},
"permission-level": {
"char": "l",
"description": "New permission level.",
"name": "permission-level",
"hasDynamicHelp": false,
"multiple": false,
"options": [
"admin",
"editor",
"user",
"developer",
"manager"
],
"type": "option"
},
"projectId": {
"char": "p",
"description": "Forest project ID.",
"name": "projectId",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"force": {
"char": "f",
"description": "Skip the confirmation prompt when teams would be removed.",
"name": "force",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "users:edit",
"pluginAlias": "forest-cli",
"pluginName": "forest-cli",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"users",
"edit.js"
]
},
"users:invite": {
"aliases": [],
"args": {},
"description": "Invite users to a project.",
"flags": {
"email": {
"char": "e",
"description": "Email of the user to invite (repeat the flag to invite several users).",
"name": "email",
"required": true,
"hasDynamicHelp": false,
"multiple": true,
"type": "option"
},
"team": {
"char": "t",
"description": "Team name to add the invited users to (prompted if omitted and several exist).",
"name": "team",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"role": {
"char": "r",
"description": "Role name to assign (prompted if omitted and several exist).",
"name": "role",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"permission-level": {
"char": "l",
"description": "Permission level of the invited users.",
"name": "permission-level",
"required": true,
"hasDynamicHelp": false,
"multiple": false,
"options": [
"admin",
"editor",
"user",
"developer",
"manager"
],
"type": "option"
},
"projectId": {
"char": "p",
"description": "Forest project ID.",
"name": "projectId",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"format": {
"char": "f",
"description": "Output format.",
"name": "format",
"default": "table",
"hasDynamicHelp": false,
"multiple": false,
"options": [
"table",
"json"
],
"type": "option"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "users:invite",
"pluginAlias": "forest-cli",
"pluginName": "forest-cli",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"users",
"invite.js"
]
},
"users:list": {
"aliases": [],
"args": {},
"description": "List all users of a project.",
"flags": {
"projectId": {
"char": "p",
"description": "Forest project ID.",
"name": "projectId",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"format": {
"char": "f",
"description": "Output format.",
"name": "format",
"default": "table",
"hasDynamicHelp": false,
"multiple": false,
"options": [
"table",
"json"
],
"type": "option"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "users:list",
"pluginAlias": "forest-cli",
"pluginName": "forest-cli",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"users",
"list.js"
]
},
"workflow:apply": {
"aliases": [],
"args": {
"file": {
"description": "JSON workflow spec ({ name, collection, steps, id?, segments?, position?, start?, version? }). \"-\" or omit to read stdin.",
"name": "file",
"required": false
}
},
"description": "Create or update a workflow from a JSON steps spec (compiles to BPMN and uploads it). Reading the spec from stdin disables prompts: pass -p/-e/-t an