{
  "name": "ccgauge",
  "version": "1.2.1",
  "description": "Local web dashboard for Claude Code and OpenAI Codex CLI token usage and cost",
  "keywords": [
    "claude",
    "claude-code",
    "anthropic",
    "codex",
    "openai",
    "usage",
    "dashboard",
    "cli",
    "tokens",
    "cost"
  ],
  "license": "MIT",
  "author": {
    "name": "chengzuopeng",
    "email": "mrchengzp@qq.com",
    "url": "https://github.com/chengzuopeng"
  },
  "homepage": "https://github.com/chengzuopeng/ccgauge#readme",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/chengzuopeng/ccgauge.git"
  },
  "bugs": {
    "url": "https://github.com/chengzuopeng/ccgauge/issues"
  },
  "type": "module",
  "engines": {
    "node": ">=20"
  },
  "os": [
    "darwin",
    "linux",
    "win32"
  ],
  "cpu": [
    "x64",
    "arm64"
  ],
  "bin": {
    "ccgauge": "bin/cli.mjs"
  },
  "files": [
    "bin/cli.mjs",
    ".next/standalone",
    "dist/mcp",
    "dist/report",
    "README.md",
    "README.zh-CN.md",
    "CHANGELOG.md",
    "LICENSE"
  ],
  "dependencies": {
    "@modelcontextprotocol/sdk": "^1.29.0",
    "commander": "^13.1.0",
    "get-port": "^7.1.0",
    "open": "^10.1.0"
  },
  "devDependencies": {
    "@astrojs/check": "^0.9.4",
    "@astrojs/tailwind": "^5.1.4",
    "@eslint/eslintrc": "^3.3.5",
    "@fontsource-variable/geist": "^5.1.1",
    "@fontsource-variable/geist-mono": "^5.1.1",
    "@types/node": "^22.10.0",
    "@types/react": "^19.0.0",
    "@types/react-dom": "^19.0.0",
    "astro": "^4.16.18",
    "autoprefixer": "^10.4.20",
    "boxen": "^8.0.1",
    "chalk": "^5.6.2",
    "cli-table3": "^0.6.5",
    "cli-truncate": "^6.0.0",
    "clsx": "^2.1.1",
    "date-fns": "^4.1.0",
    "esbuild": "^0.28.0",
    "eslint": "^9.17.0",
    "eslint-config-next": "^15.1.0",
    "figures": "^6.1.0",
    "next": "^15.1.0",
    "playwright": "^1.59.1",
    "postcss": "^8.5.0",
    "react": "^19.0.0",
    "react-day-picker": "^10.0.1",
    "react-dom": "^19.0.0",
    "recharts": "^2.15.0",
    "string-width": "^8.2.1",
    "tailwind-merge": "^2.6.0",
    "tailwindcss": "^3.4.17",
    "typescript": "^5.7.0",
    "zod": "^3.24.1"
  },
  "scripts": {
    "dev": "next dev -p 3738",
    "build": "next build && node scripts/build-mcp.mjs && node scripts/build-report.mjs && node scripts/postbuild.mjs && node scripts/smoke-standalone.mjs",
    "build:mcp": "node scripts/build-mcp.mjs",
    "build:report": "node scripts/build-report.mjs",
    "start": "node bin/cli.mjs",
    "start:next": "next start -p 3737",
    "lint": "eslint .",
    "typecheck": "tsc --noEmit",
    "update-pricing": "node scripts/update-pricing.mjs",
    "test": "node --experimental-strip-types --no-warnings scripts/test-codex-parser.mjs && node --experimental-strip-types --no-warnings scripts/test-pricing-snapshot.mjs && node --experimental-strip-types --no-warnings scripts/test-turns.mjs && node --experimental-strip-types --no-warnings scripts/test-sidechain.mjs && node --experimental-strip-types --no-warnings scripts/test-source-merge.mjs && node --experimental-strip-types --no-warnings scripts/test-cost-from-usage.mjs && node --experimental-strip-types --no-warnings scripts/test-range.mjs && node scripts/check-parser-versions.mjs && node scripts/check-readme-images.mjs",
    "test:mcp": "node scripts/test-mcp-server.mjs",
    "clean": "node -e \"for (const p of ['.next','node_modules','tsconfig.tsbuildinfo']) require('node:fs').rmSync(p,{recursive:true,force:true})\"",
    "screenshots": "node scripts/screenshots.mjs",
    "site:dev": "cd site && astro dev --port 4321",
    "site:build": "cd site && astro build",
    "site:preview": "cd site && astro preview --port 4322",
    "site:check": "cd site && astro check",
    "site:gen:placeholders": "node site/scripts/gen-placeholders.mjs",
    "site:clean": "node -e \"for (const p of ['site/dist','site/.astro','site/node_modules']) require('node:fs').rmSync(p,{recursive:true,force:true})\""
  }
}