From c8436e74f16bc39cc1edc7a9bd95b4cd7a7c5c30 Mon Sep 17 00:00:00 2001 From: "Marc H. Weiner" Date: Tue, 24 Feb 2026 11:15:14 -0500 Subject: [PATCH 1/2] chore: migrate from GitHub Packages to public npm Change package scope from @logfoxai to @logfox and publish to registry.npmjs.org instead of npm.pkg.github.com. This makes the CLI installable without authentication. --- .github/workflows/ci.yml | 14 ++------------ .github/workflows/release.yml | 6 ++---- README.md | 4 ++-- package.json | 5 +++-- 4 files changed, 9 insertions(+), 20 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 15ade06..b1be69a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -4,7 +4,6 @@ on: branches: [main] permissions: contents: read - packages: read jobs: ci: runs-on: ubuntu-latest @@ -13,15 +12,6 @@ jobs: - uses: actions/setup-node@v4 with: node-version: 20 - registry-url: https://npm.pkg.github.com - scope: "@logfoxai" cache: 'npm' - - name: Set up npm token - run: | - npm config set //npm.pkg.github.com/:_authToken "$NPM_TOKEN" - env: - NPM_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Install deps - run: npm ci - - name: Build - run: npm run build + - run: npm ci + - run: npm run build diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index eab0925..acfa923 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -8,7 +8,6 @@ jobs: runs-on: ubuntu-latest permissions: contents: write - packages: write steps: - uses: actions/checkout@v4 with: @@ -17,11 +16,10 @@ jobs: - uses: actions/setup-node@v4 with: node-version: 20 - registry-url: https://npm.pkg.github.com - scope: "@logfoxai" + registry-url: https://registry.npmjs.org - run: npm ci - run: npm run build - run: npx autorel@^2 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/README.md b/README.md index 8bdf906..ca0225e 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# @logfoxai/cli +# @logfox/cli [![build status](https://github.com/logfoxai/cli/actions/workflows/release.yml/badge.svg)](https://github.com/logfoxai/cli/actions) [![SemVer](https://img.shields.io/badge/SemVer-2.0.0-blue)]() @@ -10,7 +10,7 @@ CLI tool for sending local development logs to Logfox. ## Installation ```bash -npm install -g @logfoxai/cli +npm install -g @logfox/cli ``` ## Quick Start diff --git a/package.json b/package.json index a16e793..5e94526 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "@logfoxai/cli", + "name": "@logfox/cli", "version": "0.0.1", "description": "Logfox CLI for local development logging", "main": "dist/index.js", @@ -14,7 +14,8 @@ "url": "git+https://github.com/logfoxai/cli.git" }, "publishConfig": { - "registry": "https://npm.pkg.github.com" + "registry": "https://registry.npmjs.org", + "access": "public" }, "scripts": { "build": "tsc", From 3f1f10dcb101ee5c6272fcd4fbbbe37e097e8fab Mon Sep 17 00:00:00 2001 From: "Marc H. Weiner" Date: Tue, 24 Feb 2026 11:29:48 -0500 Subject: [PATCH 2/2] fix: use OIDC for npm publish, fix bin path, rename command to logfox - Use id-token permission and --provenance for trusted publishing - Remove ./ prefix from bin path (npm validation quirk) - Update README to use logfox command instead of logspace --- .github/workflows/release.yml | 4 ++-- README.md | 16 ++++++++-------- package-lock.json | 24 ++++++++++++------------ package.json | 4 ++-- 4 files changed, 24 insertions(+), 24 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index acfa923..e3cf7b9 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -8,6 +8,7 @@ jobs: runs-on: ubuntu-latest permissions: contents: write + id-token: write steps: - uses: actions/checkout@v4 with: @@ -19,7 +20,6 @@ jobs: registry-url: https://registry.npmjs.org - run: npm ci - run: npm run build - - run: npx autorel@^2 + - run: npx autorel@^2 --publish-args="--provenance" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/README.md b/README.md index ca0225e..db66b1b 100644 --- a/README.md +++ b/README.md @@ -17,21 +17,21 @@ npm install -g @logfox/cli ```bash # Authenticate -logspace login +logfox login # Run your app with logging -logspace run --name my-app -- npm start +logfox run --name my-app -- npm start ``` Logs appear in Logfox under environment "local". ## Commands -Run `logspace --help` to see all available commands. +Run `logfox --help` to see all available commands. ## How it Works -1. `logspace run` wraps your command and captures stdout/stderr +1. `logfox run` wraps your command and captures stdout/stderr 2. Logs are parsed (JSON or plain text) and batched 3. Sent to Logfox under environment "local" with app name `local-{hash}-{name}` 4. Issues are detected and grouped just like production logs @@ -43,7 +43,7 @@ Run `logspace --help` to see all available commands. ## Configuration -Config is stored in `~/.logfox/config.json`. Use `logspace config` to view current settings. +Config is stored in `~/.logfox/config.json`. Use `logfox config` to view current settings. | Key | Default | Description | |-----|---------|-------------| @@ -56,7 +56,7 @@ Config is stored in `~/.logfox/config.json`. Use `logspace config` to view curre To point the CLI at local services: ```bash -logspace config:set apiUrl http://localhost:3000 -logspace config:set appUrl http://localhost:4000 -logspace login +logfox config:set apiUrl http://localhost:3000 +logfox config:set appUrl http://localhost:4000 +logfox login ``` diff --git a/package-lock.json b/package-lock.json index d4c030f..e4c6e81 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,18 +1,18 @@ { - "name": "@logspacehq/cli", + "name": "@logfox/cli", "version": "0.0.1", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "@logspacehq/cli", + "name": "@logfox/cli", "version": "0.0.1", "dependencies": { "commander": "12.1.0", "open": "10.1.0" }, "bin": { - "logspace": "dist/index.js" + "logfox": "dist/index.js" }, "devDependencies": { "@types/node": "20.17.22", @@ -497,9 +497,9 @@ } }, "node_modules/default-browser": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.4.0.tgz", - "integrity": "sha512-XDuvSq38Hr1MdN47EDvYtx3U0MTqpCEn+F6ft8z2vYDzMrvQhVp0ui9oQdqW3MvK3vqUETglt1tVGgjLuJ5izg==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.5.0.tgz", + "integrity": "sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==", "license": "MIT", "dependencies": { "bundle-name": "^4.1.0", @@ -594,9 +594,9 @@ } }, "node_modules/get-tsconfig": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.0.tgz", - "integrity": "sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==", + "version": "4.13.6", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.6.tgz", + "integrity": "sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==", "dev": true, "license": "MIT", "dependencies": { @@ -640,9 +640,9 @@ } }, "node_modules/is-wsl": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", - "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.1.tgz", + "integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==", "license": "MIT", "dependencies": { "is-inside-container": "^1.0.0" diff --git a/package.json b/package.json index 5e94526..8ecfe47 100644 --- a/package.json +++ b/package.json @@ -2,9 +2,9 @@ "name": "@logfox/cli", "version": "0.0.1", "description": "Logfox CLI for local development logging", - "main": "dist/index.js", + "main": "./dist/index.js", "bin": { - "logspace": "./dist/index.js" + "logfox": "dist/index.js" }, "files": [ "dist"