Skip to content

Commit 19310d7

Browse files
committed
Scope the npm package name to @cloro-dev/cloro
npm's typosquat filter blocks the unscoped `cloro` name (too similar to clone/color/colors/cbor/cors), so publish under the org scope. The `Cloro` class and all usage are unchanged — only the package name (install + import specifier) changes. Adds publishConfig.access=public so scoped releases publish publicly. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Nt1z25x2dgNpHw6nbRjoXg
1 parent eb5e361 commit 19310d7

3 files changed

Lines changed: 9 additions & 6 deletions

File tree

.github/workflows/publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: Publish
33
# Builds and publishes to npm when a GitHub Release is published.
44
# Uses npm Trusted Publishing (OIDC) — no npm token stored in the repo.
55
# Configure the trusted publisher once at:
6-
# https://www.npmjs.com/package/cloro/access (Trusted Publisher → GitHub Actions)
6+
# https://www.npmjs.com/package/@cloro-dev/cloro/access (Trusted Publisher → GitHub Actions)
77
# pointing at this repo + workflow (publish.yml) and environment "npm".
88

99
on:

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ and both ESM and CommonJS builds.
1212
## Installation
1313

1414
```bash
15-
npm install cloro
15+
npm install @cloro-dev/cloro
1616
```
1717

1818
Requires Node 18+ (uses the built-in `fetch`). Works with TypeScript, ESM, and
@@ -21,7 +21,7 @@ CommonJS.
2121
## Quickstart
2222

2323
```ts
24-
import { Cloro } from "cloro";
24+
import { Cloro } from "@cloro-dev/cloro";
2525

2626
const client = new Cloro({ apiKey: "sk_live_..." }); // or set CLORO_API_KEY
2727

@@ -45,7 +45,7 @@ pass `apiKey`. Get a key (and 500 free credits) at
4545
<summary>CommonJS</summary>
4646

4747
```js
48-
const { Cloro } = require("cloro");
48+
const { Cloro } = require("@cloro-dev/cloro");
4949

5050
const client = new Cloro({ apiKey: "sk_live_..." });
5151
client.monitor.chatgpt({ prompt: "...", country: "US" }).then((res) => {
@@ -139,7 +139,7 @@ const client = new Cloro({
139139
All errors subclass `CloroError`. HTTP failures map to status-specific types:
140140

141141
```ts
142-
import { Cloro, AuthenticationError, RateLimitError, CloroError } from "cloro";
142+
import { Cloro, AuthenticationError, RateLimitError, CloroError } from "@cloro-dev/cloro";
143143

144144
try {
145145
await client.monitor.chatgpt({ prompt: "...", country: "US" });

package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"name": "cloro",
2+
"name": "@cloro-dev/cloro",
33
"version": "0.1.0",
44
"description": "Official TypeScript/Node SDK for the cloro API — one API for Google Search and every AI answer engine (ChatGPT, Gemini, Perplexity, Copilot, Grok, AI Overview, AI Mode).",
55
"keywords": [
@@ -44,6 +44,9 @@
4444
"files": [
4545
"dist"
4646
],
47+
"publishConfig": {
48+
"access": "public"
49+
},
4750
"engines": {
4851
"node": ">=18"
4952
},

0 commit comments

Comments
 (0)