@@ -16,21 +15,10 @@
```bash
curl -fsSL https://feynman.is/install | bash
-```
-```powershell
-# Windows
-irm https://feynman.is/install.ps1 | iex
-```
-
-```bash
-# npm fallback
-npm install -g @companion-ai/feynman
-
-# pnpm fallback
+# package manager fallback
pnpm add -g @companion-ai/feynman
-# bun fallback
bun add -g @companion-ai/feynman
```
@@ -108,7 +96,7 @@ Built on [Pi](https://github.com/badlogic/pi-mono) for the agent runtime, [alpha
```bash
git clone https://github.com/getcompanion-ai/feynman.git
-cd feynman && npm install && npm run start
+cd feynman && pnpm install && pnpm start
```
[Docs](https://feynman.is/docs) · [MIT License](LICENSE)
diff --git a/bin/feynman.js b/bin/feynman.js
old mode 100644
new mode 100755
index 7013b72..3d857a1
--- a/bin/feynman.js
+++ b/bin/feynman.js
@@ -5,4 +5,5 @@ if (v[0] < 20) {
console.error("upgrade: https://nodejs.org or nvm install 20");
process.exit(1);
}
-import("../dist/index.js");
+await import("../scripts/patch-embedded-pi.mjs");
+await import("../dist/index.js");
diff --git a/package.json b/package.json
index d8e6785..23d7889 100644
--- a/package.json
+++ b/package.json
@@ -34,7 +34,6 @@
"build:native-bundle": "node ./scripts/build-native-bundle.mjs",
"dev": "tsx src/index.ts",
"prepack": "node ./scripts/prepare-runtime-workspace.mjs",
- "postinstall": "node ./scripts/patch-embedded-pi.mjs",
"start": "tsx src/index.ts",
"start:dist": "node ./bin/feynman.js",
"test": "node --import tsx --test --test-concurrency=1 tests/*.test.ts",
diff --git a/scripts/install/install.ps1 b/scripts/install/install.ps1
index 3632778..49246c7 100644
--- a/scripts/install/install.ps1
+++ b/scripts/install/install.ps1
@@ -57,7 +57,6 @@ This usually means the release exists, but not all platform bundles were uploade
Workarounds:
- try again after the release finishes publishing
- - install via npm instead: npm install -g @companion-ai/feynman
- install via pnpm instead: pnpm add -g @companion-ai/feynman
- install via bun instead: bun add -g @companion-ai/feynman
"@
diff --git a/scripts/install/install.sh b/scripts/install/install.sh
index 9afa0ff..6f66476 100644
--- a/scripts/install/install.sh
+++ b/scripts/install/install.sh
@@ -232,7 +232,6 @@ This usually means the release exists, but not all platform bundles were uploade
Workarounds:
- try again after the release finishes publishing
- - install via npm instead: npm install -g @companion-ai/feynman
- install via pnpm instead: pnpm add -g @companion-ai/feynman
- install via bun instead: bun add -g @companion-ai/feynman
EOF
diff --git a/website/public/install b/website/public/install
index 9afa0ff..6f66476 100644
--- a/website/public/install
+++ b/website/public/install
@@ -232,7 +232,6 @@ This usually means the release exists, but not all platform bundles were uploade
Workarounds:
- try again after the release finishes publishing
- - install via npm instead: npm install -g @companion-ai/feynman
- install via pnpm instead: pnpm add -g @companion-ai/feynman
- install via bun instead: bun add -g @companion-ai/feynman
EOF
diff --git a/website/public/install.ps1 b/website/public/install.ps1
index 3632778..49246c7 100644
--- a/website/public/install.ps1
+++ b/website/public/install.ps1
@@ -57,7 +57,6 @@ This usually means the release exists, but not all platform bundles were uploade
Workarounds:
- try again after the release finishes publishing
- - install via npm instead: npm install -g @companion-ai/feynman
- install via pnpm instead: pnpm add -g @companion-ai/feynman
- install via bun instead: bun add -g @companion-ai/feynman
"@
diff --git a/website/src/content/docs/getting-started/installation.md b/website/src/content/docs/getting-started/installation.md
index 2467269..df50427 100644
--- a/website/src/content/docs/getting-started/installation.md
+++ b/website/src/content/docs/getting-started/installation.md
@@ -1,11 +1,11 @@
---
title: Installation
-description: Install Feynman on macOS, Linux, or Windows using the one-line installer or npm.
+description: Install Feynman on macOS, Linux, or Windows using curl, pnpm, or bun.
section: Getting Started
order: 1
---
-Feynman ships as a standalone runtime bundle for macOS, Linux, and Windows, and as an npm package for environments where Node.js is already installed. The recommended approach is the one-line installer, which downloads a prebuilt native bundle with zero external runtime dependencies.
+Feynman ships as a standalone runtime bundle for macOS, Linux, and Windows, and as a package-manager install for environments where Node.js is already installed. The recommended approach is the one-line installer, which downloads a prebuilt native bundle with zero external runtime dependencies.
## One-line installer (recommended)
@@ -25,15 +25,9 @@ irm https://feynman.is/install.ps1 | iex
This installs the Windows runtime bundle under `%LOCALAPPDATA%\Programs\feynman`, adds its launcher to your user `PATH`, and lets you re-run the installer at any time to update.
-## npm / npx
+## pnpm / bun
-If you already have Node.js 20.18.1+ installed, you can install Feynman globally via npm:
-
-```bash
-npm install -g @companion-ai/feynman
-```
-
-`pnpm` and `bun` are supported as well:
+If you already have Node.js 20.18.1+ installed, you can install Feynman globally via `pnpm` or `bun`:
```bash
pnpm add -g @companion-ai/feynman
@@ -42,16 +36,12 @@ bun add -g @companion-ai/feynman
Or run it directly without installing:
-```bash
-npx @companion-ai/feynman
-```
-
```bash
pnpm dlx @companion-ai/feynman
bunx @companion-ai/feynman
```
-The npm distribution ships the same core application but depends on Node.js being present on your system. The standalone installer is preferred because it bundles its own Node runtime and works without a separate Node installation.
+The package-manager distribution ships the same core application but depends on Node.js being present on your system. The standalone installer is preferred because it bundles its own Node runtime and works without a separate Node installation.
## Post-install setup
@@ -80,6 +70,6 @@ For contributing or running Feynman from source:
```bash
git clone https://github.com/getcompanion-ai/feynman.git
cd feynman
-npm install
-npm run start
+pnpm install
+pnpm start
```
diff --git a/website/src/pages/index.astro b/website/src/pages/index.astro
index 4ebe17c..f04583c 100644
--- a/website/src/pages/index.astro
+++ b/website/src/pages/index.astro
@@ -36,6 +36,12 @@ const terminalCommands = [
{ command: "feynman audit 2401.12345", description: "Paper claims vs. what the code actually does" },
{ command: 'feynman replicate "chain-of-thought improves math"', description: "Replication plan, compute target, experiment execution" },
]
+
+const installCommands = [
+ { label: "curl", command: "curl -fsSL https://feynman.is/install | bash" },
+ { label: "pnpm", command: "pnpm add -g @companion-ai/feynman" },
+ { label: "bun", command: "bun add -g @companion-ai/feynman" },
+]
---
@@ -51,15 +57,23 @@ const terminalCommands = [