{
  "name": "vibecarbon",
  "version": "0.47.2",
  "description": "Launch full-stack apps in minutes on the VPS provider of your choice. Auth, billing, and AI-guardrails built-in. Automated backup, restore, scale, replication, and failover.",
  "type": "module",
  "bin": {
    "vibecarbon": "src/cli.js"
  },
  "packageManager": "pnpm@10.32.1",
  "engines": {
    "node": ">=24.15.0"
  },
  "files": [
    "src",
    "carbon",
    "services"
  ],
  "scripts": {
    "dev": "node scripts/dev.js",
    "node:sync": "node scripts/sync-node-version.js",
    "node:check": "node scripts/sync-node-version.js --check",
    "dev:stop": "node scripts/dev-stop.js",
    "lint": "node scripts/check-shell-safety.js && node scripts/check-stale-deploy-references.js && node scripts/check-paid-boundary.js && biome check src/ tests/ && tsc -p tsconfig.e2e.json",
    "lint:shell": "node scripts/check-shell-safety.js",
    "lint:stale-deploy": "node scripts/check-stale-deploy-references.js",
    "lint:fix": "biome check --write src/ tests/",
    "format": "biome format --write src/ tests/",
    "test": "vitest run",
    "test:watch": "vitest",
    "test:unit": "vitest run --project unit",
    "test:integration": "vitest run --project integration",
    "test:cli": "vitest run --project integration tests/integration/cli",
    "test:docker": "DOCKER_INTEGRATION=true vitest run --project integration tests/integration/docker",
    "test:template": "vitest run --project integration tests/integration/template",
    "test:modules": "vitest run --project integration tests/integration/modules",
    "test:coverage": "vitest run --coverage",
    "test:loadtest": "tsx tests/loadtest/cli.ts",
    "test:e2e": "REAL_INFRA=true NODE_EXTRA_CA_CERTS=tests/e2e/certs/letsencrypt-staging-roots.pem tsx tests/e2e/runner.ts",
    "test:e2e:batch": "REAL_INFRA=true NODE_EXTRA_CA_CERTS=tests/e2e/certs/letsencrypt-staging-roots.pem tsx tests/e2e/runner.ts --batch",
    "test:e2e:expanded": "REAL_INFRA=true NODE_EXTRA_CA_CERTS=tests/e2e/certs/letsencrypt-staging-roots.pem tsx tests/e2e/runner.ts --batch --expanded",
    "test:e2e:report": "tsx tests/e2e/metrics/reporter.ts",
    "test:e2e:rto-rpo": "tsx tests/e2e/metrics/rto-rpo.ts",
    "bump:patch": "node scripts/bump.js patch",
    "bump:minor": "node scripts/bump.js minor",
    "bump:major": "node scripts/bump.js major",
    "prepare": "git config core.hooksPath git-hooks || true",
    "test:prepush": "pnpm lint && pnpm test:unit && pnpm test:integration",
    "prepublishOnly": "if [ -n \"$CI\" ]; then echo \"CI — workflow jobs are the gate, skipping prepublish suite\"; else pnpm test:unit && pnpm lint; fi"
  },
  "keywords": [
    "vibecarbon",
    "react",
    "hono",
    "vite",
    "supabase",
    "saas",
    "starter",
    "boilerplate",
    "saas-starter",
    "starter-kit",
    "self-hosted",
    "fair-source",
    "devops",
    "kubernetes",
    "docker-compose",
    "cli",
    "full-stack",
    "postgres",
    "ai-guardrails"
  ],
  "author": "Brandon Powers",
  "license": "FSL-1.1-MIT",
  "homepage": "https://vibecarbon.com?utm_source=npm&utm_medium=listing&utm_campaign=launch2026",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/hyperformant/vibecarbon.git"
  },
  "bugs": {
    "url": "https://github.com/hyperformant/vibecarbon/issues"
  },
  "dependencies": {
    "@aws-sdk/client-s3": "^3.1120.0",
    "@clack/prompts": "^1.6.0",
    "@ediri/vultr": "^2.27.1",
    "@grpc/grpc-js": "^1.14.4",
    "@grpc/proto-loader": "^0.8.1",
    "@pulumi/digitalocean": "^4.75.0",
    "@pulumi/hcloud": "^1.39.0",
    "@pulumi/linode": "^6.4.0",
    "@pulumi/pulumi": "^3.260.0",
    "@pulumiverse/scaleway": "^1.54.0",
    "bcryptjs": "^3.0.3",
    "opentype.js": "^2.0.0",
    "undici": "^8.5.0",
    "which": "^7.0.0"
  },
  "pnpm": {
    "onlyBuiltDependencies": [
      "better-sqlite3"
    ],
    "overrides": {
      "postcss@<8.5.10": ">=8.5.10",
      "uuid@<14.0.0": ">=14.0.0",
      "fast-xml-parser@<5.7.0": ">=5.7.0",
      "fast-xml-builder@<1.1.7": ">=1.1.7",
      "ip-address@<10.1.1": ">=10.1.1",
      "protobufjs@<7.5.6": "^7.5.6",
      "@protobufjs/utf8@<1.1.1": "^1.1.1",
      "tmp@<0.2.6": ">=0.2.6"
    }
  },
  "devDependencies": {
    "@biomejs/biome": "^2.5.11",
    "@semantic-release/github": "^12.0.9",
    "@types/better-sqlite3": "^9.6.0",
    "@types/node": "^26.4.0",
    "@vitest/coverage-v8": "^5.0.1",
    "autocannon": "^8.0.0",
    "better-sqlite3": "^13.0.2",
    "conventional-changelog-conventionalcommits": "^10.2.0",
    "dotenv": "^18.0.1",
    "dotenv-expand": "^1000.0.0",
    "js-yaml": "^5.4.1",
    "playwright-core": "^1.61.1",
    "protobufjs": "^8.8.0",
    "semantic-release": "^25.0.8",
    "tsx": "^4.22.4",
    "typescript": "^7.0.2",
    "vite": "^8.1.5",
    "vitest": "^5.0.1",
    "zod": "^4.4.3"
  }
}
