create-grocms 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.txt +23 -0
- package/README.md +141 -0
- package/dist/THIRD_PARTY_NOTICES.txt +10 -0
- package/dist/index.js +3966 -0
- package/dist/licenses/@clack__core@0.3.5/LICENSE +9 -0
- package/dist/licenses/@clack__prompts@0.8.2/LICENSE +23 -0
- package/dist/licenses/adm-zip@0.6.1/LICENSE +21 -0
- package/dist/licenses/picocolors@1.1.1/LICENSE +15 -0
- package/dist/licenses/sisteransi@1.0.5/license +21 -0
- package/package.json +41 -0
package/LICENSE.txt
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
GroCMS Installer CLI Notice
|
|
2
|
+
Copyright (c) 2026 Mix Reality PTY LTD.
|
|
3
|
+
All rights reserved.
|
|
4
|
+
|
|
5
|
+
This tool ('create-grocms') is provided by Mix Reality PTY LTD for authorized
|
|
6
|
+
customers, evaluators, and partners to scaffold, configure, and initialize
|
|
7
|
+
installations of GroCMS.
|
|
8
|
+
|
|
9
|
+
Use of this installer to download, extract, deploy, or run the GroCMS core
|
|
10
|
+
platform requires a valid, active commercial license or authorized evaluation
|
|
11
|
+
access granted by Mix Reality PTY LTD.
|
|
12
|
+
|
|
13
|
+
Downloading or running the GroCMS core software without an authorized commercial
|
|
14
|
+
license agreement is strictly prohibited. The core platform is proprietary,
|
|
15
|
+
closed-source commercial software.
|
|
16
|
+
|
|
17
|
+
For full terms and conditions governing the GroCMS platform, refer to the
|
|
18
|
+
canonical LICENSE.txt included with the GroCMS release and visit:
|
|
19
|
+
https://grocms.com
|
|
20
|
+
|
|
21
|
+
Direct commercial licensing inquiries to:
|
|
22
|
+
Mix Reality PTY LTD
|
|
23
|
+
Email: get@grocms.com
|
package/README.md
ADDED
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
# create-grocms
|
|
2
|
+
|
|
3
|
+
The official scaffolding CLI for [GroCMS](https://grocms.com) — structured content and visual website publishing.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
Install Node.js **24.x** and npm first. To scaffold a new GroCMS installation
|
|
8
|
+
using the published installer:
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
npx create-grocms@latest my-website
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Or run interactively:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
npx create-grocms@latest
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Enter your commercial download key at the masked prompt. npm supplies this
|
|
21
|
+
small installer; it then downloads the separate GroCMS application from
|
|
22
|
+
`https://download.grocms.com`. npm access alone does not grant access to the
|
|
23
|
+
application. The installer version and downloaded CMS release are independent.
|
|
24
|
+
|
|
25
|
+
Docker Engine with Compose v2 is required for the setup commands printed after
|
|
26
|
+
scaffolding. Git is optional. Choose a new or empty project directory; this
|
|
27
|
+
command creates an installation and is not an updater for an existing site.
|
|
28
|
+
|
|
29
|
+
### Options
|
|
30
|
+
|
|
31
|
+
| Option | Description |
|
|
32
|
+
|---|---|
|
|
33
|
+
| `[target-directory]` | Directory to create project in (e.g. `my-website`) |
|
|
34
|
+
| `--url <url>` | Configured public site URL (default: `http://localhost:3100`) |
|
|
35
|
+
| `--key, -k <license>` | Commercial license key or download token |
|
|
36
|
+
| `--release-url <url>` | Custom release server endpoint |
|
|
37
|
+
| `--local-archive <path>` | Install directly from a local release ZIP file |
|
|
38
|
+
| `--skip-install` | Do not run `npm ci` automatically |
|
|
39
|
+
| `--demo` | Show first-setup instructions for the optional reference demo |
|
|
40
|
+
| `--no-demo` | Explicitly select the minimal starter (the default) |
|
|
41
|
+
|
|
42
|
+
### What this tool does
|
|
43
|
+
|
|
44
|
+
1. Connects to your release server or uses a verified release archive.
|
|
45
|
+
2. Extracts the clean GroCMS codebase into your chosen directory.
|
|
46
|
+
3. Automatically generates cryptographically strong `BETTER_AUTH_SECRET` and database passwords.
|
|
47
|
+
4. Generates `.env.local`, `.env.infrastructure.local`, and `.env.production.local`.
|
|
48
|
+
5. Initializes a fresh Git repository.
|
|
49
|
+
6. Installs all pinned dependencies with `npm ci`.
|
|
50
|
+
|
|
51
|
+
The CLI prints the remaining setup commands; it does not initialize the database or publish content. Following the default commands creates a minimal website with one **Hello world!** Post, one **Welcome** homepage, official **GroCMS** branding, a basic content template and settings. It includes no sample images, authors or marketing layouts. Repeat setup preserves existing authored content.
|
|
52
|
+
|
|
53
|
+
Choose `--demo` only for a fresh demonstration installation. Its local instructions use `npm run setup -- --design-only && npm run seed:demo` to prepare untouched design drafts before publishing the richer reference site. For production, add `--demo true` to the initial operations setup command below. Demo seeding refuses to replace an initialized minimal site or other authored content.
|
|
54
|
+
|
|
55
|
+
The target must be new or empty, including when entered interactively. Links,
|
|
56
|
+
nonempty folders and existing environment files are refused. Files are validated
|
|
57
|
+
and prepared in private staging, then moved together into the final destination.
|
|
58
|
+
The installer never merges files into an existing website or replaces secrets.
|
|
59
|
+
If dependency installation fails, keep the scaffold, correct the reported npm
|
|
60
|
+
problem and run `npm ci` in that folder. Do not rerun the scaffolder over it.
|
|
61
|
+
|
|
62
|
+
Source archives are limited to 64 MiB compressed, 256 MiB expanded, 32 MiB per
|
|
63
|
+
file and 10,000 entries. Unsafe paths, links, special files, duplicate names,
|
|
64
|
+
case collisions and inconsistent file/directory paths are rejected before
|
|
65
|
+
extraction. Download credentials use the Bearer header. The masked interactive
|
|
66
|
+
prompt avoids putting a key in shell history; the existing `--key` argument is
|
|
67
|
+
still supported. Older query-authenticated clients remain compatible with the
|
|
68
|
+
server, but query credentials may appear in third-party proxy logs.
|
|
69
|
+
|
|
70
|
+
## Production installation sequence
|
|
71
|
+
|
|
72
|
+
Install Node.js 24, npm, Docker Engine with Compose v2, and Git if desired. The
|
|
73
|
+
download service/registry and dependency registries must be reachable. Use the
|
|
74
|
+
generated `.env.production.local`, which contains separate administrator,
|
|
75
|
+
migrator and runtime passwords. Keep all `.env*` files private and backed up.
|
|
76
|
+
Review the public URL, storage and SMTP configuration before startup. The
|
|
77
|
+
development-only `POSTGRES_PASSWORD` is not the production role contract.
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
cd my-website
|
|
81
|
+
docker compose --env-file .env.production.local -f compose.yaml build web worker
|
|
82
|
+
docker compose --env-file .env.production.local -f compose.yaml up -d --wait db
|
|
83
|
+
docker compose --env-file .env.production.local -f compose.yaml run --rm --no-deps migrate
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Create a private `.env.bootstrap.local` containing `GCMS_BOOTSTRAP_EMAIL`,
|
|
87
|
+
`GCMS_BOOTSTRAP_NAME` and a strong `GCMS_BOOTSTRAP_PASSWORD`, then run:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
node scripts/ops/setup.mjs --env-file .env.production.local --credentials-file .env.bootstrap.local --project gcms
|
|
91
|
+
node scripts/ops/deploy.mjs --env-file .env.production.local --project gcms
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
`gcms` is the generated Compose project name. If you change it, use that same
|
|
95
|
+
project name consistently. The operations guide included in the release covers
|
|
96
|
+
readiness, captured email for local tests, trusted proxy configuration, backups
|
|
97
|
+
and restoration. Bootstrap never requires elevating the runtime database role.
|
|
98
|
+
|
|
99
|
+
## Proprietary Commercial Software
|
|
100
|
+
|
|
101
|
+
Copyright (c) 2026 Mix Reality PTY LTD. All rights reserved.
|
|
102
|
+
|
|
103
|
+
This tool is provided for authorized customers, evaluators, and partners of GroCMS.
|
|
104
|
+
Downloading and running the GroCMS core platform requires a valid commercial license agreement from Mix Reality PTY LTD.
|
|
105
|
+
|
|
106
|
+
See [LICENSE.txt](LICENSE.txt) for details. For inquiries, contact `get@grocms.com` or visit [https://grocms.com](https://grocms.com).
|
|
107
|
+
|
|
108
|
+
## Building the installer package
|
|
109
|
+
|
|
110
|
+
This section is for maintainers working in the GroCMS source repository. The
|
|
111
|
+
presence of this source does not establish that a given version is available on
|
|
112
|
+
npm. Public publication is a separate, manual release step.
|
|
113
|
+
|
|
114
|
+
From the repository root, after installing its locked dependencies with
|
|
115
|
+
`npm ci`, create an output directory and pack the installer:
|
|
116
|
+
|
|
117
|
+
```powershell
|
|
118
|
+
New-Item -ItemType Directory -Force artifacts/installer | Out-Null
|
|
119
|
+
npm pack --workspace=create-grocms --pack-destination artifacts/installer
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
The workspace's `prepack` runs `build.mjs`. It bundles the CLI, its runtime
|
|
123
|
+
dependencies and the existing private `@grocms/archive` helper into
|
|
124
|
+
`dist/index.js`. The published `bin` and `main` point to that file; customers do
|
|
125
|
+
not need the GroCMS workspace, its private packages, or an installer build step.
|
|
126
|
+
The package retains its proprietary `LICENSE.txt`, dependency notices in
|
|
127
|
+
`dist/THIRD_PARTY_NOTICES.txt`, and corresponding licences in `dist/licenses`.
|
|
128
|
+
It contains no CMS application archive, customer credentials or release ledger.
|
|
129
|
+
|
|
130
|
+
Before publishing, inspect the exact tarball's inventory and verify its help
|
|
131
|
+
command and synthetic archive installation in a clean directory outside the
|
|
132
|
+
workspace. Complete a licensed download and dependency installation against the
|
|
133
|
+
intended release service, including denial of invalid credentials. Do not use
|
|
134
|
+
live customer sites as installer test destinations. Publishing only a source
|
|
135
|
+
directory or checking the development CLI does not establish that the packaged
|
|
136
|
+
installer works.
|
|
137
|
+
|
|
138
|
+
Publish only the reviewed tarball after these checks and an authorized release
|
|
139
|
+
decision. Keep the archive and its checksum as the publication evidence; do not
|
|
140
|
+
repack different bytes under the same reviewed identity. No automatic public
|
|
141
|
+
publication is part of this package's build.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# create-grocms third-party notices
|
|
2
|
+
|
|
3
|
+
GroCMS installer and archive integration: Copyright (c) 2026 Mix Reality PTY LTD. All rights reserved.
|
|
4
|
+
The following bundled dependencies retain their upstream licenses. These licenses do not apply to GroCMS proprietary code.
|
|
5
|
+
|
|
6
|
+
@clack/core@0.3.5 (MIT): licenses/@clack__core@0.3.5/LICENSE
|
|
7
|
+
@clack/prompts@0.8.2 (MIT): licenses/@clack__prompts@0.8.2/LICENSE
|
|
8
|
+
adm-zip@0.6.1 (MIT): licenses/adm-zip@0.6.1/LICENSE
|
|
9
|
+
picocolors@1.1.1 (ISC): licenses/picocolors@1.1.1/LICENSE
|
|
10
|
+
sisteransi@1.0.5 (MIT): licenses/sisteransi@1.0.5/license
|