Files
ra-h-os/package.json
T
“BeeRad” 21772fcba7 feat: add frictionless RA-H OS setup
- Add MCP setup, doctor, init-db, config, and rules CLI commands
- Publish latest MCP package wiring and local setup helper
- Update OS install docs for MCP-only, full app, and demo-safe setup

Generated with Claude Code
2026-04-21 08:29:31 +10:00

73 lines
2.8 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"name": "ra-h-open-source",
"version": "0.1.0",
"private": false,
"description": "RA-H Open Source local-first research workspace with BYO API keys",
"license": "MIT",
"author": "Bradley Morris",
"scripts": {
"bootstrap:local": "node ./scripts/dev/bootstrap-local.mjs",
"setup:local": "node ./scripts/dev/setup-local.mjs",
"dev": "cross-env NEXT_PUBLIC_DEPLOYMENT_MODE=local NEXT_PUBLIC_ENABLE_SUBSCRIPTION_BACKEND=false NODE_OPTIONS=--dns-result-order=ipv4first next dev",
"dev:local": "npm run dev",
"dev:evals": "cross-env RAH_EVALS_LOG=1 NEXT_PUBLIC_DEPLOYMENT_MODE=local NEXT_PUBLIC_ENABLE_SUBSCRIPTION_BACKEND=false NODE_OPTIONS=--dns-result-order=ipv4first next dev",
"clean:local": "bash ./scripts/dev/clean-local-artifacts.sh",
"audit:repo": "bash ./scripts/dev/audit-repo.sh",
"build": "cross-env NEXT_PUBLIC_DEPLOYMENT_MODE=local NEXT_PUBLIC_ENABLE_SUBSCRIPTION_BACKEND=false NODE_OPTIONS=--dns-result-order=ipv4first next build",
"start": "cross-env NEXT_PUBLIC_DEPLOYMENT_MODE=local NEXT_PUBLIC_ENABLE_SUBSCRIPTION_BACKEND=false NODE_OPTIONS=--dns-result-order=ipv4first next start",
"lint": "next lint",
"type-check": "tsc --noEmit",
"setup": "npm install",
"sqlite:backup": "bash scripts/database/sqlite-backup.sh",
"sqlite:restore": "bash scripts/database/sqlite-restore.sh",
"test": "vitest run",
"test:watch": "vitest",
"evals": "cross-env RAH_EVALS_LOG=1 RAH_EVALS_TIMEOUT_MS=60000 tsx tests/evals/runner.ts",
"skills:sync": "node scripts/dev/sync-skills.mjs",
"skills:lint": "node scripts/dev/sync-skills.mjs --check"
},
"dependencies": {
"@ai-sdk/openai": "^3.0.7",
"@langchain/core": "^1.0.1",
"@langchain/textsplitters": "^1.0.1",
"@modelcontextprotocol/sdk": "^1.25.3",
"@tiptap/react": "^3.20.4",
"@tiptap/starter-kit": "^3.20.4",
"@xyflow/react": "^12.10.0",
"ai": "^6.0.27",
"better-sqlite3": "^12.2.0",
"cheerio": "^1.1.2",
"gray-matter": "^4.0.3",
"lucide-react": "^0.468.0",
"next": "^15.1.12",
"openai": "^4.103.0",
"pdf-parse": "^1.1.1",
"pdfjs-dist": "^5.4.296",
"react": "^19.0.1",
"react-dom": "^19.0.1",
"react-markdown": "^10.1.0",
"remark-gfm": "^4.0.1",
"tiptap-markdown": "^0.9.0",
"youtube-transcript": "^1.2.1",
"youtube-transcript-plus": "^1.1.1",
"zod": "^3.25.76"
},
"devDependencies": {
"@types/better-sqlite3": "^7.6.13",
"@types/node": "22.10.2",
"@types/react": "^19.0.2",
"@types/react-dom": "19.0.2",
"autoprefixer": "^10.4.20",
"cross-env": "^10.0.0",
"esbuild": "^0.23.1",
"eslint": "^8.57.0",
"eslint-config-next": "^15.1.12",
"postcss": "^8.4.49",
"prettier": "^3.3.3",
"tailwindcss": "^3.4.17",
"tsx": "^4.19.4",
"typescript": "^5.7.2",
"vitest": "^3.2.4"
}
}