create-clientkit 1.0.0 → 1.0.1

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/README.md CHANGED
@@ -15,10 +15,8 @@ it lands on disk.
15
15
  npm create clientkit@latest acme-website
16
16
  ```
17
17
 
18
- ---
19
-
20
- > **Status: pre-release (0.1.0).** Feature-complete for V1 and verified in CI
21
- > across Windows, macOS and Linux, but not yet published to npm.
18
+ [![npm](https://img.shields.io/npm/v/create-clientkit)](https://www.npmjs.com/package/create-clientkit)
19
+ [![CI](https://github.com/JosuK22/create-clientkit/actions/workflows/ci.yml/badge.svg)](https://github.com/JosuK22/create-clientkit/actions/workflows/ci.yml)
22
20
 
23
21
  ---
24
22
 
@@ -41,11 +39,12 @@ and warns before generating that the project itself will need 22.12+.
41
39
  | Windows | yes | yes | Node 20.19, 22, 24 (site: 22) |
42
40
  | macOS | yes | yes | Node 20.19, 22, 24 (site: 22) |
43
41
 
44
- > **Verification status.** Windows is verified directly the full test suite,
45
- > clean-room packaging and generated-project builds are run there. The Linux
46
- > and macOS rows describe what `.github/workflows/ci.yml` covers; that
47
- > workflow has not yet executed on GitHub-hosted runners, so treat those rows
48
- > as intended coverage rather than observed results until the first CI run.
42
+ > **Verification status.** Every row above is observed, not intended: the CI
43
+ > workflow runs on GitHub-hosted runners for all three platforms on each push.
44
+ > One exception is called out honestly Ctrl+C cancellation cannot be tested
45
+ > on Windows, which has neither pty allocation nor POSIX signal delivery to a
46
+ > child process, so `scripts/cancel-check.mjs` prints the manual procedure
47
+ > there instead of asserting anything.
49
48
 
50
49
  ## Usage
51
50
 
@@ -166,12 +165,18 @@ on after launch keeps the real site invisible.
166
165
 
167
166
  1. Set `SITE.url` in `src/config/site.config.ts` — canonical URLs and the
168
167
  sitemap depend on it.
169
- 2. Replace `public/favicon.svg` with the client's mark.
170
- 3. Add a 1200×630 image to `public/` and set `SEO.image` if you want social
171
- previews. No `og:image` is emitted until you do.
172
- 4. Fill in `CONTACT` and `SOCIAL` anything left empty is not rendered, and
168
+ 2. Rewrite `SITE.description`. It is generated as `Official website of <Name>.`
169
+ deliberately generic, because the CLI will not invent claims about a
170
+ business it knows nothing about. It is a placeholder, and it becomes the
171
+ meta description, `og:description` and the X card description. Aim for
172
+ roughly 120–160 characters of real copy.
173
+ 3. Replace `public/favicon.svg` with the client's mark.
174
+ 4. Add a 1200×630 image to `public/` and set `SEO.image` if you want social
175
+ previews. No `og:image` is emitted until you do, and the X card stays
176
+ `summary` rather than rendering an empty `summary_large_image`.
177
+ 5. Fill in `CONTACT` and `SOCIAL` — anything left empty is not rendered, and
173
178
  not claimed in the structured data.
174
- 5. `npm run check && npm run build`, then deploy `dist/` as a static site.
179
+ 6. `npm run check && npm run build`, then deploy `dist/` as a static site.
175
180
 
176
181
  Only the origin of `SITE.url` is used. To deploy under a subpath, also set
177
182
  `base` in `astro.config.mjs`.
@@ -222,6 +227,13 @@ The CLI publishes with `dependencies: {}` — its dependencies are bundled into
222
227
  resolution. See [THIRD-PARTY.md](./THIRD-PARTY.md) and
223
228
  [RELEASING.md](./RELEASING.md).
224
229
 
230
+ ## Contributing
231
+
232
+ Bug reports and ideas are welcome — see [CONTRIBUTING.md](./CONTRIBUTING.md).
233
+ The quickest useful report is an
234
+ [issue from a template](https://github.com/JosuK22/create-clientkit/issues/new/choose),
235
+ since they ask for the versions and the exact command up front.
236
+
225
237
  ## Licence
226
238
 
227
239
  MIT — see [LICENSE](./LICENSE). Generated client projects are **not** MIT; they
package/dist/cli.js CHANGED
@@ -2418,9 +2418,12 @@ function helpText() {
2418
2418
  npm create clientkit@latest acme-website --yes --no-install
2419
2419
  npm create clientkit@latest --from ./agency-preset.json --dry-run
2420
2420
 
2421
- Note
2422
- Early build: configuration is resolved and validated, but no files are
2423
- generated yet.
2421
+ Notes
2422
+ Dependencies are installed and a git repository is initialised by default.
2423
+ Pass --no-install or --no-git to skip either.
2424
+
2425
+ The generated project is yours - private, unlicensed and dependency-pinned.
2426
+ Nothing phones home and nothing is downloaded beyond your own install.
2424
2427
  `.trimStart();
