clispark 1.0.1 → 1.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.
Files changed (2) hide show
  1. package/README.md +5 -5
  2. package/package.json +5 -1
package/README.md CHANGED
@@ -4,7 +4,7 @@ Interactive scaffolding tool for new CLI projects. Run `npx clispark` to generat
4
4
 
5
5
  ## Status
6
6
 
7
- 🚧 **Work in progress not yet published to npm.**
7
+ **Published on npm as [`clispark`](https://www.npmjs.com/package/clispark).**
8
8
 
9
9
  | Milestone | Description | Status |
10
10
  | --- | --- | --- |
@@ -13,13 +13,11 @@ Interactive scaffolding tool for new CLI projects. Run `npx clispark` to generat
13
13
  | M2.5 | Generator's own logging & error handling (dogfooding) | ✅ Done |
14
14
  | M3 | Core runtime features in generated boilerplate (auto command registration, logging, error handling, testing, example command) | ✅ Done |
15
15
  | M4 | Private registry support (`.npmrc` generation, wired into scaffold's own `npm install`) | ✅ Done |
16
- | M5 | Documentation (`ARCHITECTURE.md`) & release automation (CI, Conventional-Commits versioning, npm publish pipeline) | ✅ Done — first real release pending |
16
+ | M5 | Documentation (`ARCHITECTURE.md`) & release automation (CI, Conventional-Commits versioning, npm publish pipeline) | ✅ Done |
17
17
  | M6 | Update mechanism for already-generated projects | 🔜 Next |
18
18
 
19
19
  ## Usage
20
20
 
21
- Once published, running the generator will look like this:
22
-
23
21
  ```bash
24
22
  npx clispark
25
23
  ```
@@ -45,7 +43,9 @@ Every generated project includes:
45
43
 
46
44
  ## Releases
47
45
 
48
- Releases are automated via [release-please](https://github.com/googleapis/release-please): every commit to `master` follows [Conventional Commits](https://www.conventionalcommits.org/) (`feat:` → minor, `fix:` → patch, `BREAKING CHANGE` → major), and release-please maintains a running "Release PR" with the version bump and changelog. Merging that PR creates a GitHub Release, which triggers the `publish.yml` workflow: it re-runs the full CI suite (tests, typecheck, build, security audit, a scaffold smoke test) against the release commit, then publishes to npm.
46
+ Releases are automated via [release-please](https://github.com/googleapis/release-please): every commit to `master` follows [Conventional Commits](https://www.conventionalcommits.org/) (`feat:` → minor, `fix:` → patch, `BREAKING CHANGE` → major), and release-please maintains a running "Release PR" with the version bump and changelog. Merging that PR creates a GitHub Release, which triggers the `publish.yml` workflow: it re-runs the full CI suite (tests, typecheck, build, security audit, a scaffold smoke test) against the release commit, then publishes to npm using [Trusted Publishing](https://docs.npmjs.com/trusted-publishers) (OIDC) — no long-lived npm token is stored anywhere.
47
+
48
+ release-please itself authenticates with a `RELEASE_PLEASE_TOKEN` (a fine-grained PAT), not the default `GITHUB_TOKEN` — GitHub suppresses workflow-triggering events caused by the default token, which would otherwise silently prevent `publish.yml` from ever firing after a release.
49
49
 
50
50
  CI (`ci.yml`) runs on every push/PR: unit tests, typecheck, build, `npm audit --audit-level=high` (blocking on high/critical findings, which are also tracked as GitHub issues), and an end-to-end scaffold smoke test that generates a real project and runs its own test suite — the same kind of check previously done manually for each milestone.
51
51
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clispark",
3
- "version": "1.0.1",
3
+ "version": "1.1.0",
4
4
  "description": "Interactive scaffolding tool for new CLI projects",
5
5
  "keywords": [
6
6
  "cli",
@@ -38,6 +38,7 @@
38
38
  "build": "tsup",
39
39
  "postbuild": "shx chmod +x dist/cli.js",
40
40
  "dev": "tsx src/cli.ts",
41
+ "lint": "eslint src",
41
42
  "test": "vitest run",
42
43
  "typecheck": "tsc --noEmit"
43
44
  },
@@ -49,12 +50,15 @@
49
50
  "pino": "^9.6.0"
50
51
  },
51
52
  "devDependencies": {
53
+ "@eslint/js": "^10.0.1",
52
54
  "@types/cross-spawn": "^6.0.6",
53
55
  "@types/node": "^22.10.5",
56
+ "eslint": "^10.7.0",
54
57
  "shx": "^0.3.4",
55
58
  "tsup": "^8.3.5",
56
59
  "tsx": "^4.19.2",
57
60
  "typescript": "^5.7.2",
61
+ "typescript-eslint": "^8.63.0",
58
62
  "vitest": "^4.1.10"
59
63
  }
60
64
  }