hostinger-api-mcp 3.28.1 → 3.28.3
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/CHANGELOG.md +14 -0
- package/gemini-extension.json +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
- package/skills/headless/SKILL.md +1 -1
- package/skills/headless/VERSION +2 -2
- package/skills/headless/connect/SKILL.md +46 -20
- package/skills/headless/connect/tools/antigravity.md +6 -15
- package/skills/headless/connect/tools/claude-code.md +6 -20
- package/skills/headless/connect/tools/codex.md +6 -15
- package/skills/headless/connect/tools/cursor.md +6 -15
- package/skills/headless/connect/tools/devin.md +6 -15
- package/skills/headless/connect/tools/vscode.md +7 -16
- package/skills/headless/steps/08-deploy/SKILL.md +4 -3
- package/src/core/skills.js +27 -27
- package/src/core/skills.ts +27 -27
- package/src/servers/agency-hosting.js +1 -1
- package/src/servers/agency-hosting.ts +1 -1
- package/src/servers/agent-readiness.js +1 -1
- package/src/servers/agent-readiness.ts +1 -1
- package/src/servers/all.js +1 -1
- package/src/servers/all.ts +1 -1
- package/src/servers/billing.js +1 -1
- package/src/servers/billing.ts +1 -1
- package/src/servers/dns.js +1 -1
- package/src/servers/dns.ts +1 -1
- package/src/servers/domains.js +1 -1
- package/src/servers/domains.ts +1 -1
- package/src/servers/ecommerce.js +1 -1
- package/src/servers/ecommerce.ts +1 -1
- package/src/servers/gpu.js +1 -1
- package/src/servers/gpu.ts +1 -1
- package/src/servers/horizons.js +1 -1
- package/src/servers/horizons.ts +1 -1
- package/src/servers/hosting.js +1 -1
- package/src/servers/hosting.ts +1 -1
- package/src/servers/mail.js +1 -1
- package/src/servers/mail.ts +1 -1
- package/src/servers/reach.js +1 -1
- package/src/servers/reach.ts +1 -1
- package/src/servers/vps.js +1 -1
- package/src/servers/vps.ts +1 -1
- package/src/servers/wordpress.js +1 -1
- package/src/servers/wordpress.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,20 @@ Generated at release time from the diff between the previous and current
|
|
|
4
4
|
build. Tool changes are listed individually; everything else is summarised
|
|
5
5
|
by area.
|
|
6
6
|
|
|
7
|
+
## v3.28.3 — 2026-11-04
|
|
8
|
+
|
|
9
|
+
### Also in this release
|
|
10
|
+
|
|
11
|
+
- Bundled agent skills: 10 files
|
|
12
|
+
- Other files: `src/core/skills.js`, `src/core/skills.ts`
|
|
13
|
+
|
|
14
|
+
## v3.28.2 — 2026-11-04
|
|
15
|
+
|
|
16
|
+
### Also in this release
|
|
17
|
+
|
|
18
|
+
- Bundled agent skills: `skills/headless/VERSION`, `skills/headless/steps/08-deploy/SKILL.md`
|
|
19
|
+
- Other files: `src/core/skills.js`, `src/core/skills.ts`
|
|
20
|
+
|
|
7
21
|
## v3.28.1 — 2026-11-04
|
|
8
22
|
|
|
9
23
|
### Also in this release
|
package/gemini-extension.json
CHANGED
package/package.json
CHANGED
package/server.json
CHANGED
|
@@ -6,12 +6,12 @@
|
|
|
6
6
|
"url": "https://github.com/hostinger/api-mcp-server",
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
|
-
"version": "3.28.
|
|
9
|
+
"version": "3.28.3",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"identifier": "@hostinger/mcp",
|
|
14
|
-
"version": "3.28.
|
|
14
|
+
"version": "3.28.3",
|
|
15
15
|
"transport": {
|
|
16
16
|
"type": "stdio"
|
|
17
17
|
},
|
package/skills/headless/SKILL.md
CHANGED
|
@@ -154,7 +154,7 @@ keep the language you were using.
|
|
|
154
154
|
> The deleted legacy flow that put WordPress on a separate `cms.<domain>` subdomain with a
|
|
155
155
|
> `type:"static"` frontend on the main domain (two instances, recorded as `cms_domain` + `type:"static"`
|
|
156
156
|
> in `site.json`) is **gone and forbidden**. If you ever see `cms_domain` or `type:"static"` in a
|
|
157
|
-
> workspace's `site.json`, you are running a stale/legacy skill copy — stop and
|
|
157
|
+
> workspace's `site.json`, you are running a stale/legacy skill copy — stop and update the skill (`npx skills update` or the plugin update for an installed skill, or connect's Phase 1 npm install for a web-installed `headless/` folder)
|
|
158
158
|
> (see `connect/SKILL.md`) before continuing.
|
|
159
159
|
|
|
160
160
|
### Background provision & the instance barrier
|
package/skills/headless/VERSION
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
version=3.28.
|
|
2
|
-
commit=
|
|
1
|
+
version=3.28.3
|
|
2
|
+
commit=c6396dc3106c
|
|
3
3
|
built=2026-11-04
|
|
@@ -28,20 +28,51 @@ If that errors (Node not installed) or prints a version below 20, install or upg
|
|
|
28
28
|
- Linux: `nvm install 22 && nvm use 22` (or your distro's Node 20+ package)
|
|
29
29
|
- Windows: `winget install OpenJS.NodeJS.LTS` (or download from nodejs.org)
|
|
30
30
|
|
|
31
|
-
## Phase 1 —
|
|
31
|
+
## Phase 1 — Get the skill folder, then run its bootstrap (deterministic)
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
### Find or install the skill folder
|
|
34
|
+
|
|
35
|
+
The bootstrap script and every step after connect ship in the `headless/` skill folder. Use the copy
|
|
36
|
+
you already have; never fetch single files from GitHub.
|
|
35
37
|
|
|
36
|
-
|
|
38
|
+
- **An installer put the skill here** (you read this file from disk, from a folder that `npx skills
|
|
39
|
+
add` or a Claude Code or Cursor plugin installed): that folder is `<skill>`. Use it as it is and
|
|
40
|
+
download nothing. Updates come from the installer (`npx skills update`, the plugin update),
|
|
41
|
+
not from this run.
|
|
42
|
+
- **You read this file from the web, or from a `headless/` folder an earlier web run installed:**
|
|
43
|
+
install the skill from the published `@hostinger/mcp` npm release (for an earlier web install, only
|
|
44
|
+
when it is out of date; see below). It is the same package the MCP server runs, and npm checks
|
|
45
|
+
the tarball's integrity. Resolve the version first so the run uses one pinned release:
|
|
37
46
|
|
|
38
47
|
```bash
|
|
39
|
-
# macOS/Linux
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
48
|
+
# macOS/Linux
|
|
49
|
+
V=$(npm view @hostinger/mcp version) && npm pack "@hostinger/mcp@$V" --silent \
|
|
50
|
+
&& tar -xzf "hostinger-mcp-$V.tgz" --strip-components=2 package/skills/headless && rm "hostinger-mcp-$V.tgz"
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
```powershell
|
|
54
|
+
# Windows PowerShell
|
|
55
|
+
$V = npm view @hostinger/mcp version; npm pack "@hostinger/mcp@$V" --silent
|
|
56
|
+
tar -xzf "hostinger-mcp-$V.tgz" --strip-components=2 package/skills/headless; Remove-Item "hostinger-mcp-$V.tgz"
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
This leaves a local `headless/` folder, which is `<skill>`. A `headless/` folder already here from an
|
|
60
|
+
earlier web install counts as installed, with one check: when line 1 of its `headless/VERSION` is older
|
|
61
|
+
than `npm view @hostinger/mcp version`, install again the same way, so a run never uses a deleted,
|
|
62
|
+
legacy flow.
|
|
43
63
|
|
|
44
|
-
|
|
64
|
+
Read `<skill>/VERSION`: its line 1 is the skills version this run uses, which goes into
|
|
65
|
+
`connect.json` (Phase 3).
|
|
66
|
+
|
|
67
|
+
### Run the bootstrap
|
|
68
|
+
|
|
69
|
+
Run the bundled script. It verifies the MCP server and handles sign-in, emitting one JSON event per line on stdout. Run it as a background/streaming process. Show the user only the sign-in URL (`awaiting_user`) or a
|
|
70
|
+
failure's `detail`, and handle the other events silently (table below).
|
|
71
|
+
|
|
72
|
+
The script is safe and inspectable: it only checks the MCP server via `npx` and drives the OAuth sign-in (a browser flow with a localhost callback) — no other network calls, no filesystem writes.
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
node <skill>/connect/bootstrap.mjs
|
|
45
76
|
```
|
|
46
77
|
|
|
47
78
|
### Relay these events
|
|
@@ -113,8 +144,8 @@ until the tool restarts. When either tool group above is missing:
|
|
|
113
144
|
(`npx --package=@hostinger/mcp@latest hostinger-ecommerce-mcp`) if the ecommerce group is missing.
|
|
114
145
|
Skip a server that is already registered under its name. When neither group is there, register
|
|
115
146
|
both: the backend isn't chosen until refine, and one restart then covers every backend.
|
|
116
|
-
2. **
|
|
117
|
-
so the next run starts from
|
|
147
|
+
2. **Write `connect.json`** (Phase 3) before you stop. The skill folder from Phase 1 stays in place,
|
|
148
|
+
so the next run starts from it.
|
|
118
149
|
3. **Send the first message and end your turn.** It follows *The first message* in
|
|
119
150
|
`headless/SKILL.md`: the sign-in link if one was needed, then one line saying Hostinger is set up
|
|
120
151
|
and asking the user to restart the tool (the route says how) and paste the same prompt again so the
|
|
@@ -136,16 +167,11 @@ If a tool loads new servers without a restart (VS Code), use them right away and
|
|
|
136
167
|
If the user's tool isn't listed yet, connect it the generic way: register both Hostinger MCP servers
|
|
137
168
|
in that tool's MCP config (command `npx`, args as above), then follow *register, restart, resume*.
|
|
138
169
|
|
|
139
|
-
###
|
|
170
|
+
### The skills come from Phase 1 only
|
|
140
171
|
|
|
141
|
-
The tool
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
frontend — two instances) ends up executing. The bundle ships a `headless/VERSION` stamp
|
|
145
|
-
(`version=<semver>` on line 1, then `commit` and `built`). After pulling, read it; if you want to confirm
|
|
146
|
-
it is current, compare line 1 against the published marker at
|
|
147
|
-
`https://raw.githubusercontent.com/hostinger/api-mcp-server/main/skills/headless/VERSION` and re-pull if
|
|
148
|
-
they differ. Carry the version into `connect.json` (Phase 3) so the build report records which skills ran.
|
|
172
|
+
The tool routes don't download the skills: Phase 1 already found or installed `<skill>`. The bundle
|
|
173
|
+
ships a `headless/VERSION` stamp (`version=<semver>` on line 1, then `commit` and `built`); carry the
|
|
174
|
+
version into `connect.json` (Phase 3) so the build report records which skills ran.
|
|
149
175
|
|
|
150
176
|
## Phase 3 - Write `connect.json`
|
|
151
177
|
|
|
@@ -37,22 +37,13 @@ no tokens to handle:
|
|
|
37
37
|
```
|
|
38
38
|
|
|
39
39
|
Antigravity loads MCP servers only when the editor starts, so follow *register, restart, resume* in
|
|
40
|
-
`connect/SKILL.md`:
|
|
40
|
+
`connect/SKILL.md`: write `connect.json`, then ask the user to fully quit and reopen
|
|
41
41
|
Antigravity and paste the same prompt. Never spawn the server yourself or write a JSON-RPC client to
|
|
42
42
|
reach it.
|
|
43
43
|
|
|
44
|
-
## Step 2 —
|
|
44
|
+
## Step 2 — Hand off
|
|
45
45
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
the full tarball command):
|
|
51
|
-
|
|
52
|
-
```bash
|
|
53
|
-
# macOS/Linux — downloads only skills/headless from the public repo
|
|
54
|
-
curl -fsSL https://codeload.github.com/hostinger/api-mcp-server/tar.gz/refs/heads/main \
|
|
55
|
-
| tar -xz --strip-components=2 'api-mcp-server-main/skills/headless'
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
Then read the `headless/VERSION` stamp (record it in `connect.json`), open `headless/SKILL.md` and follow its steps. That skill owns the rest of the run.
|
|
46
|
+
The skills are already in place: Phase 1 of `connect/SKILL.md` found the installed `headless/`
|
|
47
|
+
folder or installed it from the `@hostinger/mcp` release. Don't download them again here. Read the
|
|
48
|
+
`headless/VERSION` stamp (record it in `connect.json`), open `headless/SKILL.md` and follow its
|
|
49
|
+
steps. That skill owns the rest of the run.
|
|
@@ -30,27 +30,13 @@ claude mcp add hostinger-ecommerce --scope user -- npx --package=@hostinger/mcp@
|
|
|
30
30
|
```
|
|
31
31
|
|
|
32
32
|
Claude Code loads MCP servers only at startup, so follow *register, restart, resume* in
|
|
33
|
-
`connect/SKILL.md`:
|
|
33
|
+
`connect/SKILL.md`: write `connect.json`, then ask the user to exit Claude Code, start it
|
|
34
34
|
again in the same folder (`claude`, or `claude --continue` to keep this conversation) and paste the
|
|
35
35
|
same prompt. Never spawn the server yourself or write a JSON-RPC client to reach it.
|
|
36
36
|
|
|
37
|
-
## Step 2 —
|
|
38
|
-
|
|
39
|
-
Download the Hostinger skills locally **at the start of every run** so your agent then reads the files directly with no further network calls during the run. **Always pull the latest and let it overwrite any existing local `headless/` folder** — a build must never run on a stale skill copy (an outdated local copy is how a deleted, legacy flow ends up executing). The repo is **public**, so fetch just the skill folder over HTTPS — no git, no credentials:
|
|
40
|
-
|
|
41
|
-
```bash
|
|
42
|
-
# macOS/Linux — downloads only skills/headless from the public repo
|
|
43
|
-
curl -fsSL https://codeload.github.com/hostinger/api-mcp-server/tar.gz/refs/heads/main \
|
|
44
|
-
| tar -xz --strip-components=2 'api-mcp-server-main/skills/headless'
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
```powershell
|
|
48
|
-
# Windows PowerShell
|
|
49
|
-
curl.exe -fsSL https://codeload.github.com/hostinger/api-mcp-server/tar.gz/refs/heads/main -o headless-skill.tar.gz
|
|
50
|
-
tar -xf headless-skill.tar.gz --strip-components=2 'api-mcp-server-main/skills/headless'
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
This leaves a local `headless/` folder with the full skill set. The bundle carries a `headless/VERSION` stamp (`version=<semver>`, commit, build date) — after pulling, read it and tell the user which skills version this run uses; it is the value to record in `connect.json`. If the tarball is ever blocked, browse the public folder at `https://github.com/hostinger/api-mcp-server/tree/main/skills/headless` and save each file under a local `headless/` directory, preserving the paths.
|
|
54
|
-
|
|
55
|
-
Then open `headless/SKILL.md` and follow the steps on it. That skill owns the rest of the run — it resolves the operations sequence.
|
|
37
|
+
## Step 2 — Hand off
|
|
56
38
|
|
|
39
|
+
The skills are already in place: Phase 1 of `connect/SKILL.md` found the installed `headless/`
|
|
40
|
+
folder or installed it from the `@hostinger/mcp` release. Don't download them again here. Read the
|
|
41
|
+
`headless/VERSION` stamp (record it in `connect.json`), open `headless/SKILL.md` and follow its
|
|
42
|
+
steps. That skill owns the rest of the run.
|
|
@@ -36,21 +36,12 @@ args = ["--package=@hostinger/mcp@latest", "hostinger-ecommerce-mcp"]
|
|
|
36
36
|
```
|
|
37
37
|
|
|
38
38
|
Codex loads MCP servers only when it starts, so follow *register, restart, resume* in
|
|
39
|
-
`connect/SKILL.md`:
|
|
39
|
+
`connect/SKILL.md`: write `connect.json`, then ask the user to restart Codex and paste the
|
|
40
40
|
same prompt. Never spawn the server yourself or write a JSON-RPC client to reach it.
|
|
41
41
|
|
|
42
|
-
## Step 2 —
|
|
42
|
+
## Step 2 — Hand off
|
|
43
43
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
the full tarball command):
|
|
49
|
-
|
|
50
|
-
```bash
|
|
51
|
-
# macOS/Linux — downloads only skills/headless from the public repo
|
|
52
|
-
curl -fsSL https://codeload.github.com/hostinger/api-mcp-server/tar.gz/refs/heads/main \
|
|
53
|
-
| tar -xz --strip-components=2 'api-mcp-server-main/skills/headless'
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
Then read the `headless/VERSION` stamp (record it in `connect.json`), open `headless/SKILL.md` and follow its steps. That skill owns the rest of the run.
|
|
44
|
+
The skills are already in place: Phase 1 of `connect/SKILL.md` found the installed `headless/`
|
|
45
|
+
folder or installed it from the `@hostinger/mcp` release. Don't download them again here. Read the
|
|
46
|
+
`headless/VERSION` stamp (record it in `connect.json`), open `headless/SKILL.md` and follow its
|
|
47
|
+
steps. That skill owns the rest of the run.
|
|
@@ -59,7 +59,7 @@ OAuth can run:
|
|
|
59
59
|
}
|
|
60
60
|
```
|
|
61
61
|
|
|
62
|
-
Cursor loads MCP servers only when the editor starts, so after Step 2
|
|
62
|
+
Cursor loads MCP servers only when the editor starts, so after Step 2 write `connect.json` and follow
|
|
63
63
|
*register, restart, resume* in `connect/SKILL.md`: ask the user to fully quit and reopen Cursor
|
|
64
64
|
(and, if Cursor asks, enable the two Hostinger servers under Settings → MCP), then paste the same
|
|
65
65
|
prompt. Never spawn the server yourself or write a JSON-RPC client to reach it: every connector call
|
|
@@ -100,18 +100,9 @@ npx --yes --package=@hostinger/mcp@latest hostinger-api-mcp --logout
|
|
|
100
100
|
|
|
101
101
|
**API token (optional, CI / scripts):** set `HOSTINGER_API_TOKEN` in the environment before launching Cursor. When present it always wins and no OAuth code runs. Do not commit the token.
|
|
102
102
|
|
|
103
|
-
## Step 3 —
|
|
103
|
+
## Step 3 — Hand off
|
|
104
104
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
the full tarball command):
|
|
110
|
-
|
|
111
|
-
```bash
|
|
112
|
-
# macOS/Linux — downloads only skills/headless from the public repo
|
|
113
|
-
curl -fsSL https://codeload.github.com/hostinger/api-mcp-server/tar.gz/refs/heads/main \
|
|
114
|
-
| tar -xz --strip-components=2 'api-mcp-server-main/skills/headless'
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
Then read the `headless/VERSION` stamp (record it in `connect.json`), open `headless/SKILL.md` and follow its steps. That skill owns the rest of the run.
|
|
105
|
+
The skills are already in place: Phase 1 of `connect/SKILL.md` found the installed `headless/`
|
|
106
|
+
folder or installed it from the `@hostinger/mcp` release. Don't download them again here. Read the
|
|
107
|
+
`headless/VERSION` stamp (record it in `connect.json`), open `headless/SKILL.md` and follow its
|
|
108
|
+
steps. That skill owns the rest of the run.
|
|
@@ -36,22 +36,13 @@ tokens to handle.
|
|
|
36
36
|
```
|
|
37
37
|
|
|
38
38
|
If the tools still aren't in this session, follow *register, restart, resume* in `connect/SKILL.md`:
|
|
39
|
-
|
|
39
|
+
write `connect.json`, then ask the user to restart the Devin session (on Devin Desktop,
|
|
40
40
|
fully quit and reopen the app) and paste the same prompt. Never spawn the server yourself or write a
|
|
41
41
|
JSON-RPC client to reach it.
|
|
42
42
|
|
|
43
|
-
## Step 2 —
|
|
43
|
+
## Step 2 — Hand off
|
|
44
44
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
the full tarball command):
|
|
50
|
-
|
|
51
|
-
```bash
|
|
52
|
-
# macOS/Linux — downloads only skills/headless from the public repo
|
|
53
|
-
curl -fsSL https://codeload.github.com/hostinger/api-mcp-server/tar.gz/refs/heads/main \
|
|
54
|
-
| tar -xz --strip-components=2 'api-mcp-server-main/skills/headless'
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
Then read the `headless/VERSION` stamp (record it in `connect.json`), open `headless/SKILL.md` and follow its steps. That skill owns the rest of the run.
|
|
45
|
+
The skills are already in place: Phase 1 of `connect/SKILL.md` found the installed `headless/`
|
|
46
|
+
folder or installed it from the `@hostinger/mcp` release. Don't download them again here. Read the
|
|
47
|
+
`headless/VERSION` stamp (record it in `connect.json`), open `headless/SKILL.md` and follow its
|
|
48
|
+
steps. That skill owns the rest of the run.
|
|
@@ -48,22 +48,13 @@ VS Code picks up new servers and their tools become available right away, with n
|
|
|
48
48
|
(Alternatively, the official Hostinger Connector extension installs the same server:
|
|
49
49
|
`code --install-extension hostinger-official.hostinger-connector`.)
|
|
50
50
|
|
|
51
|
-
If the tools still don't show up, follow *register, restart, resume* in `connect/SKILL.md`:
|
|
52
|
-
|
|
51
|
+
If the tools still don't show up, follow *register, restart, resume* in `connect/SKILL.md`: write
|
|
52
|
+
`connect.json`, then ask the user to run **Developer: Reload Window** and paste the same
|
|
53
53
|
prompt. Never spawn the server yourself or write a JSON-RPC client to reach it.
|
|
54
54
|
|
|
55
|
-
## Step 2 —
|
|
55
|
+
## Step 2 — Hand off
|
|
56
56
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
the full tarball command):
|
|
62
|
-
|
|
63
|
-
```bash
|
|
64
|
-
# macOS/Linux — downloads only skills/headless from the public repo
|
|
65
|
-
curl -fsSL https://codeload.github.com/hostinger/api-mcp-server/tar.gz/refs/heads/main \
|
|
66
|
-
| tar -xz --strip-components=2 'api-mcp-server-main/skills/headless'
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
Then read the `headless/VERSION` stamp (record it in `connect.json`), open `headless/SKILL.md` and follow its steps. That skill owns the rest of the run.
|
|
57
|
+
The skills are already in place: Phase 1 of `connect/SKILL.md` found the installed `headless/`
|
|
58
|
+
folder or installed it from the `@hostinger/mcp` release. Don't download them again here. Read the
|
|
59
|
+
`headless/VERSION` stamp (record it in `connect.json`), open `headless/SKILL.md` and follow its
|
|
60
|
+
steps. That skill owns the rest of the run.
|
|
@@ -115,9 +115,10 @@ echo "$DEPLOY_DIR/app.zip" # the absolute path to pass as `path` in Step 3
|
|
|
115
115
|
```
|
|
116
116
|
|
|
117
117
|
```powershell
|
|
118
|
-
# Windows PowerShell — %TEMP% sits under AppData, which the deploy also refuses; use a folder
|
|
118
|
+
# Windows PowerShell — %TEMP% sits under AppData, which the deploy also refuses; use a plain folder in your
|
|
119
|
+
# profile, which only you can write to (never a folder under C:\, which every local account can write into)
|
|
119
120
|
cd $HOME\.hostinger\<domain>\src
|
|
120
|
-
$DeployDir = Join-Path $
|
|
121
|
+
$DeployDir = Join-Path $HOME "hostinger-deploy\<domain>"; New-Item -ItemType Directory -Force $DeployDir | Out-Null
|
|
121
122
|
tar -a -cf "$DeployDir\app.zip" --exclude=node_modules --exclude=.next --exclude=dist --exclude=out --exclude=.git --exclude=.htaccess .
|
|
122
123
|
"$DeployDir\app.zip" # the absolute path to pass as `path` in Step 3
|
|
123
124
|
```
|
|
@@ -243,7 +244,7 @@ serves the build as plain files over the document root and **overwrites `/cms`**
|
|
|
243
244
|
WordPress backend (this is the "accidentally cleared cms" failure). A static-built SPA (Vite/React/Vue)
|
|
244
245
|
still deploys as `type: "nodejs"` with its `appType` — the framework's static output is served correctly
|
|
245
246
|
that way, and `/cms` is preserved. If a flow ever tells you to deploy a headless site as `type:
|
|
246
|
-
"static"`, you are on a stale/legacy skill copy — stop and
|
|
247
|
+
"static"`, you are on a stale/legacy skill copy — stop and update the skill (`npx skills update` or the plugin update for an installed skill, or connect's Phase 1 npm install for a web-installed `headless/` folder).
|
|
247
248
|
|
|
248
249
|
`hosting_deploy` on the local server is the only path: give its `path` a local **archive** (`zip`, `tar`,
|
|
249
250
|
`tar.gz`, `tgz`, `7z`) written outside `~/.hostinger/` as in Step 2. There is no separate upload or
|