{"id":18810109,"url":"https://github.com/agneym/create-electrojet","last_synced_at":"2025-04-13T20:30:44.645Z","repository":{"id":33926454,"uuid":"163598521","full_name":"agneym/create-electrojet","owner":"agneym","description":"Setup Modern Javascript Applications with a single command ","archived":false,"fork":false,"pushed_at":"2024-06-18T06:20:10.000Z","size":2701,"stargazers_count":4,"open_issues_count":8,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-31T23:04:13.051Z","etag":null,"topics":["carlo","cli","electrojet-cli","electron"],"latest_commit_sha":null,"homepage":"","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/agneym.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2018-12-30T15:44:31.000Z","updated_at":"2023-03-07T15:40:31.000Z","dependencies_parsed_at":"2023-01-15T03:31:12.383Z","dependency_job_id":"989adc32-de4e-4721-bcdc-7b2edfd3802a","html_url":"https://github.com/agneym/create-electrojet","commit_stats":{"total_commits":234,"total_committers":3,"mean_commits":78.0,"dds":0.07264957264957261,"last_synced_commit":"d4f54acf6c26a923490a5be61082046d92fe363a"},"previous_names":[],"tags_count":88,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agneym%2Fcreate-electrojet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agneym%2Fcreate-electrojet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agneym%2Fcreate-electrojet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agneym%2Fcreate-electrojet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/agneym","download_url":"https://codeload.github.com/agneym/create-electrojet/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223603001,"owners_count":17172016,"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":["carlo","cli","electrojet-cli","electron"],"created_at":"2024-11-07T23:18:56.417Z","updated_at":"2024-11-07T23:18:57.041Z","avatar_url":"https://github.com/agneym.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"logo.svg\" alt=\"logo rocket\" height=\"150\"\u003e\n  \u003ch1\u003eELECTROJET CLI\u003c/h1\u003e\n  \u003ca href=\"https://badge.fury.io/js/create-electrojet\"\u003e\u003cimg src=\"https://badge.fury.io/js/create-electrojet.svg\" alt=\"npm version\" height=\"18\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://circleci.com/gh/agneym/create-electrojet\"\u003e\n    \u003cimg src=\"https://circleci.com/gh/agneym/create-electrojet/tree/master.svg?style=svg\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"#badge\"\u003e\n    \u003cimg alt=\"code style: prettier\" src=\"https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://standardjs.com\"\u003e\n    \u003cimg alt=\"coding style: standard\" src=\"https://img.shields.io/badge/code_style-standard-brightgreen.svg\"\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n\n## Usage\n\n```\nnpm init electrojet \u003cproject-name\u003e\n```\n\nThe CLI will walk you through a set of options for you to select the template/starter. \n\n### Options\n\n#### 1. Template\n\nThis option allows you to select the template beforehand.\n\n```\nnpm init electrojet \u003cproject-name\u003e --template=electron\n```\n\n[See list of currently available templates](https://github.com/agneym/create-electrojet#list-of-available-templates)\n\n#### 2. Starter\n\nThis option allows you to select a starter beforehand.\n\n```\nnpm init electrojet \u003cproject-name\u003e --starter=\u003cUser\u003e/\u003cRepoName\u003e\n```\n\nThis format works for repositories hosted on github. \n\n[How do I customise it to work with Gitlab /  Bitbucket?](https://github.com/agneym/create-electrojet#)\n\n#### How are they different?\n\nA template offers a default configuration for a given technology. For eg. selecting electron as a template, gives you a package with Electron, Javascript, CSS and HTML.\n\nA starter is much more customised and opiniated in it's design. For example, a starter may have Electron with React and Redux installed and setup for you to start working.\n\n## Why?\n\nSee [announcement blog](https://blog.agney.in/electrojet-cli-as-a-service/). \n\nAs a User:\n\n:smiley: Get started without worrying about configuration\n\n:yum: Learn configuration for one CLI instead of a million ones\n\nAs a package owner:\n\n:wrench: You only have to manage the package extension, we will take care of the CLI and core.\n\n:rocket: The user might have Electrojet CLI installed globally/cached. Also, they might know their way around, so it's lesser docs.\n\n:point_up: Easier updates when extending the core package\n\n## How do I add _______ to the configuration?\n\n1. Add a plugin\n\n    There are plugins available for Electrojet that can add functionality to existing configurations. \n    You can add them to `electrojet.config.js` plugins array.\n\n    [List of Plugins](https://github.com/agneym/create-electrojet#list-of-plugins)\n\n2. Roll your own\n\n    If you can't find a plugin, you can always write one. \n\n    In your plugins directory, add a function that takes the format:\n\n  ```js\n  module.exports = {\n    plugins: [\n      {\n        resolve: function (\n          env,  // Current running env, either \"dev\" or \"prod\". Allows you to create multiple configs for development and production\n          context,  // The current configuration, mutating this won't help\n          options,  // options from the user, you don't need this for writing custom config\n        ) {\n          return customConfig; // Return custom configuration\n        }\n      }\n    ]\n  }\n  ```\n\n  The webpack configuration object that you return from the resolve functions gets [shallow merged](https://github.com/survivejs/webpack-merge#mergesmartconfiguration-configuration) into running configuration. \n\n## List of available templates\n\n1. [Electron](https://github.com/agneym/create-electrojet/tree/master/packages/electron)\n2. [Carlo](https://github.com/agneym/create-electrojet/tree/master/packages/carlo)\n3. [Phaser CE](https://github.com/agneym/create-electrojet/tree/master/packages/phaser-ce)\n3. [Svelte](https://github.com/agneym/create-electrojet/tree/master/packages/svelte)\n\n\n## List of plugins\n\n1. [SASS](https://github.com/agneym/create-electrojet/tree/master/plugins/sass)\n2. [LESS](https://github.com/agneym/create-electrojet/tree/master/plugins/less)\n\n## How do I build a CLI for my favorite technology?\n\n1. Install `@electrojet/core` for defaults in building Webpages. \n2. Use [Node APIs](https://github.com/agneym/create-electrojet/tree/master/packages/core#node-api) for `@electrojet/core` to extend the start and build scripts.\n3. If you are building a Template (and not a starter, [see difference](https://github.com/agneym/create-electrojet#how-are-they-different)), give us a PR to include in electrojet templates.\n\nSee any of the [packages](https://github.com/agneym/create-electrojet/tree/master/packages) for an example.\n\n## Developing\n\n1. Clone the repository\n2. Run following command to install all dependencies\n\n```bash\nlerna bootstrap\n```\n3. Make changes in your branch\n4. Run tests with:\n```\nlerna run test \n```\n5. Give us a PR\n\n## How do I customise it to with Bitbucket / Gitlab Templates\n\n\u003e Docs in progress\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagneym%2Fcreate-electrojet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagneym%2Fcreate-electrojet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagneym%2Fcreate-electrojet/lists"}