-
Notifications
You must be signed in to change notification settings - Fork 147
feat: Added documenation for patternfly cli. #4981
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,100 @@ | ||||||||||||||||||||||||||||||||||
| --- | ||||||||||||||||||||||||||||||||||
| id: PatternFly CLI | ||||||||||||||||||||||||||||||||||
| title: PatternFly CLI | ||||||||||||||||||||||||||||||||||
| section: get-started | ||||||||||||||||||||||||||||||||||
| --- | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| import './get-started.css'; | ||||||||||||||||||||||||||||||||||
| import { Alert } from '@patternfly/react-core'; | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| The [PatternFly CLI](https://github.com/patternfly/patternfly-cli) is a command-line tool for scaffolding projects, applying code changes, and running common project tasks. It is published as [`@patternfly/patternfly-cli` on npm](https://www.npmjs.com/package/@patternfly/patternfly-cli). | ||||||||||||||||||||||||||||||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
wdyt about this description, rather than the "what you can do" list? Just to build those list points into the narrative a little more also moved up the bit about source and releases from the end of the page |
||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| ## What you can do | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| - **Scaffold projects** from built-in or custom templates. | ||||||||||||||||||||||||||||||||||
| - **Automate code updates** for repetitive changes. | ||||||||||||||||||||||||||||||||||
| - **Run workflows** such as init, sync with GitHub, updates, and deploys to GitHub Pages. | ||||||||||||||||||||||||||||||||||
|
Comment on lines
+12
to
+16
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
remove, if you're okay with folding into the intro description as I did |
||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| ## Prerequisites | ||||||||||||||||||||||||||||||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| Before you install the CLI, set up: | ||||||||||||||||||||||||||||||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| 1. **[Node.js and npm](https://nodejs.org/)** (supported versions **20–24**). | ||||||||||||||||||||||||||||||||||
| 1. **[Corepack](https://nodejs.org/api/corepack.html)** — included with Node.js; enable it with `corepack enable` after installing Node. | ||||||||||||||||||||||||||||||||||
| 1. **[GitHub CLI](https://cli.github.com/)** (`gh`) — required for commands that talk to GitHub. | ||||||||||||||||||||||||||||||||||
|
Comment on lines
+22
to
+24
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Is corepack enable a cli command? |
||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| ## Install | ||||||||||||||||||||||||||||||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| Install the CLI globally: | ||||||||||||||||||||||||||||||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| ```sh | ||||||||||||||||||||||||||||||||||
| npm install -g @patternfly/patternfly-cli | ||||||||||||||||||||||||||||||||||
| ``` | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| ## Check your setup | ||||||||||||||||||||||||||||||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| Run the doctor command to verify prerequisites: | ||||||||||||||||||||||||||||||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| ```sh | ||||||||||||||||||||||||||||||||||
| patternfly-cli doctor | ||||||||||||||||||||||||||||||||||
| ``` | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| To try to fix missing pieces automatically (Corepack and GitHub CLI only): | ||||||||||||||||||||||||||||||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| ```sh | ||||||||||||||||||||||||||||||||||
| patternfly-cli doctor --fix | ||||||||||||||||||||||||||||||||||
| ``` | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| <Alert title="Node.js must be installed separately" variant="warning" isInline> | ||||||||||||||||||||||||||||||||||
| The `doctor --fix` option does not install or upgrade Node.js. If Node.js is missing or below version 20, install the current **LTS** release from [nodejs.org](https://nodejs.org/). | ||||||||||||||||||||||||||||||||||
| </Alert> | ||||||||||||||||||||||||||||||||||
|
Comment on lines
+48
to
+50
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| ## Commands | ||||||||||||||||||||||||||||||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| After installation, run: | ||||||||||||||||||||||||||||||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| ```sh | ||||||||||||||||||||||||||||||||||
| patternfly-cli [command] | ||||||||||||||||||||||||||||||||||
| ``` | ||||||||||||||||||||||||||||||||||
|
Comment on lines
+56
to
+58
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| | Command | Description | | ||||||||||||||||||||||||||||||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||||||||||||||||||||||
| | --- | --- | | ||||||||||||||||||||||||||||||||||
| | `doctor` | Check requirements; use `--fix` to enable Corepack and install `gh` where supported. | | ||||||||||||||||||||||||||||||||||
| | `create` | Create a new project from a template. | | ||||||||||||||||||||||||||||||||||
| | `list` | List available templates (built-in and custom). | | ||||||||||||||||||||||||||||||||||
| | `update` | Update the project to a newer PatternFly-oriented version where applicable. | | ||||||||||||||||||||||||||||||||||
| | `init` | Initialize a git repository and optionally create a GitHub repo. | | ||||||||||||||||||||||||||||||||||
| | `save` | Commit and push changes on the current branch. | | ||||||||||||||||||||||||||||||||||
| | `load` | Pull the latest changes from GitHub. | | ||||||||||||||||||||||||||||||||||
| | `deploy` | Build and deploy the app to GitHub Pages. | | ||||||||||||||||||||||||||||||||||
|
Comment on lines
+62
to
+69
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. "Add the |
||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| For the most up-to-date flags and behavior, see the [PatternFly CLI README](https://github.com/patternfly/patternfly-cli/blob/main/README.md) on GitHub. | ||||||||||||||||||||||||||||||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| ## Custom templates | ||||||||||||||||||||||||||||||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| You can merge your own templates with the built-ins by passing a JSON file with `--template-file` (or `-t`): | ||||||||||||||||||||||||||||||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| ```sh | ||||||||||||||||||||||||||||||||||
| patternfly-cli create my-app --template-file ./my-templates.json | ||||||||||||||||||||||||||||||||||
| patternfly-cli list --template-file ./my-templates.json | ||||||||||||||||||||||||||||||||||
| ``` | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| Each entry is an object with at least `name`, `description`, and `repo` (clone URL). Optional fields include `options` (extra `git clone` arguments) and `packageManager` (`npm`, `yarn`, or `pnpm`; default is `npm`). If a custom template uses the same `name` as a built-in one, the custom definition wins. | ||||||||||||||||||||||||||||||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| Example: | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| ```json | ||||||||||||||||||||||||||||||||||
| [ | ||||||||||||||||||||||||||||||||||
| { | ||||||||||||||||||||||||||||||||||
| "name": "my-template", | ||||||||||||||||||||||||||||||||||
| "description": "My custom project template", | ||||||||||||||||||||||||||||||||||
| "repo": "https://github.com/org/repo.git", | ||||||||||||||||||||||||||||||||||
| "options": ["--single-branch", "--branch", "main"], | ||||||||||||||||||||||||||||||||||
| "packageManager": "npm" | ||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||
| ] | ||||||||||||||||||||||||||||||||||
| ``` | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| ## Source and releases | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| The CLI is developed in the open at [github.com/patternfly/patternfly-cli](https://github.com/patternfly/patternfly-cli). Report issues or contribute there; release notes and tags are published on the repository’s [Releases](https://github.com/patternfly/patternfly-cli/releases) page. | ||||||||||||||||||||||||||||||||||
|
Comment on lines
+98
to
+100
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
moving up top? |
||||||||||||||||||||||||||||||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,100 @@ | ||
| --- | ||
| id: PatternFly CLI | ||
| title: PatternFly CLI | ||
| section: get-started | ||
| --- | ||
|
|
||
| import './get-started.css'; | ||
| import { Alert } from '@patternfly/react-core'; | ||
|
|
||
| The [PatternFly CLI](https://github.com/patternfly/patternfly-cli) is a command-line tool for scaffolding projects, applying code changes, and running common project tasks. It is published as [`@patternfly/patternfly-cli` on npm](https://www.npmjs.com/package/@patternfly/patternfly-cli). | ||
|
|
||
| ## What you can do | ||
|
|
||
| - **Scaffold projects** from built-in or custom templates. | ||
| - **Automate code updates** for repetitive changes. | ||
| - **Run workflows** such as init, sync with GitHub, updates, and deploys to GitHub Pages. | ||
|
|
||
| ## Prerequisites | ||
|
|
||
| Before you install the CLI, set up: | ||
|
|
||
| 1. **[Node.js and npm](https://nodejs.org/)** (supported versions **20–24**). | ||
| 1. **[Corepack](https://nodejs.org/api/corepack.html)** — included with Node.js; enable it with `corepack enable` after installing Node. | ||
| 1. **[GitHub CLI](https://cli.github.com/)** (`gh`) — required for commands that talk to GitHub. | ||
|
|
||
| ## Install | ||
|
|
||
| Install the CLI globally: | ||
|
|
||
| ```sh | ||
| npm install -g @patternfly/patternfly-cli | ||
| ``` | ||
|
|
||
| ## Check your setup | ||
|
|
||
| Run the doctor command to verify prerequisites: | ||
|
|
||
| ```sh | ||
| patternfly-cli doctor | ||
| ``` | ||
|
|
||
| To try to fix missing pieces automatically (Corepack and GitHub CLI only): | ||
|
|
||
| ```sh | ||
| patternfly-cli doctor --fix | ||
| ``` | ||
|
|
||
| <Alert title="Node.js must be installed separately" variant="warning" isInline> | ||
| The `doctor --fix` option does not install or upgrade Node.js. If Node.js is missing or below version 20, install the current **LTS** release from [nodejs.org](https://nodejs.org/). | ||
| </Alert> | ||
|
|
||
| ## Commands | ||
|
|
||
| After installation, run: | ||
|
|
||
| ```sh | ||
| patternfly-cli [command] | ||
| ``` | ||
|
|
||
| | Command | Description | | ||
| | --- | --- | | ||
| | `doctor` | Check requirements; use `--fix` to enable Corepack and install `gh` where supported. | | ||
| | `create` | Create a new project from a template. | | ||
| | `list` | List available templates (built-in and custom). | | ||
| | `update` | Update the project to a newer PatternFly-oriented version where applicable. | | ||
| | `init` | Initialize a git repository and optionally create a GitHub repo. | | ||
| | `save` | Commit and push changes on the current branch. | | ||
| | `load` | Pull the latest changes from GitHub. | | ||
| | `deploy` | Build and deploy the app to GitHub Pages. | | ||
|
|
||
| For the most up-to-date flags and behavior, see the [PatternFly CLI README](https://github.com/patternfly/patternfly-cli/blob/main/README.md) on GitHub. | ||
|
|
||
| ## Custom templates | ||
|
|
||
| You can merge your own templates with the built-ins by passing a JSON file with `--template-file` (or `-t`): | ||
|
|
||
| ```sh | ||
| patternfly-cli create my-app --template-file ./my-templates.json | ||
| patternfly-cli list --template-file ./my-templates.json | ||
| ``` | ||
|
|
||
| Each entry is an object with at least `name`, `description`, and `repo` (clone URL). Optional fields include `options` (extra `git clone` arguments) and `packageManager` (`npm`, `yarn`, or `pnpm`; default is `npm`). If a custom template uses the same `name` as a built-in one, the custom definition wins. | ||
|
|
||
| Example: | ||
|
|
||
| ```json | ||
| [ | ||
| { | ||
| "name": "my-template", | ||
| "description": "My custom project template", | ||
| "repo": "https://github.com/org/repo.git", | ||
| "options": ["--single-branch", "--branch", "main"], | ||
| "packageManager": "npm" | ||
| } | ||
| ] | ||
| ``` | ||
|
|
||
| ## Source and releases | ||
|
|
||
| The CLI is developed in the open at [github.com/patternfly/patternfly-cli](https://github.com/patternfly/patternfly-cli). Report issues or contribute there; release notes and tags are published on the repository’s [Releases](https://github.com/patternfly/patternfly-cli/releases) page. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the get started section is more so intended for introductory/overview information. Are you set on including these docs there? Otherwise, we could move to /developer-guides or maybe at least nest it under get-started/develop (assuming this is a dev-focused tool)?