mirror of
https://github.com/ZSeven-W/openpencil.git
synced 2026-06-01 03:14:29 +07:00
Codex review of Task 1.2 found four dangling references to the deleted stub crates (pen-types/core/engine/codegen/figma + openpencil-app): - package.json: drop the five -p <crate> args from cargo:wasm-check - rust-release.yml: restore the build job, re-pointed at the real openpencil-desktop crate so release-draft has artifacts to publish - check-jian-boundaries.sh: 4 -> 3 invariants in the success message - README.md: remove the deleted crate rows from the crate-list table
130 lines
9 KiB
JSON
130 lines
9 KiB
JSON
{
|
|
"name": "openpencil",
|
|
"version": "0.8.0",
|
|
"private": true,
|
|
"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"
|
|
},
|
|
"bin": {
|
|
"openpencil-mcp": "out/mcp-server.cjs"
|
|
},
|
|
"workspaces": [
|
|
"packages/*",
|
|
"packages/agent-native/napi",
|
|
"apps/*"
|
|
],
|
|
"type": "module",
|
|
"main": "out/desktop/main.cjs",
|
|
"scripts": {
|
|
"dev": "bun run apps/web/dev.ts",
|
|
"build": "cd apps/web && bun --bun vite build",
|
|
"preview": "cd apps/web && bun --bun vite preview",
|
|
"test": "cd apps/web && bun --bun vitest run --passWithNoTests",
|
|
"mcp:compile": "esbuild packages/pen-mcp/src/server.ts --bundle --platform=node --target=node20 --outfile=out/mcp-server.cjs --format=cjs --sourcemap --alias:@zseven-w/pen-types=./packages/pen-types/src --alias:@zseven-w/pen-core=./packages/pen-core/src --alias:@zseven-w/pen-figma=./packages/pen-figma/src --alias:@zseven-w/pen-renderer=./packages/pen-renderer/src --alias:@zseven-w/pen-sdk=./packages/pen-sdk/src --alias:@zseven-w/pen-ai-skills=./packages/pen-ai-skills/src --alias:@zseven-w/pen-mcp=./packages/pen-mcp/src --alias:@zseven-w/pen-engine=./packages/pen-engine/src --alias:@zseven-w/pen-react=./packages/pen-react/src --define:import.meta.env={} --external:canvas --external:paper",
|
|
"mcp:dev": "bun run packages/pen-mcp/src/server.ts",
|
|
"electron:dev": "bun run apps/desktop/dev.ts",
|
|
"electron:compile": "esbuild apps/desktop/main.ts apps/desktop/preload.ts --bundle --platform=node --target=node20 --outdir=out/desktop --external:electron --format=cjs --out-extension:.js=.cjs --sourcemap --alias:@zseven-w/pen-engine=./packages/pen-engine/src --alias:@zseven-w/pen-react=./packages/pen-react/src --alias:@zseven-w/pen-core=./packages/pen-core/src --alias:@zseven-w/pen-types=./packages/pen-types/src",
|
|
"electron:build": "BUILD_TARGET=electron bun --bun run build && bun run electron:compile && bun run mcp:compile && bun run cli:compile && bun run agent-native:bundle && npx electron-builder --config apps/desktop/electron-builder.yml",
|
|
"electron:build:mac-arm64": "BUILD_TARGET=electron bun --bun run build && bun run electron:compile && bun run mcp:compile && bun run cli:compile && npx electron-builder --config apps/desktop/electron-builder.yml --mac --arm64 && if [ -f out/release/latest-mac.yml ]; then mv out/release/latest-mac.yml out/release/latest-mac-arm64.yml; fi",
|
|
"electron:build:mac-x64": "BUILD_TARGET=electron bun --bun run build && bun run electron:compile && bun run mcp:compile && bun run cli:compile && npx electron-builder --config apps/desktop/electron-builder.yml --mac --x64",
|
|
"electron:build:mac-universal": "BUILD_TARGET=electron bun --bun run build && bun run electron:compile && bun run mcp:compile && bun run cli:compile && npx electron-builder --config apps/desktop/electron-builder.yml --mac --arm64 --x64",
|
|
"electron:build:mac-both": "bun run electron:build:mac-arm64 && bun run electron:build:mac-x64",
|
|
"cli:bundle-skill": "bun scripts/bundle-skill.ts",
|
|
"cli:compile": "bun run cli:bundle-skill && esbuild apps/cli/src/index.ts --bundle --platform=node --target=node20 --outfile=apps/cli/dist/openpencil-cli.cjs --format=cjs --sourcemap --alias:@zseven-w/pen-types=./packages/pen-types/src --alias:@zseven-w/pen-core=./packages/pen-core/src --alias:@zseven-w/pen-figma=./packages/pen-figma/src --alias:@zseven-w/pen-renderer=./packages/pen-renderer/src --alias:@zseven-w/pen-sdk=./packages/pen-sdk/src --alias:@zseven-w/pen-ai-skills=./packages/pen-ai-skills/src --alias:@zseven-w/pen-mcp=./packages/pen-mcp/src --alias:@zseven-w/pen-engine=./packages/pen-engine/src --alias:@zseven-w/pen-react=./packages/pen-react/src --alias:@zseven-w/pen-acp=./packages/pen-acp/src --define:import.meta.env={} --external:canvas --external:paper",
|
|
"cli:dev": "bun run apps/cli/src/index.ts",
|
|
"acp:dev": "bun run packages/pen-acp/src/server.ts",
|
|
"acp:compile": "esbuild packages/pen-acp/src/server.ts --bundle --platform=node --target=node20 --outfile=out/acp-server.cjs --format=cjs --sourcemap --alias:@zseven-w/pen-types=./packages/pen-types/src --alias:@zseven-w/pen-core=./packages/pen-core/src --alias:@zseven-w/pen-figma=./packages/pen-figma/src --alias:@zseven-w/pen-renderer=./packages/pen-renderer/src --alias:@zseven-w/pen-sdk=./packages/pen-sdk/src --alias:@zseven-w/pen-ai-skills=./packages/pen-ai-skills/src --alias:@zseven-w/pen-mcp=./packages/pen-mcp/src --alias:@zseven-w/pen-engine=./packages/pen-engine/src --alias:@zseven-w/pen-react=./packages/pen-react/src --define:import.meta.env={} --external:canvas --external:paper",
|
|
"publish:beta": "bash scripts/publish-beta.sh",
|
|
"unpublish": "bash scripts/unpublish.sh",
|
|
"bump": "sh -c 'V=$0; [ -z \"$V\" ] && echo \"Usage: bun run bump <version>\" && exit 1; for f in package.json apps/*/package.json packages/*/package.json; do [ -f \"$f\" ] && jq --arg v \"$V\" \".version=\\$v\" \"$f\" > \"$f.tmp\" && mv \"$f.tmp\" \"$f\" && echo \"$f → $V\"; done'",
|
|
"lint": "oxlint .",
|
|
"lint:fix": "oxlint --fix .",
|
|
"format": "oxfmt .",
|
|
"format:check": "oxfmt --check .",
|
|
"generate": "bun -e \"import { compileSkills } from './packages/pen-ai-skills/vite-plugin-skills'; compileSkills('./packages/pen-ai-skills')\"",
|
|
"agent:build": "cd packages/agent-native && zig build napi -Doptimize=ReleaseFast",
|
|
"agent-native:bundle": "node -e \"const fs=require('fs'),p=require('path');const src=p.resolve('packages/agent-native/zig-out/napi/agent_napi.node');const dst=p.resolve('packages/agent-native/napi/agent_napi.node');if(!fs.existsSync(src)){console.error('Native binary missing at '+src+'. Run bun run agent:build first.');process.exit(1)}fs.copyFileSync(src,dst);console.log('[agent-native:bundle] copied to '+dst)\"",
|
|
"postinstall": "(bun scripts/patch-srvx-bun.ts && bun run generate && node scripts/ensure-agent-native.cjs) || true",
|
|
"cargo:check": "cargo check --workspace",
|
|
"cargo:test": "cargo test --workspace",
|
|
"cargo:fmt": "cargo fmt --all",
|
|
"cargo:clippy": "cargo clippy --workspace --all-targets -- -D warnings",
|
|
"cargo:wasm-check": "cargo check --target wasm32-unknown-unknown -p openpencil-shell-web --no-default-features --features web",
|
|
"cargo:deny": "cargo deny check && cargo deny --target wasm32-unknown-unknown check bans",
|
|
"shell:wasm:dev": "echo 'Step 4 will replace this with: cargo build --target wasm32-unknown-unknown -p openpencil-shell-web --no-default-features --features web && wasm-pack build crates/openpencil-shell-web --target web --dev && bun run scripts/serve-wasm-dev.ts'"
|
|
},
|
|
"dependencies": {
|
|
"@agentclientprotocol/sdk": "^0.18.2",
|
|
"@anthropic-ai/claude-agent-sdk": "^0.2.47",
|
|
"@anthropic-ai/sdk": "^0.77.0",
|
|
"@github/copilot-sdk": "^0.1.32",
|
|
"@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-popover": "^1.1.15",
|
|
"@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-router": "1.168.1",
|
|
"@tanstack/react-router-ssr-query": "1.166.10",
|
|
"@tanstack/react-start": "1.167.2",
|
|
"@tanstack/router-plugin": "1.167.1",
|
|
"canvaskit-wasm": "^0.40.0",
|
|
"class-variance-authority": "^0.7.1",
|
|
"clsx": "^2.1.1",
|
|
"electron-updater": "^6.6.2",
|
|
"fzstd": "^0.1.1",
|
|
"h3": "^2.0.1-rc.18",
|
|
"html2canvas": "^1.4.1",
|
|
"i18next": "^25.8.14",
|
|
"i18next-browser-languagedetector": "^8.2.1",
|
|
"isomorphic-git": "^1.37.5",
|
|
"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",
|
|
"sshpk": "^1.18.0",
|
|
"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.6.0",
|
|
"@tanstack/react-devtools": "0.10.0",
|
|
"@tanstack/react-router-devtools": "1.166.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/sshpk": "^1.17.4",
|
|
"@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",
|
|
"oxfmt": "^0.42.0",
|
|
"oxlint": "^1.57.0",
|
|
"typescript": "^5.7.2",
|
|
"vite": "^7.1.7",
|
|
"vitest": "^3.0.5"
|
|
}
|
|
}
|