2425
2428
  }
2426
2429
 
@@ -2474,7 +2477,7 @@ var Logger = class {
2474
2477
  };
2475
2478
 
2476
2479
  // src/version.ts
2477
- var CLI_VERSION = true ? "1.0.0" : "0.0.0-dev";
2480
+ var CLI_VERSION = true ? "1.0.1" : "0.0.0-dev";
2478
2481
 
2479
2482
  // src/cli.ts
2480
2483
  async function main(argv, options = {}) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-clientkit",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Create the boring foundation of your next client website in seconds.",
5
5
  "keywords": [
6
6
  "cli",
@@ -51,10 +51,11 @@
51
51
  "audit": "node scripts/audit-site.mjs",
52
52
  "preflight": "node scripts/preflight.mjs",
53
53
  "verify": "npm run typecheck && npm run lint && npm run format:check && npm run test && npm run build",
54
- "prepublishOnly": "npm run preflight",
54
+ "prepublishOnly": "node scripts/preflight.mjs --skip-if-verified",
55
55
  "cancel-check": "node scripts/cancel-check.mjs",
56
56
  "drift": "node scripts/drift-probe.mjs",
57
- "drift:report": "node scripts/drift-probe.mjs --report"
57
+ "drift:report": "node scripts/drift-probe.mjs --report",
58
+ "drift:selftest": "node scripts/drift-probe.mjs --simulate-drift tailwindcss@4.3.2"
58
59
  },
59
60
  "devDependencies": {
60
61
  "@clack/prompts": "^0.11.0",
@@ -78,6 +78,20 @@ sitemap and the sitemap line in `robots.txt` - rather than pointing them at a
78
78
  domain nobody owns yet. Fill `SITE.url` in and they all appear. Only the
79
79
  origin is used; a subpath deployment also needs Astro's `base` option.
80
80
 
81
+ ### Social previews and the description
82
+
83
+ `SITE.description` arrives as `Official website of {{siteName}}.` That is a
84
+ placeholder, not a suggestion. It was generated without knowing anything about
85
+ the business, and it becomes the meta description, `og:description` and the X
86
+ card description - so it is worth replacing with real copy, roughly 120-160
87
+ characters, before launch.
88
+
89
+ `SEO.image` starts empty and no `og:image` is emitted while it is. The X card
90
+ stays `summary` in that state rather than claiming `summary_large_image` with
91
+ no image to show, which renders as an empty card. Drop a 1200x630 image into
92
+ `public/`, point `SEO.image` at it, and the card switches to the large format
93
+ on its own.
94
+
81
95
  ### Indexing
82
96
 
83
97
  `SEO.noindex` controls it, and it is `false` by default so a launched site is