{ "name": "byterover-cli", "description": "ByteRover's CLI", "keywords": [ "cli", "ai", "llm", "mcp", "developer-tools", "context-memory", "autonomous-agents", "coding-assistant", "knowledge-management" ], "version": "3.16.1", "author": "ByteRover", "bin": { "brv": "./bin/run.js" }, "bugs": "https://github.com/campfirein/byterover-cli/issues", "dependencies": { "@ai-sdk/anthropic": "^2.0.60", "@ai-sdk/cerebras": "^1.0.11", "@ai-sdk/cohere": "^2.0.0", "@ai-sdk/deepinfra": "^1.0.35", "@ai-sdk/google": "^2.0.52", "@ai-sdk/groq": "^2.0.34", "@ai-sdk/mistral": "^2.0.27", "@ai-sdk/openai": "^2.0.89", "@ai-sdk/openai-compatible": "^1.0.32", "@ai-sdk/perplexity": "^2.0.0", "@ai-sdk/togetherai": "^1.0.12", "@ai-sdk/vercel": "^1.0.33", "@ai-sdk/xai": "^2.0.57", "@anthropic-ai/sdk": "^0.70.1", "@campfirein/brv-transport-client": "github:campfirein/brv-transport-client#1.1.0", "@campfirein/byterover-packages": "github:campfirein/byterover-packages#main", "@codemirror/lang-html": "^6.4.11", "@codemirror/lang-markdown": "^6.5.0", "@codemirror/theme-one-dark": "^6.1.3", "@codemirror/view": "^6.42.1", "@google/genai": "^1.29.0", "@inkjs/ui": "^2.0.0", "@inquirer/prompts": "^7.9.0", "@modelcontextprotocol/sdk": "1.26.0", "@oclif/core": "^4", "@oclif/plugin-help": "^6", "@oclif/plugin-update": "^4.7.19", "@openrouter/ai-sdk-provider": "^1.5.4", "@socket.io/admin-ui": "^0.5.1", "@tanstack/react-query": "^5.90.20", "@types/react-syntax-highlighter": "^15.5.13", "@uiw/react-codemirror": "^4.25.9", "ai": "^5.0.129", "axios": "1.16.0", "chalk": "^5.6.2", "date-fns": "^4.1.0", "diff": "^9.0.0", "dotenv": "^17.3.1", "esbuild": "^0.27.2", "express": "^5.1.0", "fullscreen-ink": "^0.1.0", "glob": "^11.0.3", "gradient-string": "^3.0.0", "html-react-parser": "^6.1.0", "ignore": "^7.0.5", "ink": "^6.5.1", "ink-scroll-list": "^0.4.1", "ink-scroll-view": "^0.3.5", "ink-spinner": "^5.0.0", "ink-text-input": "^6.0.0", "inquirer-file-selector": "^1.0.1", "isomorphic-git": "^1.37.2", "js-yaml": "^4.1.1", "lodash-es": "^4.17.22", "lucide-react": "^1.8.0", "mermaid": "^11.15.0", "minisearch": "^7.2.0", "nanoid": "^5.1.6", "officeparser": "^6.0.4", "open": "^10.2.0", "openai": "^6.9.1", "parse5": "^8.0.1", "proxy-agent": "^7.0.0", "react": "^19.2.1", "react-diff-viewer-continued": "^4.2.0", "react-dom": "^19.2.1", "react-markdown": "^10.1.0", "react-reconciler": "0.33.0", "react-router-dom": "^7.13.0", "react-syntax-highlighter": "^16.1.1", "remark-frontmatter": "^5.0.0", "remark-gfm": "^4.0.1", "remark-parse": "^11.0.0", "socket.io": "^4.8.3", "socket.io-client": "^4.8.3", "sonner": "^2.0.7", "stopword": "^3.1.5", "unified": "^11.0.5", "unpdf": "^1.4.0", "update-notifier": "^7.3.1", "zod": "^3.25.76", "zod-to-json-schema": "^3.24.6", "zustand": "^5.0.11" }, "devDependencies": { "@eslint/compat": "^1", "@oclif/prettier-config": "^0.2.1", "@oclif/test": "^4", "@tailwindcss/vite": "^4.2.2", "@types/chai": "^4", "@types/diff": "^7.0.2", "@types/express": "^5.0.3", "@types/js-yaml": "^4.0.9", "@types/lodash-es": "^4.17.12", "@types/mdast": "^4.0.4", "@types/mocha": "^10", "@types/node": "^20", "@types/pdfkit": "^0.17.4", "@types/react": "^19.2.7", "@types/react-dom": "^19.2.0", "@types/sinon": "^17.0.4", "@types/stopword": "^2.0.3", "@types/update-notifier": "^6.0.8", "@vitejs/plugin-react": "^5.2.0", "chai": "^4", "eslint": "^9", "eslint-config-oclif": "^6", "eslint-config-prettier": "^10", "eslint-import-resolver-typescript": "^4.4.4", "expect-type": "^1.2.2", "husky": "^9.1.7", "lint-staged": "^16.3.1", "mocha": "10.8.2", "nock": "^14.0.10", "oclif": "^4", "pdfkit": "^0.17.2", "shx": "^0.3.3", "sinon": "^21.0.0", "tailwindcss": "^4.2.2", "ts-node": "^10", "tsx": "^4.21.0", "tw-animate-css": "^1.4.0", "typescript": "^5", "vite": "^7.3.2", "vite-plugin-pwa": "^1.2.0" }, "engines": { "node": ">=20.0.0" }, "files": [ "./.env.production", "./bin", "./dist", "./oclif.manifest.json" ], "homepage": "https://www.byterover.dev/", "license": "Elastic-2.0", "main": "dist/index.js", "type": "module", "oclif": { "bin": "brv", "dirname": "brv", "commands": "./dist/oclif/commands", "hooks": { "init": [ "./dist/oclif/hooks/init/block-autoupdate-when-off", "./dist/oclif/hooks/init/block-command-update-npm", "./dist/oclif/hooks/init/welcome", "./dist/oclif/hooks/init/update-notifier", "./dist/oclif/hooks/init/validate-brv-config" ], "command_not_found": "./dist/oclif/hooks/command_not_found/handle-invalid-commands", "error": "./dist/oclif/hooks/error/clean-errors", "postrun": "./dist/oclif/hooks/postrun/after-update" }, "plugins": [ "@oclif/plugin-help", "@oclif/plugin-update" ], "topicSeparator": " ", "topics": { "hub": { "description": "Browse and manage skills & bundles registry", "subtopics": { "registry": { "description": "Manage private hub registries" } } }, "space": { "description": "Manage ByteRover spaces" } }, "update": { "s3": { "host": "https://storage.googleapis.com/brv-releases" }, "autoupdate": { "debounce": 1 }, "node": { "version": "24.13.1" } } }, "repository": "campfirein/byterover-cli", "scripts": { "build": "shx rm -rf dist && tsc -b && shx cp -r src/server/templates dist/server/templates && shx cp -r src/agent/resources dist/agent/resources && npm run build:ui", "build:ui": "vite build src/webui --mode package", "build:ui:submodule": "node scripts/prepare-ui-submodule-links.mjs && vite build src/webui --mode submodule", "dev": "node bin/kill-daemon.js && npm run build && ./bin/dev.js", "dev:kill": "node bin/kill-daemon.js", "dev:ui": "node scripts/prepare-ui-submodule-links.mjs && vite dev src/webui --mode submodule", "dev:ui:package": "vite dev src/webui --mode package", "lint": "eslint", "lint:fix": "npm run lint -- --fix", "postpack": "shx rm -f oclif.manifest.json", "prepack": "npm run build && BRV_ENV=production oclif manifest", "prepare": "husky", "test": "mocha --forbid-only \"test/**/*.test.ts\"", "typecheck": "tsc --noEmit && tsc --noEmit -p src/webui/tsconfig.json", "version": "git add README.md" }, "lint-staged": { "*.{ts,tsx}": [ "npm run lint:fix" ] }, "types": "dist/index.d.ts", "bundleDependencies": [ "@campfirein/brv-transport-client", "@campfirein/byterover-packages", "react", "react-dom", "react-reconciler", "ink", "fullscreen-ink", "@inkjs/ui", "ink-spinner", "ink-text-input", "ink-scroll-list", "ink-scroll-view", "@tanstack/react-query", "react-router-dom", "zustand" ] }