{"_id":"@a-company/atelier","_rev":"17-813f9441a855b3692258ff22dab13f7f","name":"@a-company/atelier","dist-tags":{"latest":"0.38.0"},"versions":{"0.1.0":{"name":"@a-company/atelier","version":"0.1.0","_id":"@a-company/atelier@0.1.0","maintainers":[{"name":"ascend42","email":"ascend@a-company.org"}],"bin":{"atelier":"dist/cli.js","atelier-mcp":"dist/mcp.js"},"dist":{"shasum":"5d27135c12d86ddecf06ad63e5088b90fa4999a0","tarball":"https://registry.npmjs.org/@a-company/atelier/-/atelier-0.1.0.tgz","fileCount":20,"integrity":"sha512-Yv7MSEesTkgFFrrljl+H6QMfFLarXB/zxZ1d9V/Wh0Mcpp9s9jK9KyceJH6LGv2ceWBzgh5HyoLXA/D21LvbCw==","signatures":[{"sig":"MEYCIQChSm/y6kIZLw7ctBPuLlaXj+UqvmJPhibaCo34OTWPIwIhAL/LpjL75dDiopo2wUkSQPaOPSnezyHmRvF4Assc8Kgu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":964776},"main":"./dist/index.cjs","type":"module","_from":"file:a-company-atelier-0.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ascend42","email":"ascend@a-company.org"},"_resolved":"/private/var/folders/gq/nt2kdpsj39dc8vpq6cfzx8gw0000gn/T/9dfd847f2b3e0aa738171976455e3d39/a-company-atelier-0.1.0.tgz","_integrity":"sha512-Yv7MSEesTkgFFrrljl+H6QMfFLarXB/zxZ1d9V/Wh0Mcpp9s9jK9KyceJH6LGv2ceWBzgh5HyoLXA/D21LvbCw==","deprecated":"Use 0.17.3+","_npmVersion":"11.7.0","description":"CLI tool — validate, preview, render, info commands","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"^3.25.0","yaml":"^2.7.0","commander":"^13.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@atelier/core":"0.1.0","@atelier/types":"0.1.0","@atelier/canvas":"0.1.0","@atelier/schema":"0.1.0"},"peerDependencies":{"canvas":">=2.0.0"},"peerDependenciesMeta":{"canvas":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/atelier_0.1.0_1771633753111_0.9684087698915576","host":"s3://npm-registry-packages-npm-production"}},"0.17.3":{"name":"@a-company/atelier","version":"0.17.3","_id":"@a-company/atelier@0.17.3","maintainers":[{"name":"ascend42","email":"ascend@a-company.org"}],"bin":{"atelier":"dist/cli.js","atelier-mcp":"dist/mcp.js"},"dist":{"shasum":"f13552ff6f89fbf07ae99188e39f844b1a30de05","tarball":"https://registry.npmjs.org/@a-company/atelier/-/atelier-0.17.3.tgz","fileCount":20,"integrity":"sha512-lNPYLf33fmJ+C6r1R+NhKRjGWaBrrK0+OZ3MPxu/EJfK+nLeYFmhbiBnAcls4zBkW0oOKbtQZad+uzbf6oR02w==","signatures":[{"sig":"MEQCIDsBRQNGm1UY3MAaKN9saVLTaRsat1/pZHz/NkZn7FBLAiAjnmKt1BbwyfqgF+Bb71xByVyUtYf2pF+x9QRD1RR9mw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":964777},"main":"./dist/index.cjs","type":"module","_from":"file:a-company-atelier-0.17.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ascend42","email":"ascend@a-company.org"},"_resolved":"/private/var/folders/gq/nt2kdpsj39dc8vpq6cfzx8gw0000gn/T/bd27573aa0cf275b05743301810c41da/a-company-atelier-0.17.3.tgz","_integrity":"sha512-lNPYLf33fmJ+C6r1R+NhKRjGWaBrrK0+OZ3MPxu/EJfK+nLeYFmhbiBnAcls4zBkW0oOKbtQZad+uzbf6oR02w==","_npmVersion":"11.7.0","description":"CLI tool — validate, preview, render, info commands","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"^3.25.0","yaml":"^2.7.0","commander":"^13.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@atelier/core":"0.1.0","@atelier/types":"0.1.0","@atelier/canvas":"0.1.0","@atelier/schema":"0.1.0"},"peerDependencies":{"canvas":">=2.0.0"},"peerDependenciesMeta":{"canvas":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/atelier_0.17.3_1771634044378_0.38474119888527336","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"@a-company/atelier","version":"0.18.0","_id":"@a-company/atelier@0.18.0","maintainers":[{"name":"ascend42","email":"ascend@a-company.org"}],"bin":{"atelier":"dist/cli.js","atelier-mcp":"dist/mcp.js"},"dist":{"shasum":"8eced066543a059f00e8a10d8ff2d1c99bd68f85","tarball":"https://registry.npmjs.org/@a-company/atelier/-/atelier-0.18.0.tgz","fileCount":20,"integrity":"sha512-dC/65K8Hiw0gcAPdQd6jTPnQd95KQmPnyEaVjo2iT9ZkXZOkb4WfucNxQW6EG26GyOWGCRv+Q0wgK4MeMmgFcA==","signatures":[{"sig":"MEYCIQDHLS8OwjIZZKzAF+imB1/H7Jc05DmjnvOV/T15iEKa8wIhALYhqfEzdU9NmIIETXw5hqjW4q6Sq1U5FlFE+d102oDb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1195240},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"590169ba29f215c12a6a4f6dc2e9c069727129b0","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"ascend42","email":"ascend@a-company.org"},"_npmVersion":"11.7.0","description":"CLI tool — validate, preview, render, info commands","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"^3.25.0","yaml":"^2.7.0","commander":"^13.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@atelier/core":"workspace:*","@atelier/types":"workspace:*","@atelier/canvas":"workspace:*","@atelier/schema":"workspace:*"},"peerDependencies":{"canvas":">=2.0.0"},"peerDependenciesMeta":{"canvas":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/atelier_0.18.0_1771641282327_0.524166960453007","host":"s3://npm-registry-packages-npm-production"}},"0.25.1":{"name":"@a-company/atelier","version":"0.25.1","_id":"@a-company/atelier@0.25.1","maintainers":[{"name":"ascend42","email":"ascend@a-company.org"}],"bin":{"atelier":"dist/cli.js","atelier-mcp":"dist/mcp.js"},"dist":{"shasum":"cd7aacc41d2ca2425995cec7d9e463270a9043dc","tarball":"https://registry.npmjs.org/@a-company/atelier/-/atelier-0.25.1.tgz","fileCount":24,"integrity":"sha512-6YAlSycWM6kTc5EDrrWOEX05S8DUmysRL+5/Etk+e7V8l8gwMUtc6UR/nH0hxalrRtxBI82wfS2a2q6sFczk8g==","signatures":[{"sig":"MEQCICR47ab1n34IlWLTcet6USFuKt1m7+q8uyGl4ZY2KaP4AiBot8aNnLigm64v4lLTghTZwymuPd5KnJLzfq3qhK3SVA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2181690},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"d410673f83b22b099180d1d7f68a7c9b60a4e9c9","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"ascend42","email":"ascend@a-company.org"},"_npmVersion":"11.7.0","description":"CLI tool — validate, preview, render, info commands","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"^3.25.0","yaml":"^2.7.0","commander":"^13.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@atelier/svg":"workspace:*","@atelier/core":"workspace:*","@atelier/types":"workspace:*","@atelier/canvas":"workspace:*","@atelier/lottie":"workspace:*","@atelier/schema":"workspace:*"},"peerDependencies":{"canvas":">=2.0.0"},"peerDependenciesMeta":{"canvas":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/atelier_0.25.1_1771719293312_0.2329460571716384","host":"s3://npm-registry-packages-npm-production"}},"0.27.0":{"name":"@a-company/atelier","version":"0.27.0","_id":"@a-company/atelier@0.27.0","maintainers":[{"name":"ascend42","email":"ascend@a-company.org"}],"bin":{"atelier":"dist/cli.js","atelier-mcp":"dist/mcp.js"},"dist":{"shasum":"5311a76334bf2484043c66c8a6ea9b4fb0cb0fb9","tarball":"https://registry.npmjs.org/@a-company/atelier/-/atelier-0.27.0.tgz","fileCount":24,"integrity":"sha512-3jkw7X/Eg+5dKKRLIL8Myf5NQzQtQws4g4azv6tCMNigV/syCpexuDekMz9tDiVuC/51INdEJbbIQRfXUrSdkw==","signatures":[{"sig":"MEQCICmNV3f1TmIiovx9ibX8XcOSI0nWR7xvITzAS1nYBMCeAiB0VhFxWI3y2JtR6Kc8U1zZLXyoeL+1lCsj3IOKMcrolA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2470652},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"697372bb10bce44520a8fa86ca02b2a9671f0819","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"ascend42","email":"ascend@a-company.org"},"_npmVersion":"11.7.0","description":"CLI tool — validate, preview, render, info commands","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"^3.25.0","vite":"^6.1.0","yaml":"^2.7.0","commander":"^13.0.0","@a-company/atelier-studio":"workspace:*","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@a-company/atelier-svg":"workspace:*","@a-company/atelier-core":"workspace:*","@a-company/atelier-types":"workspace:*","@a-company/atelier-canvas":"workspace:*","@a-company/atelier-lottie":"workspace:*","@a-company/atelier-schema":"workspace:*"},"peerDependencies":{"canvas":">=2.0.0"},"peerDependenciesMeta":{"canvas":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/atelier_0.27.0_1772552899852_0.5399185659607764","host":"s3://npm-registry-packages-npm-production"}},"0.27.1":{"name":"@a-company/atelier","version":"0.27.1","_id":"@a-company/atelier@0.27.1","maintainers":[{"name":"ascend42","email":"ascend@a-company.org"}],"bin":{"atelier":"dist/cli.js","atelier-mcp":"dist/mcp.js"},"dist":{"shasum":"84fec97122973cb55079ef51d4bfbd6ef9f51828","tarball":"https://registry.npmjs.org/@a-company/atelier/-/atelier-0.27.1.tgz","fileCount":24,"integrity":"sha512-h5yzbm6ptw4f8yfSTECB/0Cq3jiebBBERgDQGlDD9fsIRwTOvxRcpmluvOFuv6iKFK3tJTHwoTUQFRQPSC+JPA==","signatures":[{"sig":"MEQCIDWyM7YdzehYTwm1mvqsAQVIGnof+8KqTqkWQYlOBnReAiBcuQT51+u3ziSaGGcLJisQUBgWlHwbWKMU/usBUHakSg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2471728},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"3470a181f53625a50b101ba5d6be5aa32212aab5","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"ascend42","email":"ascend@a-company.org"},"_npmVersion":"11.7.0","description":"CLI tool — validate, preview, render, info commands","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"^3.25.0","vite":"^6.1.0","yaml":"^2.7.0","commander":"^13.0.0","@a-company/atelier-studio":"workspace:*","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@a-company/atelier-svg":"workspace:*","@a-company/atelier-core":"workspace:*","@a-company/atelier-types":"workspace:*","@a-company/atelier-canvas":"workspace:*","@a-company/atelier-lottie":"workspace:*","@a-company/atelier-schema":"workspace:*"},"peerDependencies":{"canvas":">=2.0.0"},"peerDependenciesMeta":{"canvas":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/atelier_0.27.1_1772555849767_0.6051396966523017","host":"s3://npm-registry-packages-npm-production"}},"0.27.2":{"name":"@a-company/atelier","version":"0.27.2","_id":"@a-company/atelier@0.27.2","maintainers":[{"name":"ascend42","email":"ascend@a-company.org"}],"bin":{"atelier":"dist/cli.js","atelier-mcp":"dist/mcp.js"},"dist":{"shasum":"d635643464fd1d3cf6898937c7e50f83b82ede3b","tarball":"https://registry.npmjs.org/@a-company/atelier/-/atelier-0.27.2.tgz","fileCount":24,"integrity":"sha512-PXBJpc0AG+z6Vdt+yTsGe6sz1cotu1UA/ac69eIt+4/A/LXpk0ozhFE1Wb1dK4+fK74PCozkF5wcP+U8rAa6rA==","signatures":[{"sig":"MEUCIF0c2x/18au+PPfTPo62TQJJJdmd929fB5VU+UrIZfLiAiEA3mvZGmRr7JvY3FD4bZp+kbLu/MYgJl+UKKKW3TyYgu0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2471725},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"809cafd96604c80a3696233f4032f0208423d6c0","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"ascend42","email":"ascend@a-company.org"},"_npmVersion":"11.7.0","description":"CLI tool — validate, preview, render, info commands","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"^3.25.0","vite":"^6.1.0","yaml":"^2.7.0","commander":"^13.0.0","@a-company/atelier-studio":">=0.25.1","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@a-company/atelier-svg":"workspace:*","@a-company/atelier-core":"workspace:*","@a-company/atelier-types":"workspace:*","@a-company/atelier-canvas":"workspace:*","@a-company/atelier-lottie":"workspace:*","@a-company/atelier-schema":"workspace:*"},"peerDependencies":{"canvas":">=2.0.0"},"peerDependenciesMeta":{"canvas":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/atelier_0.27.2_1772556168700_0.7908926831581597","host":"s3://npm-registry-packages-npm-production"}},"0.27.3":{"name":"@a-company/atelier","version":"0.27.3","_id":"@a-company/atelier@0.27.3","maintainers":[{"name":"ascend42","email":"ascend@a-company.org"}],"bin":{"atelier":"dist/cli.js","atelier-mcp":"dist/mcp.js"},"dist":{"shasum":"a1ab418c09cc6387c4a1ed80022c7bca52572041","tarball":"https://registry.npmjs.org/@a-company/atelier/-/atelier-0.27.3.tgz","fileCount":24,"integrity":"sha512-jZX9lhqDs8P2VxWWhk78hAywJ336E3+EK2B+18tZijpfN1TP+SdNlNtPSNyV3UC+ToiOZTL8KW2727YzuwZYVA==","signatures":[{"sig":"MEUCIQD1CRb2t95+GbBmoTf2pet8bGpMybPVRTJAZ5Yvn2CW5gIgJfGeN213tkveby81pofYj4Vl337V6ib3bCCEsv4dLzQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2469570},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"cfa630251dc63c39216426887836d44c7ca5c656","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"ascend42","email":"ascend@a-company.org"},"_npmVersion":"11.7.0","description":"CLI tool — validate, preview, render, info commands","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"^3.25.0","vite":"^6.1.0","yaml":"^2.7.0","commander":"^13.0.0","@a-company/atelier-studio":">=0.25.1","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@a-company/atelier-svg":"workspace:*","@a-company/atelier-core":"workspace:*","@a-company/atelier-types":"workspace:*","@a-company/atelier-canvas":"workspace:*","@a-company/atelier-lottie":"workspace:*","@a-company/atelier-schema":"workspace:*"},"peerDependencies":{"canvas":">=2.0.0"},"peerDependenciesMeta":{"canvas":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/atelier_0.27.3_1772556814591_0.42045666910826585","host":"s3://npm-registry-packages-npm-production"}},"0.27.4":{"name":"@a-company/atelier","version":"0.27.4","_id":"@a-company/atelier@0.27.4","maintainers":[{"name":"ascend42","email":"ascend@a-company.org"}],"bin":{"atelier":"dist/cli.js","atelier-mcp":"dist/mcp.js"},"dist":{"shasum":"bcca7c1ff45413d312dfb9721019b07e5437938d","tarball":"https://registry.npmjs.org/@a-company/atelier/-/atelier-0.27.4.tgz","fileCount":24,"integrity":"sha512-VEuaNXMPUY8ZMYxzksWZjuVaySFdaJEN0M7P9goVdiEEa07prOQvhJiRI3fAcJwYDVWXaUkEyTrffrHtt91V5g==","signatures":[{"sig":"MEYCIQCDRfX8D9OfMoZZvDDM1WPOrCpOvT/L1z4nH89/aSNmFwIhAJB7nlr6qBTjToEHod+uH0KspjX0y/iJWAa5K1Y+ppja","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2470940},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"f92a9aff3f4055de20945c2b0885c18e22489c0f","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"ascend42","email":"ascend@a-company.org"},"_npmVersion":"11.7.0","description":"CLI tool — validate, preview, render, info commands","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"^3.25.0","vite":"^6.1.0","yaml":"^2.7.0","commander":"^13.0.0","@a-company/atelier-studio":">=0.25.1","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@a-company/atelier-svg":"workspace:*","@a-company/atelier-core":"workspace:*","@a-company/atelier-types":"workspace:*","@a-company/atelier-canvas":"workspace:*","@a-company/atelier-lottie":"workspace:*","@a-company/atelier-schema":"workspace:*"},"peerDependencies":{"canvas":">=2.0.0"},"peerDependenciesMeta":{"canvas":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/atelier_0.27.4_1772558580740_0.7554731206364234","host":"s3://npm-registry-packages-npm-production"}},"0.28.0":{"name":"@a-company/atelier","version":"0.28.0","_id":"@a-company/atelier@0.28.0","maintainers":[{"name":"ascend42","email":"ascend@a-company.org"}],"bin":{"atelier":"dist/cli.js","atelier-mcp":"dist/mcp.js"},"dist":{"shasum":"4f5f4c98fa1c0de4d2e4c63a11b821b40f3787a6","tarball":"https://registry.npmjs.org/@a-company/atelier/-/atelier-0.28.0.tgz","fileCount":24,"integrity":"sha512-pWHE4TzbT4auA6sHwdy2hrKsn7MGovoBUI1wKk1/lid83sTt12kD54I1W07z3tbPp5Uqcim2o13nOnOQmZCHfQ==","signatures":[{"sig":"MEUCIHP6Mf7wHInv5rW2aMf3HmJOQqhJqXYqGSNSTwwdaWWBAiEAx/+itRwbWnU4LdIzT8pCR8ORJATefuMoKmQ6AL/AZ4U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2497385},"main":"./dist/index.cjs","type":"module","_from":"file:a-company-atelier-0.28.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ascend42","email":"ascend@a-company.org"},"_resolved":"/private/var/folders/gq/nt2kdpsj39dc8vpq6cfzx8gw0000gn/T/4f30b0310db3c30acc99f5e1bff9152f/a-company-atelier-0.28.0.tgz","_integrity":"sha512-pWHE4TzbT4auA6sHwdy2hrKsn7MGovoBUI1wKk1/lid83sTt12kD54I1W07z3tbPp5Uqcim2o13nOnOQmZCHfQ==","_npmVersion":"11.7.0","description":"CLI tool — validate, preview, render, info commands","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"^3.25.0","vite":"^6.1.0","yaml":"^2.7.0","commander":"^13.0.0","@a-company/atelier-studio":">=0.25.1","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@a-company/atelier-svg":"0.25.1","@a-company/atelier-core":"0.25.3","@a-company/atelier-types":"0.25.3","@a-company/atelier-canvas":"0.25.1","@a-company/atelier-lottie":"0.25.1","@a-company/atelier-schema":"0.25.3"},"peerDependencies":{"canvas":">=2.0.0"},"peerDependenciesMeta":{"canvas":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/atelier_0.28.0_1772569470933_0.9762116100461986","host":"s3://npm-registry-packages-npm-production"}},"0.28.1":{"name":"@a-company/atelier","version":"0.28.1","_id":"@a-company/atelier@0.28.1","maintainers":[{"name":"ascend42","email":"ascend@a-company.org"}],"bin":{"atelier":"dist/cli.js","atelier-mcp":"dist/mcp.js"},"dist":{"shasum":"ab1df8a783b12f05a132c58e97d9c6d78494fee1","tarball":"https://registry.npmjs.org/@a-company/atelier/-/atelier-0.28.1.tgz","fileCount":24,"integrity":"sha512-UGyphpPFWvta4hDPpsEH0ZwNwyTA7CVAIuUHAmTi31utuh0W5FkrNhoVX+YDyCtyCLVep3yedZHWwU85a1uYOw==","signatures":[{"sig":"MEUCIQCOy3rkWkKQGLO9489u23AoNn+/EdMKaMP5VawapW4nCwIgEr9P6JC0pyd6Qg9CGWjEdbqaw2Ir4GVyv2p7UJnaM+Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2498652},"main":"./dist/index.cjs","type":"module","_from":"file:a-company-atelier-0.28.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ascend42","email":"ascend@a-company.org"},"_resolved":"/private/var/folders/gq/nt2kdpsj39dc8vpq6cfzx8gw0000gn/T/06064bb7a98a3beaf0c928e988146fb9/a-company-atelier-0.28.1.tgz","_integrity":"sha512-UGyphpPFWvta4hDPpsEH0ZwNwyTA7CVAIuUHAmTi31utuh0W5FkrNhoVX+YDyCtyCLVep3yedZHWwU85a1uYOw==","_npmVersion":"11.7.0","description":"CLI tool — validate, preview, render, info commands","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"^3.25.0","vite":"^6.1.0","yaml":"^2.7.0","commander":"^13.0.0","@a-company/atelier-studio":">=0.25.1","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@a-company/atelier-svg":"0.25.1","@a-company/atelier-core":"0.25.3","@a-company/atelier-types":"0.25.3","@a-company/atelier-canvas":"0.25.1","@a-company/atelier-lottie":"0.25.1","@a-company/atelier-schema":"0.25.3"},"peerDependencies":{"canvas":">=2.0.0"},"peerDependenciesMeta":{"canvas":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/atelier_0.28.1_1772570440166_0.4044087150394253","host":"s3://npm-registry-packages-npm-production"}},"0.28.2":{"name":"@a-company/atelier","version":"0.28.2","_id":"@a-company/atelier@0.28.2","maintainers":[{"name":"ascend42","email":"ascend@a-company.org"}],"bin":{"atelier":"dist/cli.js","atelier-mcp":"dist/mcp.js"},"dist":{"shasum":"75599a5362190061ab30956c4dcf95ab30a66061","tarball":"https://registry.npmjs.org/@a-company/atelier/-/atelier-0.28.2.tgz","fileCount":24,"integrity":"sha512-TaeW9xcI/h4Dzzljtly5rFi+FI8FgQG+Jhb0dtnhXrXIH2hNmBgPHLv+6+Jc6BStyq0wLfN+TKyfWtwPhyrNNg==","signatures":[{"sig":"MEYCIQCClapA0hoH3Jsl/xSxhjLwqpNV9/pxXOTpr7fJpd223AIhANp7Xmbd1R28655xu3yI6JBRFlLBs42cBMO3qxbulKUd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2498652},"main":"./dist/index.cjs","type":"module","_from":"file:a-company-atelier-0.28.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ascend42","email":"ascend@a-company.org"},"_resolved":"/private/var/folders/gq/nt2kdpsj39dc8vpq6cfzx8gw0000gn/T/a2f62fbcf573ecaf67bedeec26a060d2/a-company-atelier-0.28.2.tgz","_integrity":"sha512-TaeW9xcI/h4Dzzljtly5rFi+FI8FgQG+Jhb0dtnhXrXIH2hNmBgPHLv+6+Jc6BStyq0wLfN+TKyfWtwPhyrNNg==","_npmVersion":"11.7.0","description":"CLI tool — validate, preview, render, info commands","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"^3.25.0","vite":"^6.1.0","yaml":"^2.7.0","commander":"^13.0.0","@a-company/atelier-studio":">=0.25.1","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@a-company/atelier-svg":"0.25.1","@a-company/atelier-core":"0.25.3","@a-company/atelier-types":"0.25.3","@a-company/atelier-canvas":"0.25.1","@a-company/atelier-lottie":"0.25.1","@a-company/atelier-schema":"0.25.3"},"peerDependencies":{"canvas":">=2.0.0"},"peerDependenciesMeta":{"canvas":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/atelier_0.28.2_1772570679010_0.5189593148539875","host":"s3://npm-registry-packages-npm-production"}},"0.29.0":{"name":"@a-company/atelier","version":"0.29.0","_id":"@a-company/atelier@0.29.0","maintainers":[{"name":"ascend42","email":"ascend@a-company.org"}],"bin":{"atelier":"dist/cli.js","atelier-mcp":"dist/mcp.js"},"dist":{"shasum":"03926fb3a0b5d17985e7d7cb955fd14506645d81","tarball":"https://registry.npmjs.org/@a-company/atelier/-/atelier-0.29.0.tgz","fileCount":24,"integrity":"sha512-9/+UhBDq0dGr7CHKr+nNY46CytLRIfbHU3NQyiQiIek/zFLFZC4g4iGxtGOBJqPdjiSoxOvT+Vm+O9qqhX+pEQ==","signatures":[{"sig":"MEYCIQD4Gt2KhqBDGmiAFDpSWawMvC2XOeoOz0JOFfDSP5qFRwIhANwGQbv/8XtIkWzLkaQgbEiqZQ7JA/IWMoU0Fbrrm8sf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2566037},"main":"./dist/index.cjs","type":"module","_from":"file:a-company-atelier-0.29.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ascend42","email":"ascend@a-company.org"},"_resolved":"/private/var/folders/gq/nt2kdpsj39dc8vpq6cfzx8gw0000gn/T/49cd25c1bdcb4b0537051ea8da8e4eeb/a-company-atelier-0.29.0.tgz","_integrity":"sha512-9/+UhBDq0dGr7CHKr+nNY46CytLRIfbHU3NQyiQiIek/zFLFZC4g4iGxtGOBJqPdjiSoxOvT+Vm+O9qqhX+pEQ==","_npmVersion":"11.7.0","description":"CLI tool — validate, preview, render, info commands","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"^3.25.0","vite":"^6.1.0","yaml":"^2.7.0","commander":"^13.0.0","@a-company/atelier-studio":">=0.25.1","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@a-company/atelier-svg":"0.25.1","@a-company/atelier-core":"0.26.0","@a-company/atelier-types":"0.26.0","@a-company/atelier-canvas":"0.26.0","@a-company/atelier-lottie":"0.25.1","@a-company/atelier-schema":"0.26.0"},"peerDependencies":{"canvas":">=2.0.0"},"peerDependenciesMeta":{"canvas":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/atelier_0.29.0_1778201001220_0.9852484628239218","host":"s3://npm-registry-packages-npm-production"}},"0.36.0":{"name":"@a-company/atelier","version":"0.36.0","_id":"@a-company/atelier@0.36.0","maintainers":[{"name":"ascend42","email":"ascend@a-company.org"}],"bin":{"atelier":"dist/cli.js","atelier-mcp":"dist/mcp.js"},"dist":{"shasum":"28cade93dd39b2462ef1c25d16a08e94a2123850","tarball":"https://registry.npmjs.org/@a-company/atelier/-/atelier-0.36.0.tgz","fileCount":27,"integrity":"sha512-RGfzUoGFUMk/a/K4NQAK9uM8IDtQDtNUB91Ms6ZrtbvkQDa7OY0dw/TXOdvQMp+g0ZNL3mzSOiAwaigFgkar2Q==","signatures":[{"sig":"MEYCIQD07NkHkYpu6mWW3BvMuW/rk1s5M955ZkifcnKXZH1sPgIhANd50XkdmDJQ/tp8Aq2SyMQUz7S61QQUJGuRBTV6zJsm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3661771},"main":"./dist/index.cjs","type":"module","_from":"file:a-company-atelier-0.36.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit && tsc --noEmit -p src/web/tsconfig.json"},"_npmUser":{"name":"ascend42","email":"ascend@a-company.org"},"_resolved":"/private/var/folders/gq/nt2kdpsj39dc8vpq6cfzx8gw0000gn/T/c76bf562037670259e5b0b613866a205/a-company-atelier-0.36.0.tgz","_integrity":"sha512-RGfzUoGFUMk/a/K4NQAK9uM8IDtQDtNUB91Ms6ZrtbvkQDa7OY0dw/TXOdvQMp+g0ZNL3mzSOiAwaigFgkar2Q==","_npmVersion":"11.7.0","description":"CLI tool — validate, preview, render, info commands","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.20.1","zod":"^3.25.0","vite":"^6.1.0","yaml":"^2.7.0","commander":"^13.0.0","@napi-rs/canvas":"^0.1.0","@a-company/atelier-mcp":"0.27.1","@a-company/atelier-studio":">=0.25.1","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.0.0","@types/ws":"^8.18.1","typescript":"^5.7.0","@types/node":"^22.0.0","@a-company/atelier-svg":"0.25.1","@a-company/atelier-core":"0.26.0","@a-company/atelier-types":"0.31.0","@a-company/atelier-canvas":"0.26.0","@a-company/atelier-lottie":"0.25.1","@a-company/atelier-schema":"0.28.0"},"peerDependencies":{"canvas":">=2.0.0"},"peerDependenciesMeta":{"canvas":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/atelier_0.36.0_1779253718937_0.8135931999539336","host":"s3://npm-registry-packages-npm-production"}},"0.37.0":{"name":"@a-company/atelier","version":"0.37.0","_id":"@a-company/atelier@0.37.0","maintainers":[{"name":"ascend42","email":"ascend@a-company.org"}],"bin":{"atelier":"dist/cli.js","atelier-mcp":"dist/mcp.js"},"dist":{"shasum":"8202f959f7433834a8d40c15dd6969cad73b2932","tarball":"https://registry.npmjs.org/@a-company/atelier/-/atelier-0.37.0.tgz","fileCount":82,"integrity":"sha512-Yub+l2XIXTqkxAmWtROh656x8cmIgJdegPEBsSe8O/7CStmC2ggxC5e0jfwS9g/kpo1t8EJURjE1QKV2g5ztNw==","signatures":[{"sig":"MEQCICZF+IE1haQ7/2uct3FlHBZ7AyuIdSHrsFYNLLoFt3U6AiAnSnt3UVgibEcOZgI++pX+xYMH7htghezh1RnUqMIuUw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3912132},"main":"./dist/index.cjs","type":"module","_from":"file:a-company-atelier-0.37.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist university","typecheck":"tsc --noEmit && tsc --noEmit -p src/web/tsconfig.json","bundle-university":"node scripts/bundle-university.mjs"},"_npmUser":{"name":"ascend42","email":"ascend@a-company.org"},"paradigm":{"universityPack":"university/"},"_resolved":"/private/var/folders/gq/nt2kdpsj39dc8vpq6cfzx8gw0000gn/T/4ccf746109736ab12b5f0bcf77d907ec/a-company-atelier-0.37.0.tgz","_integrity":"sha512-Yub+l2XIXTqkxAmWtROh656x8cmIgJdegPEBsSe8O/7CStmC2ggxC5e0jfwS9g/kpo1t8EJURjE1QKV2g5ztNw==","_npmVersion":"11.7.0","description":"CLI tool — validate, preview, render, info commands","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.20.1","zod":"^3.25.0","vite":"^6.1.0","yaml":"^2.7.0","commander":"^13.0.0","@napi-rs/canvas":"^0.1.0","@a-company/atelier-mcp":"0.27.2","@a-company/atelier-studio":">=0.25.1","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.0.0","@types/ws":"^8.18.1","typescript":"^5.7.0","@types/node":"^22.0.0","@a-company/atelier-svg":"0.25.1","@a-company/atelier-core":"0.26.0","@a-company/atelier-types":"0.31.0","@a-company/atelier-canvas":"0.26.0","@a-company/atelier-lottie":"0.25.1","@a-company/atelier-schema":"0.28.0"},"peerDependencies":{"canvas":">=2.0.0"},"peerDependenciesMeta":{"canvas":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/atelier_0.37.0_1779478114391_0.45157795381666044","host":"s3://npm-registry-packages-npm-production"}},"0.38.0":{"name":"@a-company/atelier","version":"0.38.0","description":"CLI tool — validate, preview, render, info commands","type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","bin":{"atelier":"dist/cli.js","atelier-mcp":"dist/mcp.js"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"paradigm":{"universityPack":"university/"},"dependencies":{"@modelcontextprotocol/sdk":"^1.0.0","@napi-rs/canvas":"^0.1.0","commander":"^13.0.0","vite":"^6.1.0","ws":"^8.20.1","yaml":"^2.7.0","zod":"^3.25.0","@a-company/atelier-mcp":"0.27.2","@a-company/atelier-studio":"^0.28.1"},"peerDependencies":{"canvas":">=2.0.0"},"peerDependenciesMeta":{"canvas":{"optional":true}},"publishConfig":{"access":"public"},"devDependencies":{"@types/node":"^22.0.0","@types/ws":"^8.18.1","tsup":"^8.4.0","typescript":"^5.7.0","vitest":"^3.0.0","@a-company/atelier-canvas":"0.26.0","@a-company/atelier-lottie":"0.25.1","@a-company/atelier-svg":"0.25.1","@a-company/atelier-core":"0.26.0","@a-company/atelier-types":"0.31.0","@a-company/atelier-schema":"0.28.0"},"scripts":{"build":"tsup","bundle-university":"node scripts/bundle-university.mjs","typecheck":"tsc --noEmit && tsc --noEmit -p src/web/tsconfig.json","test":"vitest run","clean":"rm -rf dist university"},"_id":"@a-company/atelier@0.38.0","_integrity":"sha512-FhM+31OdS96t+vLr5wuC78FSbW7U/FjSM5785PPiKwJ90wWaEbL3c4biKHUdX/dWvWMO4uWy7l0RzuUuSOWbqg==","_resolved":"/private/var/folders/gq/nt2kdpsj39dc8vpq6cfzx8gw0000gn/T/9a830fcd9c267e7a8192afaa3929f17d/a-company-atelier-0.38.0.tgz","_from":"file:a-company-atelier-0.38.0.tgz","_nodeVersion":"24.12.0","_npmVersion":"11.7.0","dist":{"integrity":"sha512-FhM+31OdS96t+vLr5wuC78FSbW7U/FjSM5785PPiKwJ90wWaEbL3c4biKHUdX/dWvWMO4uWy7l0RzuUuSOWbqg==","shasum":"5ed512756513c9a2da474ffda7042d5ad23bad44","tarball":"https://registry.npmjs.org/@a-company/atelier/-/atelier-0.38.0.tgz","fileCount":93,"unpackedSize":5376490,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFdZg7e+0/vcWaZu0rb8L+Ge2EbwR6LtNcYB64oKvHyfAiEAjx8aOOND2lx2LZz9SkmEGMpSNFnT3735xdCTtiBvk4w="}]},"_npmUser":{"name":"ascend42","email":"ascend@a-company.org"},"directories":{},"maintainers":[{"name":"ascend42","email":"ascend@a-company.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/atelier_0.38.0_1780073338758_0.6169440912947097"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-21T00:29:13.010Z","modified":"2026-05-29T16:48:59.083Z","0.1.0":"2026-02-21T00:29:13.298Z","0.17.3":"2026-02-21T00:34:04.547Z","0.18.0":"2026-02-21T02:34:42.557Z","0.25.1":"2026-02-22T00:14:53.478Z","0.27.0":"2026-03-03T15:48:20.014Z","0.27.1":"2026-03-03T16:37:30.028Z","0.27.2":"2026-03-03T16:42:48.931Z","0.27.3":"2026-03-03T16:53:34.797Z","0.27.4":"2026-03-03T17:23:00.932Z","0.28.0":"2026-03-03T20:24:31.108Z","0.28.1":"2026-03-03T20:40:40.421Z","0.28.2":"2026-03-03T20:44:39.271Z","0.29.0":"2026-05-08T00:43:21.467Z","0.36.0":"2026-05-20T05:08:39.132Z","0.37.0":"2026-05-22T19:28:34.628Z","0.38.0":"2026-05-29T16:48:58.948Z"},"description":"CLI tool — validate, preview, render, info commands","maintainers":[{"name":"ascend42","email":"ascend@a-company.org"}],"readme":"---\ntitle: \"@atelier/cli\"\nscope: CLI tool — validate, info, still commands for .atelier files\npackages: [\"@atelier/cli\"]\nrelated: [\"docs/getting-started.md\", \"packages/schema/README.md\", \"packages/core/README.md\"]\n---\n\n# @atelier/cli\n\nCLI tool for working with `.atelier` animation files. Validates documents, displays summaries, and resolves individual frames for inspection.\n\n| | |\n|---|---|\n| **Version** | 0.1.0 |\n| **Binary** | `atelier` (maps to `./dist/cli.js`) |\n| **Build** | tsup (ESM + CJS + DTS) |\n| **Source** | `packages/cli/src/` |\n\n## Dependencies\n\n| Package | Source |\n|---|---|\n| `@atelier/types` | workspace |\n| `@atelier/schema` | workspace |\n| `@atelier/core` | workspace |\n| `@atelier/canvas` | workspace |\n| `commander` | ^13.0.0 |\n\n## Installation\n\n```bash\n# From monorepo root\npnpm build\n\n# Then use directly\nnpx atelier validate my-animation.atelier\n\n# Or link globally\ncd packages/cli && pnpm link --global\natelier validate my-animation.atelier\n```\n\n## Commands\n\n### `atelier validate <file>`\n\nValidates an `.atelier` YAML file through three checks:\n\n1. **YAML syntax** -- the file must be parseable YAML.\n2. **Zod schema validation** -- all types and structure must conform to the `@atelier/schema` definitions.\n3. **Delta overlap detection** -- detects when two deltas target the same layer and property with overlapping frame ranges.\n\nOn success, prints `Valid` and exits with code 0. On failure, prints `Validation errors:` followed by a bulleted list and exits with code 1.\n\n```bash\n$ atelier validate animation.atelier\nValid\n\n$ atelier validate broken.atelier\nValidation errors:\n  - State \"intro\": Overlapping deltas on layer \"title\", property \"opacity\" ...\n```\n\nSource: `packages/cli/src/commands/validate.ts`\n\n### `atelier info <file>`\n\nParses an `.atelier` file and displays a human-readable summary of its contents: document metadata, canvas settings, layers, states, and preset counts.\n\n```bash\n$ atelier info animation.atelier\nName: My Animation\nDescription: A cool animation\nCanvas: 800x600 @ 60fps, background: #1a1a2e\nLayers: 4\n  - bg (shape)\n  - title (text)\n  - circle (shape)\n  - box (shape)\nStates: 1\n  - intro: 180 frames, 7 deltas\nPresets: 2\n```\n\nSource: `packages/cli/src/commands/info.ts`\n\n### `atelier still <file> [options]`\n\nResolves a single frame of a document and outputs the computed layer states as JSON. This lets you inspect the exact property values at any point in an animation without rendering it.\n\n**Options:**\n\n| Flag | Description | Default |\n|---|---|---|\n| `-s, --state <name>` | State name to resolve | First state in the document |\n| `-f, --frame <number>` | Frame number to resolve | `0` |\n\n```bash\n$ atelier still animation.atelier --state intro --frame 30\n{\n  \"frame\": 30,\n  \"stateName\": \"intro\",\n  \"layers\": [\n    {\n      \"id\": \"bg\",\n      \"layer\": { ... },\n      \"computedProperties\": {}\n    },\n    {\n      \"id\": \"title\",\n      \"layer\": { ... },\n      \"computedProperties\": {\n        \"opacity\": 1,\n        \"scale.x\": 0.95\n      }\n    }\n  ]\n}\n```\n\nSource: `packages/cli/src/commands/still.ts`\n\n## Programmatic API\n\nAll three commands export functions that can be imported directly, independent of the CLI entry point.\n\n### `validateFile(filePath: string)`\n\nReads and validates an `.atelier` file. Returns a result object without printing to stdout or calling `process.exit`.\n\n```typescript\nimport { validateFile } from \"@atelier/cli\";\n\nconst { valid, errors } = validateFile(\"animation.atelier\");\nif (!valid) {\n  console.error(errors);\n}\n```\n\n**Returns:** `{ valid: boolean; errors: string[] }`\n\n### `getInfo(doc: AtelierDocument)`\n\nExtracts a structured summary from a parsed `AtelierDocument`.\n\n```typescript\nimport { getInfo } from \"@atelier/cli\";\nimport type { DocumentInfo } from \"@atelier/cli\";\n\nconst info: DocumentInfo = getInfo(doc);\nconsole.log(`${info.layers.count} layers, ${info.states.count} states`);\n```\n\n### `resolveStill(doc, stateName?, frame?)`\n\nResolves a single frame, returning all layers with their computed property values.\n\n```typescript\nimport { resolveStill } from \"@atelier/cli\";\n\nconst resolved = resolveStill(doc, \"intro\", 30);\nfor (const layer of resolved.layers) {\n  console.log(layer.id, layer.computedProperties);\n}\n```\n\n**Parameters:**\n\n| Parameter | Type | Default |\n|---|---|---|\n| `doc` | `AtelierDocument` | (required) |\n| `stateName` | `string` | First state in the document |\n| `frame` | `number` | `0` |\n\n**Returns:** `ResolvedFrame` (from `@atelier/core`)\n\n**Throws** if the document has no states or the specified state name does not exist.\n\n## Types\n\n### `DocumentInfo`\n\nReturned by `getInfo`. Contains the structured summary of a document.\n\n```typescript\ninterface DocumentInfo {\n  name: string;\n  description?: string;\n  canvas: {\n    width: number;\n    height: number;\n    fps: number;\n    background?: string;\n  };\n  layers: {\n    count: number;\n    items: { id: string; type: string }[];\n  };\n  states: {\n    count: number;\n    items: { name: string; duration: number; deltaCount: number }[];\n  };\n  presets: {\n    count: number;\n  };\n}\n```\n\n### `ResolvedFrame` / `ResolvedLayer`\n\nReturned by `resolveStill`. Re-exported from `@atelier/core`.\n\n```typescript\ninterface ResolvedFrame {\n  frame: number;\n  stateName: string;\n  layers: ResolvedLayer[];\n}\n\ninterface ResolvedLayer {\n  id: string;\n  layer: Layer;\n  computedProperties: Partial<Record<AnimatableProperty, unknown>>;\n}\n```\n\n## Development\n\n```bash\n# Build\npnpm --filter @atelier/cli build\n\n# Type-check\npnpm --filter @atelier/cli typecheck\n\n# Run tests\npnpm --filter @atelier/cli test\n\n# Clean build artifacts\npnpm --filter @atelier/cli clean\n```\n","readmeFilename":"README.md"}