{"id":21190106,"url":"https://github.com/reactiumcore/cli","last_synced_at":"2025-03-14T20:44:20.589Z","repository":{"id":27082097,"uuid":"112371330","full_name":"ReactiumCore/CLI","owner":"ReactiumCore","description":"A command-line interface for generating Atomic Reactor elements.","archived":false,"fork":false,"pushed_at":"2024-05-03T22:20:17.000Z","size":1322,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-10-30T08:53:07.606Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ReactiumCore.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-11-28T18:12:22.000Z","updated_at":"2024-05-03T22:17:02.000Z","dependencies_parsed_at":"2024-04-15T00:25:16.360Z","dependency_job_id":"d492395c-81e7-48d8-aff0-fdc814d9504a","html_url":"https://github.com/ReactiumCore/CLI","commit_stats":{"total_commits":345,"total_committers":12,"mean_commits":28.75,"dds":0.6811594202898551,"last_synced_commit":"12a25939ab2e8ac35cc43f14064eec6e268bbd6c"},"previous_names":["atomic-reactor/cli"],"tags_count":163,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReactiumCore%2FCLI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReactiumCore%2FCLI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReactiumCore%2FCLI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReactiumCore%2FCLI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ReactiumCore","download_url":"https://codeload.github.com/ReactiumCore/CLI/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243646539,"owners_count":20324583,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-20T18:59:27.175Z","updated_at":"2025-03-14T20:44:20.566Z","avatar_url":"https://github.com/ReactiumCore.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\n# Atomic Reactor CLI\nA CLI for creating Reactium / Actinium projects.\n\n\n# Installation\n```\n$ npm install -g reactium\n```\n\n\n# Usage\n\n```\n$ reactium \u003ccommand\u003e [options]\n\nUsage: reactium \u003ccommand\u003e [options]\n\nOptions:\n  -v, --version             output the version number\n  -h, --help                display help for command\n\nCommands:\n  init [options]            Initialize a new Reactium project\n  label [options]           Label a directory for use in other commands.\n  update                    Update Reactium / Actinium in current directory.\n  commander [options]       Create a CLI function.\n  config [options]          Set ARCLI key:value pairs.\n  install [options] [name]  Install an Actinium or Reactium Plugin.\n  list                      List arcli packages.\n  publish [options]         Publish an Actinium or Reactium module.\n  uninstall \u003cname\u003e          Uninstall an Actinium or Reactium Plugin.\n```\n\n## Commands\n\n### Reactium Install\n\nDownloads and installs Reactium into the current working directory. If the directory is not empty, you will be prompted to overwrite it or cancel the operation.\n\n#### Usage\n\n```\n$ reactium init\n```\n\n\u003e _The config `reactium.repo` url is used when downloading Reactium. The config `actinium.repo` url is used when downloading Reactium._\n\n### `\u003cupdate\u003e`\nDetects if the current directory is Reactium or Actinium project. Downloads and installs Reactium or Actinium `.core` and updates to the `package.json` into the current working directory.\nThe current version of your project will be backed up to the `.BACKUP` directory before update.\n\n#### Usage\n```\n$ reactium update\n```\n\n### `\u003cconfig\u003e`\nSet or change configuration options.\n\n#### Usage\n```\n$ reactium config --key 'reactium.repo' --value 'https://github.com/Atomic-Reactor/Reactium/archive/develop.zip'\n```\n\n_The above would set the Reactium install package to the `develop` branch._\n\n\n#### Flags:\n--key, --value\n\n##### -- key\nThe config object key.\nUse dot notation to access deeper keys in the config object.\n\n##### --value\nThe config object value.\nYou can set array values by putting a space between each value.\n\n```\n$ reactium config --key 'toolkit.types' --value 'atom molecule organism template link page'\n```\n\n###### Default config\n```\n{\n  \"prompt\": {\n    \"delimiter\": \"\",\n    \"prefix\": \"[ARCLI] \u003e \",\n    \"prefixColor\": \"cyan\"\n  },\n  \"commands\": [\n    \"[root]/commands\",                      // Resolves to the ~/global/node_modules/ARCLI/commands directory. Used for global commands.\n    \"[cwd]/.core/.cli/commands\",            // Resolves to the ~/project/.core/.cli/commands directory. Used for application core commands.\n    \"[cwd]/.cli/commands\"                   // Resolves to the ~/project/.cli/commands directory. Used for project specific commands.\n    \"[cwd]/node_modules/**/.cli/commands\"   // Resolves to any .cli/commands directories in the ~/project/node_modules directory.\n  ],\n  \"reactium\": {\n    \"repo\": \"https://github.com/Atomic-Reactor/Reactium/archive/master.zip\",\n    \"types\": [\n      \"functional\",\n      \"class\"\n    ]\n  },\n  \"actinium\": {\n    \"repo\": \"https://github.com/Atomic-Reactor/Actinium-2.0/archive/master.zip\"\n  },\n  \"registry\": {\n    \"app\": \"ReactiumRegistry\",\n    \"server\": \"https://v1.reactium.io/api\"\n  },\n  \"toolkit\": {\n    \"types\": [\n      \"atom\",\n      \"molecule\",\n      \"organism\",\n      \"template\",\n      \"link\"\n    ]\n  }\n}\n```\n\n\n### `\u003ccommander\u003e`\nCreate custom ARCLI commands.\n\n#### Usage\n```\n$ reactium commander\n```\n\n\u003e _You will be prompted for a destination and command name_\n\n\n#### Flags:\n--destination, --command, --overwrite\n\n##### -d, --destination\nPath where the command is saved.\n\nIf you're creating a project specific command, use the shortcut: `cwd/` when specifying the destination.\n\n\u003e _This is the recommended location for custom commands._\n```\n$ reactium commander --destination 'cwd/my/function'\n```\n\n_The boilerplate code for a new ARCLI function will be created in the `~/.cli/commands/my/function` directory._\n\n\nIf you're creating an application specific command, use the shortcut `app/` when specifying the destination.\n\n\u003e Beware: _Application specific commands are only suggested if you're contributing to the application and want those commands pushed out to future versions. For instance if you want to create a new Reactium or Actinium core command and plan on submitting a pull request for your new feature. Otherwise, they will be overwritten when you update your version of Reactium or Actinium._\n```\n$ reactium commander -d 'app/my/function'\n```\n\n_The boilerplate code for a new ARCLI function will be created in the `~/.core/.cli/commands/my/function` directory._\n\n\nIf you're creating a new ARCLI command, use the shortcut `root/` when specifying the destination.\n\n\u003e Beware: _Root commands are only suggested if you're contributing to ARCLI and plan on submitting a pull request for your new feature. Otherwise, they will be overwritten whenever you update your version of ARCLI._\n\n```\n$ reactium commander -d 'root/my/function'\n```\n\n##### -c, --command\nThe command prompt.\n\n```\n$ reactium commander --command fubar --destination 'cwd/fubar'\n```\n\nYou can create a command that accepts parameters as well:\n\n```\n$ reactium commander --command 'fubar test'\n```\n\n_Creates a command that would be run by entering the following: `reactium fubar test`_\n\n\n## Reactium Commands\n\n### `\u003ccomponent\u003e`\nCreate or replace a Reactium component.\n\n#### Usage\n```\n$ reactium component\n```\n\n#### Flags:\n--name, --destination, --type, --type, --route, --redux, --redux-all, --actions, --actionTypes, --reducers, --services, --stylesheet, --overwrite\n\n##### -n, --name\nThe component name. Used when importing the component.\n\n##### -d, --destination\nPath of the component's parent directory.\nIf you're creating a component named `Fubar` and specify `components/` as the `--destination`, the component will be saved to:\n\n```\n~/project/src/app/components/Fubar\n```\n\n##### -t, --type\nThe type of component to create.\nUses the config `reactium.types` value for the list of types.\nDefault types: `functional | class`\n\n##### --route\nIncludes the `route.js` file for a routed component.\n\n##### --stylesheet\nInclude `_style.scss` file and import into a parent stylesheet.\n\n### `\u003cstyle\u003e`\nCreate a Reactium or Toolkit stylesheet.\n\n#### Usage\n```\n$ reactium style -d 'cwd/public/assets/style' -f 'my-style.scss' -o\n```\n\n#### Flags:\n--destination, --filename, --overwrite\n\n##### -d, --destination\nPath where the stylesheet is saved.\n\n\u003e _You can use the shortcut `components/`, `common-ui/`, or `cwd/` when specifying the destination._\n\n##### -f, --filename\nThe file name of the stylesheet.\n\n##### -o, --overwrite\nOverwrite an existing version of the stylesheet.\n\n\n## Toolkit Commands\n\n\n### `\u003celement\u003e \u003ccreate|update|remove\u003e`\nManage toolkit elements.\n\n#### Usage\n```\n$ reactium element create\n\n$ reactium element update\n\n$ reactium element remove\n```\n\n_If no flags are specified, you will be prompted to input corresponding values._\n\n#### Flags:\n--id, --name, --group, --label, --menu-order, --stylesheet, --documentation, --code, --dna\n\n##### --id\nThe element ID. Used when indexing the element in the toolkit manifest file.\n\n##### --name\nThe element name. Used when importing the element into other components.\n\n##### --group\nThe group the element is apart of.\nGroups are how the toolkit menu structures elements.\n\n##### --label\nThe menu link text.\n\n##### --menu-order\nThe menu link index relative to other elements in the group.\n\n##### --stylesheet\nAdd a stylesheet for the element.\n\n##### --documentation\nCreate a readme for the element and display it in the toolkit.\n\n##### --code\nShow the Code View for the element.\n\n##### --dna\nShow the DNA info for the element.\n\n\n### `\u003cgroup\u003e \u003ccreate|update|remove\u003e`\nManage toolkit groups. Use this command to move things around in the toolkit manifest.\n\n#### Usage\n\n```\n$ reactium group create\n```\n\n#### Flags:\n--id, --menu-order, --label, --overwrite\n\n##### --id\nThe group id.\n\n##### --menu-order\nThe toolkit manifest index.\n\n##### --label\nThe menu item text label.\n\n##### --overwrite\nOverwrite the group object,\n\n\n## Actinium Commands\n\n\n### Actinium Install\nDownloads and installs Actinium into the current working directory. If the directory is not empty, you will be prompted to overwrite it or cancel the operation.\n\n#### Usage\n```\n$ reactium init -t api\n```\n\n### `\u003ccloud\u003e`\nActinium uses The [Parse Platform](https://parseplatform.org/) and this command helps in creating new Parse.Cloud functions.\n\n#### Usage\n```\n$ reactium cloud\n```\n\n#### Flags:\n--destination, --collection, --definitions, --beforeFind, --beforeDelete, --beforeSave, --afterSave, --afterDelete, --overwrite\n\n##### --destination\nParent directory of the Cloud Function.\n\n\u003e _Actinium looks in the `~/src/app/cloud` directory for .js files and loads them as cloud functions._\n\u003e _You can use the `cloud/` shortcut when specifying the destination. Example: `$ reactium element --destination 'cloud/my/function` will put the cloud function in the `~/src/app/cloud/my/function` directory._\n\n##### --collection\nThe database collection for before/after hooks.\n\n```\n// Use the Parse.User collection\n$ reactium element --collection '_User'\n```\n\n##### --definition\nParse.Cloud.define() definitions.\n```\n$ reactium element --definitions 'userSave userDelete'\n```\n\n\u003e _Note: you can specify multiple definitions by putting a space between values._\n\n##### --beforeFind\nInclude Parse.Cloud.beforeFind(COLLECTION) function.\n\n##### --beforeDelete\nInclude Parse.Cloud.beforeDelete(COLLECTION) function.\n\n##### --beforeSave\nInclude Parse.Cloud.beforeSave(COLLECTION) function.\n\n##### --afterDelete\nInclude Parse.Cloud.afterDelete(COLLECTION) function.\n\n##### --afterSave\nInclude Parse.Cloud.afterSave(COLLECTION) function.\n\n\n\u003e _See the [Parse Cloud Guide](https://docs.parseplatform.org/cloudcode/guide/) for more information on Cloud functions._\n\n\n_Masterfully Powered By:_\n![](https://image.ibb.co/ee2WaG/atomic_reactor.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freactiumcore%2Fcli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freactiumcore%2Fcli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freactiumcore%2Fcli/lists"}