From ec7ca451cfb3d73c62751c87f01c9c8b80df6bce Mon Sep 17 00:00:00 2001 From: Aryan Jasala Date: Fri, 2 Oct 2026 04:51:46 +0530 Subject: [PATCH 1/3] docs: add composer create-project as a way to start Packagist serves the starter as rtcamp/plugin-elementary, so a new project can start from a Composer download without the starter's Git history. The guide pairs it with --no-install and a first commit, so the dependency and init steps that follow stay the same. --- README.md | 8 +++++++- docs/getting-started.md | 16 +++++++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 0620bf5..4388541 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,13 @@ The skeleton documents what it provides and how to build on it. The framework's ## Get started -Follow [Getting Started](docs/getting-started.md): prerequisites, cloning, installing, naming the plugin, and seeing it running in a local WordPress site. It takes about fifteen minutes. +Create a new plugin with Composer, or clone this repository: + +```bash +composer create-project --no-install rtcamp/plugin-elementary acme-content-features +``` + +Then follow [Getting Started](docs/getting-started.md): prerequisites, getting the skeleton, installing, naming the plugin, and seeing it running in a local WordPress site. It takes about fifteen minutes. ## What is included diff --git a/docs/getting-started.md b/docs/getting-started.md index a42d738..fbd082e 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -14,7 +14,19 @@ An existing local WordPress installation can replace the `wp-env` site; Docker i ## 1. Get the skeleton -Clone it into the folder that will become your plugin directory: +Download it into the folder that will become your plugin directory. Composer gives you a copy without the skeleton's Git history: + +```bash +composer create-project --no-install rtcamp/plugin-elementary acme-content-features +cd acme-content-features +git init +git add . +git commit -m "chore: start from plugin-elementary" +nvm install +nvm use +``` + +Or clone the repository: ```bash git clone https://github.com/rtCamp/plugin-elementary.git acme-content-features @@ -23,6 +35,8 @@ nvm install nvm use ``` +`--no-install` only downloads the skeleton, so step 2 installs the dependencies with the selected Node version. The first commit gives the Composer copy a baseline to review init's changes against, and the repository lets `npm install` set up the Git hooks. + The folder name is the plugin's directory in WordPress and is what you pass to `wp plugin activate`. Name it after the main plugin file init will create (`acme-content-features`), so the local copy matches the release zip. ## 2. Install dependencies From fef782c0d1c11807ed4f8eecff51ad3aa46db39f Mon Sep 17 00:00:00 2001 From: Aryan Jasala Date: Fri, 2 Oct 2026 04:54:37 +0530 Subject: [PATCH 2/3] docs: use a generic folder name in the README command The walkthrough keeps the Acme demo name, so its derived names still line up; the README quick start reads better with a placeholder. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4388541..e9d94f3 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ The skeleton documents what it provides and how to build on it. The framework's Create a new plugin with Composer, or clone this repository: ```bash -composer create-project --no-install rtcamp/plugin-elementary acme-content-features +composer create-project --no-install rtcamp/plugin-elementary my-plugin ``` Then follow [Getting Started](docs/getting-started.md): prerequisites, getting the skeleton, installing, naming the plugin, and seeing it running in a local WordPress site. It takes about fifteen minutes. From d8b6545eac37876dc1821ede5f109cbce8a94063 Mon Sep 17 00:00:00 2001 From: Aryan Jasala Date: Fri, 2 Oct 2026 04:57:24 +0530 Subject: [PATCH 3/3] docs: let create-project install the dependencies Drop --no-install so the command matches the usual Composer form. --- README.md | 2 +- docs/getting-started.md | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index e9d94f3..7989926 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ The skeleton documents what it provides and how to build on it. The framework's Create a new plugin with Composer, or clone this repository: ```bash -composer create-project --no-install rtcamp/plugin-elementary my-plugin +composer create-project rtcamp/plugin-elementary my-plugin ``` Then follow [Getting Started](docs/getting-started.md): prerequisites, getting the skeleton, installing, naming the plugin, and seeing it running in a local WordPress site. It takes about fifteen minutes. diff --git a/docs/getting-started.md b/docs/getting-started.md index fbd082e..1646b5e 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -14,10 +14,10 @@ An existing local WordPress installation can replace the `wp-env` site; Docker i ## 1. Get the skeleton -Download it into the folder that will become your plugin directory. Composer gives you a copy without the skeleton's Git history: +Download it into the folder that will become your plugin directory. Composer gives you a copy without the skeleton's Git history and installs the Composer dependencies: ```bash -composer create-project --no-install rtcamp/plugin-elementary acme-content-features +composer create-project rtcamp/plugin-elementary acme-content-features cd acme-content-features git init git add . @@ -35,7 +35,7 @@ nvm install nvm use ``` -`--no-install` only downloads the skeleton, so step 2 installs the dependencies with the selected Node version. The first commit gives the Composer copy a baseline to review init's changes against, and the repository lets `npm install` set up the Git hooks. +The first commit gives the Composer copy a baseline to review init's changes against, and the repository lets `npm install` in step 2 set up the Git hooks. The folder name is the plugin's directory in WordPress and is what you pass to `wp plugin activate`. Name it after the main plugin file init will create (`acme-content-features`), so the local copy matches the release zip.