mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-24 16:54:43 +00:00
Every npm workspace package now defines check:* scripts (check:unit, check:lint, check:bundle, check:typecheck, etc.) that fan out to separate matrix runners in CI. The check umbrella script chains all shards for local dev. The matrix discovery in the workspaces job queries npm workspaces, finds check:* scripts (in package.json insertion order), falls back to check when none exist, and emits an include matrix. No hardcoded package names — the workflow is fully auto-derived from workspace metadata. Previously every package ran a single check script on one worker, and the fix step (lint:fix + prettier) ran as a separate CI step with special-cased run_fix gating to avoid running on every shard. Now that lint is just another check:lint shard, the run_fix field and the fix step are gone entirely — lint runs in its own runner like everything else.
50 lines
1.5 KiB
JSON
50 lines
1.5 KiB
JSON
{
|
|
"name": "hermes-tui",
|
|
"version": "0.0.1",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "npm run build:ink && tsx --watch src/entry.tsx",
|
|
"start": "tsx src/entry.tsx",
|
|
"build": "node scripts/build.mjs",
|
|
"build:ink": "npm run build --prefix packages/hermes-ink",
|
|
"visual": "node scripts/visual/run.mjs",
|
|
"typecheck": "tsc --noEmit -p tsconfig.json",
|
|
"lint": "eslint src/ packages/",
|
|
"lint:fix": "eslint src/ packages/ --fix",
|
|
"fmt": "prettier --write 'src/**/*.{ts,tsx}' 'packages/**/*.{ts,tsx}'",
|
|
"fix": "npm run lint:fix && npm run fmt",
|
|
"check": "npm run build:ink && npm run typecheck && npm run test && npm run lint",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest"
|
|
},
|
|
"dependencies": {
|
|
"@hermes/ink": "file:./packages/hermes-ink",
|
|
"@hermes/shared": "file:../apps/shared",
|
|
"@nanostores/react": "^1.1.0",
|
|
"ink": "^6.8.0",
|
|
"ink-text-input": "^6.0.0",
|
|
"nanostores": "^1.2.0",
|
|
"react": "^19.2.4",
|
|
"undici": "^6.25.0",
|
|
"unicode-animations": "^1.0.3"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/js": "^9",
|
|
"@types/node": "^22.20.0",
|
|
"@types/react": "^19.2.14",
|
|
"@typescript-eslint/eslint-plugin": "^8",
|
|
"@typescript-eslint/parser": "^8",
|
|
"esbuild": "^0.28.1",
|
|
"eslint": "^9",
|
|
"eslint-plugin-perfectionist": "^5",
|
|
"eslint-plugin-react": "^7",
|
|
"eslint-plugin-react-hooks": "^7",
|
|
"eslint-plugin-unused-imports": "^4",
|
|
"globals": "^16",
|
|
"prettier": "^3",
|
|
"tsx": "^4.22.4",
|
|
"typescript": "^6.0.3",
|
|
"vitest": "^4.1.3"
|
|
}
|
|
}
|