{"id":24427697,"url":"https://github.com/makerkit/cli","last_synced_at":"2025-06-12T01:05:10.528Z","repository":{"id":190461478,"uuid":"682677964","full_name":"makerkit/cli","owner":"makerkit","description":"The Makerkit CLI ","archived":false,"fork":false,"pushed_at":"2024-12-09T08:37:41.000Z","size":263,"stargazers_count":10,"open_issues_count":1,"forks_count":6,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-06-12T01:04:57.849Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/makerkit.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"zenodo":null}},"created_at":"2023-08-24T17:30:51.000Z","updated_at":"2024-12-16T03:25:05.000Z","dependencies_parsed_at":"2024-07-23T11:46:41.991Z","dependency_job_id":"da0e67b6-b0b1-49cb-9ace-d850cf3ca881","html_url":"https://github.com/makerkit/cli","commit_stats":null,"previous_names":["makerkit/cli"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/makerkit/cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makerkit%2Fcli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makerkit%2Fcli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makerkit%2Fcli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makerkit%2Fcli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/makerkit","download_url":"https://codeload.github.com/makerkit/cli/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makerkit%2Fcli/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259374738,"owners_count":22847858,"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":"2025-01-20T12:12:34.569Z","updated_at":"2025-06-12T01:05:10.502Z","avatar_url":"https://github.com/makerkit.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# A CLI for the Makerkit SaaS Starter Kits\n\nThe CLI is a set of commands that help you manage your Makerkit SaaS Starter Kits.\n\nThe CLI is currently in beta.\n\nNB: the CLI uses SSH to connect to GitHub. If you are not using SSH on your local machine, it will not work. In that case, please use the manual git commands instead.\n\n## Installation\n\nYou can run commands using `npx`:\n\n```\nnpx @makerkit/cli@latest \u003ccommand\u003e\n```\n\nThis ensures that you always run the latest version of the CLI.\n\n### Some commands require a Makerkit repository\n\nCommands that interact with the repository (plugins, i18n, blog) must be \nlaunched from the root of the repository, as they will read and write files \nfrom the codebase.\n\n## Usage\n\nRunning the CLI without any arguments will display the help:\n\n```\nUsage: makerkit [options] [command]\n\nYour SaaS Kit companion. Add plugins, manage migrations, and more.\n\nOptions:\n  display the version number  output the version number\n  -h, --help                  display help for command\n\nCommands:\n  new                         Initialize a new Makerkit project\n  plugins                     List and install plugins.\n  i18n                        Manage and translate your i18n files\n  license                     Manage Licenses\n  blog                        Manage and generate your blog posts\n  help [command]              display help for command\n```\n\n### Adding an OpenAI Key (optional)\n\nTo use the generative AI features of the CLI, you will need to add an OpenAI \nkey. \n\nTo do so, create a `.env.local` file if it does not exist yet, and add the\nfollowing environment variable:\n\n```\nOPENAI_API_KEY=\u003cyour-key\u003e\n```\n\nThis key will be used to generate the prompts for your blog posts. It\nremains locally on your computer and is not shared with anyone.\n\nAt the moment of writing, the CLI only uses the OpenAI API to generate:\n1. Translations for your i18n files\n2. Blog Posts\n\n## Creating a new Makerkit project\n\nTo create a new Makerkit project, you can use the `new` command:\n\n```\n\u003e npx @makerkit/cli@latest new\n```\n\nThe CLI will prompt you to select a starter kit to use and a name. Once \nselected, the CLI will create a new project in the current directory by \npulling the starter kit from GitHub.\n\nThe command will also install the dependencies.\n\n## Plugins\n\nThe CLI can help you manage plugins in your project. You can list the available plugins, install them, and update them.\n\n### Listing plugins\n\nTo list the available plugins, you can use the `plugins list` command:\n\n```\n\u003e npx @makerkit/cli@latest plugins list\n\nAvailable plugins:\n  - cookie-banner\n```\n\n### Installing plugins\n\nTo install a plugin, you can use the `plugins install` command:\n\n```\n\u003e npx @makerkit/cli@latest plugins install\n```\n\nThis command will prompt you to select a plugin to install. Once selected, the plugin will be installed in your project.\n\n### Updating plugins\n\nTo update a plugin, you can use the `plugins update` command:\n\n```\n\u003e npx @makerkit/cli@latest plugins update\n```\n\nThis command will prompt you to select a plugin to update. Once selected, the plugin will be updated in your project.\n\n## i18n\n\nThe CLI can help you manage your i18n files. You can translate from a locale \nto another (requires an OpenAI key), and verify that your translations are \nin sync between each other.\n\n### Translating\n\nTo translate your i18n files, you can use the `i18n translate` command:\n\n```\n\u003e npx @makerkit/cli@latest i18n translate en es\n```\n\nThis command will translate all the keys in your `en/*.json` file to `es/*.\njson`. It will use the OpenAI API to translate the keys. You will need to \nadd a valid OpenAI API key in the `.env.local` file of your Makerkit repository.\n\n### Verifying\n\nTo verify that your i18n files are in sync, you can use the `i18n verify` command:\n\n```\n\u003e npx @makerkit/cli@latest i18n verify \u003cbase-locale\u003e\n```\n\nIf you omit the `base-locale` argument, the command will use `en` as the base.\n\n## Blog\n\nThe CLI can help you generate your blog posts. \n\nNB: this command requires you to setup an OpenAI key.\n\n### Generating a new blog post\n\nTo generate a new blog post, you can use the `blog generate` command:\n\n```\n\u003e npx @makerkit/cli@latest blog generate\n```\n\nYou will be prompted to enter the following information:\n1. **Title**: The title of the blog post\n2. **Category**: The category of the blog post. At this time, this file \n   needs to exist in \n   your Makerkit repository. You can create it later.\n3. **Word Count**: The target word count of the blog post.\n4. **Prompt**: Any additional information you want to add to the prompt \n   (optional).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmakerkit%2Fcli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmakerkit%2Fcli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmakerkit%2Fcli/lists"}