Files
hermes-agent/package.json
T
Maciej Lisiewski 7062229090 chore(js): switch the workspaces from npm to pnpm
pnpm 12.15.0 (native executable) installs every JS workspace from one
pnpm-lock.yaml, imported from package-lock.json with the same resolved
versions. website/, the WhatsApp bridge and the photon sidecar stay separate
npm projects.

Configuration moves from .npmrc and the root manifest into
pnpm-workspace.yaml: the 14-day minimumReleaseAge and its excludes,
overrides, allowBuilds (the old allowScripts set, with strictDepBuilds
failing any unlisted build script), engineStrict, sideEffectsCache: false
(in-place rebuilds must not write into the store) and
verifyDepsBeforeRun: false (a `pnpm run` never installs).

The pnpm version is pinned in pm/lock.json and in root devEngines.
pmOnFail: ignore keeps that pin out of pnpm-lock.yaml: a leading pin
document makes osv-scanner read zero packages. scripts/build/node-deps.mjs
enforces the exact version instead, and every lock reader refuses a
multi-document lock. A root preinstall refuses `npm install`; devEngines
onFail is warn so npx (MCP servers, the tsc linter) keeps working inside
the checkout.

User-machine installs run --frozen-lockfile --trust-lockfile (release age is
checked when locking, in CI, not per user). node-deps removes npm-era
node_modules trees before the first pnpm install. Nix builds the store with
fetchPnpmDeps and a hash file that CI checks.
2026-11-06 04:08:24 +01:00

58 lines
2.1 KiB
JSON

{
"name": "hermes-agent",
"version": "1.0.0",
"description": "An AI agent with advanced tool-calling capabilities, featuring a flexible toolsets system for organizing and managing tools.",
"private": true,
"scripts": {
"preinstall": "node -e \"if(!/^pnpm\\//.test(process.env.npm_config_user_agent||'')){console.error('This repository installs with pnpm: run pnpm install --frozen-lockfile');process.exit(1)}\"",
"postinstall": "echo '✅ Node dependencies installed. Run: python run_agent.py --help'",
"install:root": "pnpm install --filter .",
"install:web": "pnpm install --filter web...",
"install:tui": "pnpm install --filter hermes-tui...",
"install:desktop": "pnpm install --filter hermes...",
"audit:root": "pnpm audit --filter .",
"audit:web": "pnpm audit --filter web",
"audit:tui": "pnpm audit --filter hermes-tui",
"audit:fix:root": "pnpm audit --fix --filter .",
"audit:fix:web": "pnpm audit --fix --filter web",
"audit:fix:tui": "pnpm audit --fix --filter hermes-tui",
"check": "pnpm -r check",
"fix": "pnpm -r fix",
"prepare": "node -e \"const {existsSync}=require('fs');const {spawnSync}=require('child_process');if(existsSync('.git'))spawnSync('lefthook',['install'],{stdio:'inherit',shell:true})\""
},
"repository": {
"type": "git",
"url": "git+https://github.com/NousResearch/Hermes-Agent.git"
},
"license": "MIT",
"bugs": {
"url": "https://github.com/NousResearch/Hermes-Agent/issues"
},
"homepage": "https://github.com/NousResearch/Hermes-Agent#readme",
"devDependencies": {
"@eslint/js": "9.39.5",
"eslint": "10.12.0",
"eslint-plugin-perfectionist": "5.12.1",
"eslint-plugin-react-hooks": "7.1.1",
"eslint-plugin-unused-imports": "4.4.1",
"globals": "17.13.0",
"lefthook": "2.2.1",
"typescript": "6.0.3",
"typescript-eslint": "8.71.1"
},
"engines": {
"node": ">=26"
},
"devEngines": {
"packageManager": {
"name": "pnpm",
"version": "12.15.0",
"onFail": "warn"
}
},
"dependencies": {
"js-yaml": "4.3.2",
"semver": "7.7.4"
}
}