{
    "name": "openpencil",
    "version": "0.4.0",
    "description": "The world's first open-source AI-native vector design tool and the first to feature concurrent Agent Teams. Design-as-Code. Turn prompts into UI directly on the live canvas. A modern alternative to Pencil.",
    "author": {
        "name": "ZSeven-W",
        "email": "xkayshen@gmail.com"
    },
    "private": true,
    "type": "module",
    "main": "electron-dist/main.cjs",
    "bin": {
        "openpencil-mcp": "dist/mcp-server.cjs"
    },
    "scripts": {
        "dev": "bun --bun vite dev --port 3000",
        "build": "bun --bun vite build",
        "preview": "bun --bun vite preview",
        "test": "bun --bun vitest run --passWithNoTests",
        "mcp:compile": "esbuild src/mcp/server.ts --bundle --platform=node --target=node20 --outfile=dist/mcp-server.cjs --format=cjs --sourcemap --alias:@=src --define:import.meta.env={}",
        "mcp:dev": "bun run src/mcp/server.ts",
        "electron:dev": "bun run scripts/electron-dev.ts",
        "electron:compile": "esbuild electron/main.ts electron/preload.ts --bundle --platform=node --target=node20 --outdir=electron-dist --external:electron --format=cjs --out-extension:.js=.cjs --sourcemap",
        "electron:build": "BUILD_TARGET=electron bun --bun run build && bun run electron:compile && bun run mcp:compile && npx electron-builder --config electron-builder.yml",
        "electron:build:mac-arm64": "BUILD_TARGET=electron bun --bun run build && bun run electron:compile && bun run mcp:compile && npx electron-builder --config electron-builder.yml --mac --arm64 && if [ -f dist-electron/latest-mac.yml ]; then mv dist-electron/latest-mac.yml dist-electron/latest-mac-arm64.yml; fi",
        "electron:build:mac-x64": "BUILD_TARGET=electron bun --bun run build && bun run electron:compile && bun run mcp:compile && npx electron-builder --config electron-builder.yml --mac --x64",
        "electron:build:mac-universal": "BUILD_TARGET=electron bun --bun run build && bun run electron:compile && bun run mcp:compile && npx electron-builder --config electron-builder.yml --mac --arm64 --x64",
        "electron:build:mac-both": "bun run electron:build:mac-arm64 && bun run electron:build:mac-x64"
    },
    "dependencies": {
        "@anthropic-ai/claude-agent-sdk": "^0.2.47",
        "@anthropic-ai/sdk": "^0.77.0",
        "@fontsource-variable/inter": "^5.2.8",
        "@fontsource/dm-sans": "^5.2.8",
        "@fontsource/inter": "^5.2.8",
        "@fontsource/lato": "^5.2.7",
        "@fontsource/montserrat": "^5.2.8",
        "@fontsource/nunito": "^5.2.7",
        "@fontsource/open-sans": "^5.2.7",
        "@fontsource/playfair-display": "^5.2.8",
        "@fontsource/poppins": "^5.2.7",
        "@fontsource/raleway": "^5.2.8",
        "@fontsource/roboto": "^5.2.10",
        "@fontsource/source-sans-3": "^5.2.9",
        "@github/copilot-sdk": "^0.1.30",
        "@iconify-json/feather": "^1.2.1",
        "@iconify-json/lucide": "^1.2.93",
        "@iconify-json/simple-icons": "^1.2.71",
        "@modelcontextprotocol/sdk": "^1.12.1",
        "@opencode-ai/sdk": "1.2.6",
        "@radix-ui/react-select": "^2.2.6",
        "@radix-ui/react-separator": "^1.1.8",
        "@radix-ui/react-slider": "^1.3.6",
        "@radix-ui/react-switch": "^1.2.6",
        "@radix-ui/react-toggle": "^1.1.10",
        "@radix-ui/react-tooltip": "^1.2.8",
        "@tailwindcss/vite": "^4.1.18",
        "@tanstack/react-devtools": "^0.7.0",
        "@tanstack/react-router": "^1.132.0",
        "@tanstack/react-router-devtools": "^1.132.0",
        "@tanstack/react-router-ssr-query": "^1.131.7",
        "@tanstack/react-start": "^1.132.0",
        "@tanstack/router-plugin": "^1.132.0",
        "canvaskit-wasm": "^0.40.0",
        "class-variance-authority": "^0.7.1",
        "clsx": "^2.1.1",
        "electron-updater": "^6.6.2",
        "fzstd": "^0.1.1",
        "html2canvas": "^1.4.1",
        "i18next": "^25.8.14",
        "i18next-browser-languagedetector": "^8.2.1",
        "kiwi-schema": "^0.5.0",
        "lucide-react": "^0.545.0",
        "nanoid": "^5.1.6",
        "nitro": "npm:nitro-nightly@latest",
        "paper": "^0.12.18",
        "rbush": "^4.0.1",
        "react": "^19.2.0",
        "react-dom": "^19.2.0",
        "react-i18next": "^16.5.4",
        "tailwind-merge": "^3.4.1",
        "tailwindcss": "^4.1.18",
        "uzip": "^0.20201231.0",
        "vite-tsconfig-paths": "^5.1.4",
        "zustand": "^5.0.11"
    },
    "devDependencies": {
        "@tanstack/devtools-vite": "^0.3.11",
        "@testing-library/dom": "^10.4.0",
        "@testing-library/react": "^16.2.0",
        "@types/node": "^22.10.2",
        "@types/rbush": "^4.0.0",
        "@types/react": "^19.2.0",
        "@types/react-dom": "^19.2.0",
        "@types/uzip": "^0.20201231.2",
        "@vitejs/plugin-react": "^5.0.4",
        "electron": "^35.0.0",
        "electron-builder": "^26.0.0",
        "esbuild": "^0.25.0",
        "graceful-fs": "^4.2.11",
        "jsdom": "^27.0.0",
        "typescript": "^5.7.2",
        "vite": "^7.1.7",
        "vitest": "^3.0.5"
    }
}