{"_id":"@google/stitch","_rev":"6-424ebde63c76fd1e0062c523faf0214b","name":"@google/stitch","dist-tags":{"latest":"0.12.2","next":"0.12.1"},"versions":{"0.11.0":{"name":"@google/stitch","version":"0.11.0","keywords":["stitch","google","cli","ai","agent","mcp","ui-design"],"author":{"name":"Google LLC"},"license":"Apache-2.0","_id":"@google/stitch@0.11.0","maintainers":[{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},{"name":"ofrobots","email":"ofrobots@google.com"},{"name":"mrdoob","email":"info@mrdoob.com"}],"homepage":"https://stitch.withgoogle.com","bugs":{"url":"https://github.com/google-labs-code/stitch-sdk/issues"},"bin":{"stitch":"dist/stitch.js","stitch-mcp":"dist/mcp.js"},"dist":{"shasum":"e8bdb06cbe73c75406c40551778232876ff67347","tarball":"https://registry.npmjs.org/@google/stitch/-/stitch-0.11.0.tgz","fileCount":99,"integrity":"sha512-y3h7s3ZzNciTfQWQv3paf2BLjMC9N06aFNknJ/V8CoA6qCzyP5k5xRmLpvT9fxHK6E1ymfzhMvD2JzlUOcyRaQ==","signatures":[{"sig":"MEUCIQCE4VXrBDpbF3XIJGOumlURBUsK76rFRaSgD0MQE79oGAIgG66YJXTQAVcHQU37nbe/oTeelWX46tUR/N+eWxNklkk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8914780},"type":"module","engines":{"node":">=20"},"exports":{"./ingest":{"types":"./dist/ingest.d.ts","default":"./dist/ingest.js"},"./package.json":"./package.json"},"scripts":{"mcp":"npx tsx src/mcp/index.ts","lint":"biome check src test scripts/gen-contracts.ts scripts/refresh-stitch-tools.ts scripts/generate-docs-data.ts","test":"vitest run","build":"bun scripts/build.ts","probe":"npx tsx scripts/probe.ts","smoke":"npx tsx test/smoke.ts","stitch":"npx tsx src/index.ts","prepack":"bun run build","prebuild":"rm -rf dist","docs:data":"bun scripts/generate-docs-data.ts","smoke:mcp":"bun test/smoke-composite-mcp.ts","test:fuzz":"bun scripts/adversarial-runner.ts","typecheck":"bun x tsc --noEmit && bun x tsc --noEmit -p tsconfig.contracts.json","audit:spec":"bun run .agents/skills/sdk-conformance/scripts/compile_and_diff.ts","build:main":"bun scripts/build.ts --target=main","smoke:pack":"npx tsx test/smoke-pack.ts","build:types":"bun x tsc --emitDeclarationOnly --declaration --outDir dist --project tsconfig.build.json","build:views":"cp -r src/cli/markdown/views dist/views","test:verify":"bun test/verify-all-commands.ts","build:ingest":"bun scripts/build.ts --target=ingest","gen:contracts":"bun scripts/gen-contracts.ts","smoke:tarball":"npx tsx test/smoke-tarball.ts","prepublishOnly":"bun run build && bun run test && npx tsx test/smoke-pack.ts && npx tsx test/smoke-tarball.ts","test:artifacts":"npx tsx test/artifacts.ts","docs:data:check":"bun scripts/generate-docs-data.ts --check","smoke:mcp-stdio":"npx tsx test/smoke-mcp-stdio.ts dist/mcp.js","harness:webhooks":"bun harness/webhooks/run.ts","test:adversarial":"vitest run test/adversarial","refresh:stitch-tools":"bun scripts/refresh-stitch-tools.ts","harness:webhooks:deploy":"bash harness/webhook-sink/deploy.sh"},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"repository":{"url":"git+https://github.com/google-labs-code/stitch-sdk.git","type":"git"},"workspaces":["adapters/*"],"_npmVersion":"11.17.0","description":"Agent-first CLI and MCP server for Google Stitch","directories":{},"_nodeVersion":"26.5.1","dependencies":{"zod":"^4.3.6"},"publishConfig":{"tag":"latest","access":"public","registry":"https://wombat-dressing-room.appspot.com"},"_hasShrinkwrap":false,"devDependencies":{"ink":"^7.1.1","tsx":"^4.19.0","open":"^11.0.4","citty":"^0.2.2","react":"^19.2.8","marked":"^18.0.13","vitest":"^3.2.0","js-yaml":"^4.1.1","css-tree":"^3.2.1","linkedom":"^0.18.13","handlebars":"^4.7.9","typescript":"^5","@types/node":"^25.9.1","ink-spinner":"^5.0.0","@types/react":"^19.2.18","@types/marked":"^5.0.2","@biomejs/biome":"2.5.14","@types/js-yaml":"^4.0.9","firebase-admin":"^13.10.0","@types/css-tree":"^3.2.0","@google/stitch-sdk":"^0.3.5","chrome-remote-interface":"^0.34.0","@modelcontextprotocol/sdk":"^1.12.1","@types/chrome-remote-interface":"^0.34.0"},"peerDependencies":{"typescript":"^5"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/stitch_0.11.0_1790869107710_0.3225430928806319","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"@google/stitch","version":"0.11.1","keywords":["stitch","google","cli","ai","agent","mcp","ui-design"],"author":{"name":"Google LLC"},"license":"Apache-2.0","_id":"@google/stitch@0.11.1","maintainers":[{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},{"name":"ofrobots","email":"ofrobots@google.com"},{"name":"mrdoob","email":"info@mrdoob.com"}],"homepage":"https://stitch.withgoogle.com","bugs":{"url":"https://github.com/google-labs-code/stitch-sdk/issues"},"bin":{"stitch":"dist/stitch.js","stitch-mcp":"dist/mcp.js"},"dist":{"shasum":"a061d861c5f5b076acec74f72b5f2254415c5757","tarball":"https://registry.npmjs.org/@google/stitch/-/stitch-0.11.1.tgz","fileCount":99,"integrity":"sha512-MzzAvOMU8AuvmIDJpAONSs5oJuHLofMleWsTNChw0HmzrPIWdI9d597BTtQXOypzXqwwy+8E3dU0vzGtj0ucDg==","signatures":[{"sig":"MEQCIEIhTjvyaGNf7CVKGIvBzi3onLuOgNtwBmy7nRUIvgQ8AiBfGmjXYMtY9BqdO1LbcGng4ZeC+MdTh3+98jWyXkxCZA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDZkgK01ArrZ2iafAkbcQNuWswn/Hshg4/cUxsiCkPc8AiEAyWPV49iaWor7VUEYus1UqCzyjYAbehjsOl7G328RNok=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8195346},"type":"module","_from":"file:google-stitch-0.11.1.tgz","engines":{"node":">=20"},"exports":{"./ingest":{"types":"./dist/ingest.d.ts","default":"./dist/ingest.js"},"./package.json":"./package.json"},"scripts":{"mcp":"npx tsx src/mcp/index.ts","lint":"biome check src test scripts/gen-contracts.ts scripts/refresh-stitch-tools.ts scripts/generate-docs-data.ts","test":"vitest run","build":"bun scripts/build.ts","probe":"npx tsx scripts/probe.ts","smoke":"npx tsx test/smoke.ts","stitch":"npx tsx src/index.ts","prepack":"bun run build","prebuild":"rm -rf dist","docs:data":"bun scripts/generate-docs-data.ts","smoke:mcp":"bun test/smoke-composite-mcp.ts","test:fuzz":"bun scripts/adversarial-runner.ts","typecheck":"bun x tsc --noEmit && bun x tsc --noEmit -p tsconfig.contracts.json","audit:spec":"bun run .agents/skills/sdk-conformance/scripts/compile_and_diff.ts","build:main":"bun scripts/build.ts --target=main","smoke:pack":"npx tsx test/smoke-pack.ts","build:types":"bun x tsc --emitDeclarationOnly --declaration --outDir dist --project tsconfig.build.json","build:views":"cp -r src/cli/markdown/views dist/views","test:verify":"bun test/verify-all-commands.ts","build:ingest":"bun scripts/build.ts --target=ingest","gen:contracts":"bun scripts/gen-contracts.ts","smoke:tarball":"npx tsx test/smoke-tarball.ts","prepublishOnly":"bun run build && bun run test && npx tsx test/smoke-pack.ts && npx tsx test/smoke-tarball.ts","test:artifacts":"npx tsx test/artifacts.ts","docs:data:check":"bun scripts/generate-docs-data.ts --check","smoke:mcp-stdio":"npx tsx test/smoke-mcp-stdio.ts dist/mcp.js","harness:webhooks":"bun harness/webhooks/run.ts","test:adversarial":"vitest run test/adversarial","refresh:stitch-tools":"bun scripts/refresh-stitch-tools.ts","harness:webhooks:deploy":"bash harness/webhook-sink/deploy.sh"},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"_resolved":"/usr/local/google/home/yyx/github/stitch-cli-stage/google-stitch-0.11.1.tgz","_integrity":"sha512-MzzAvOMU8AuvmIDJpAONSs5oJuHLofMleWsTNChw0HmzrPIWdI9d597BTtQXOypzXqwwy+8E3dU0vzGtj0ucDg==","repository":{"url":"git+https://github.com/google-labs-code/stitch-sdk.git","type":"git"},"workspaces":["adapters/*"],"_npmVersion":"9.2.0","description":"Agent-first CLI and MCP server for Google Stitch","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.3.6"},"publishConfig":{"tag":"latest","access":"public","registry":"https://wombat-dressing-room.appspot.com"},"_hasShrinkwrap":false,"devDependencies":{"ink":"^7.1.1","tsx":"^4.19.0","open":"^11.0.4","citty":"^0.2.2","react":"^19.2.8","marked":"^18.0.13","vitest":"^3.2.0","js-yaml":"^4.1.1","css-tree":"^3.2.1","linkedom":"^0.18.13","handlebars":"^4.7.9","typescript":"^5","@types/node":"^25.9.1","ink-spinner":"^5.0.0","@types/react":"^19.2.18","@types/marked":"^5.0.2","@biomejs/biome":"2.5.14","@types/js-yaml":"^4.0.9","firebase-admin":"^13.10.0","@types/css-tree":"^3.2.0","@google/stitch-sdk":"^0.3.5","chrome-remote-interface":"^0.34.0","@modelcontextprotocol/sdk":"^1.12.1","@types/chrome-remote-interface":"^0.34.0"},"peerDependencies":{"typescript":"^5"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/stitch_0.11.1_1791499857425_0.7586756610333514","host":"s3://npm-registry-packages-npm-production"}},"0.12.0-rc.2":{"name":"@google/stitch","version":"0.12.0-rc.2","keywords":["stitch","google","cli","ai","agent","mcp","ui-design"],"author":{"name":"Google LLC"},"license":"Apache-2.0","_id":"@google/stitch@0.12.0-rc.2","maintainers":[{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},{"name":"ofrobots","email":"ofrobots@google.com"},{"name":"mrdoob","email":"info@mrdoob.com"}],"homepage":"https://stitch.withgoogle.com","bugs":{"url":"https://github.com/google-labs-code/stitch-sdk/issues"},"bin":{"stitch":"dist/stitch.js","stitch-mcp":"dist/mcp.js"},"dist":{"shasum":"75ad6056fb7f2afda17a0718ff27b9e31f685d33","tarball":"https://registry.npmjs.org/@google/stitch/-/stitch-0.12.0-rc.2.tgz","fileCount":101,"integrity":"sha512-BuUNbW1haXev3r67vq5hEKbcX0lBCqLdPfoJBjavEdDwJ1I79W6ggxBQIMCmqcNWgoPUkjMTAO+GCJ0v2zhqnA==","signatures":[{"sig":"MEUCIESUlMIlSPNf/kk7HKimSrh4ahIO6YfcfgAskI7x07DGAiEAiS5keJtFvDw4mRHTSeI2K1MhwIOd4WQZ0YVhD5hA3RY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCHnGaGSaqzJvUu44qbnJ0ciwNWZzyB8V8t9vnKaaclfAIhAJQvZrXih7aLROibP2DRs+eC1e9MAtsACRSYADPqc0l1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5346782},"type":"module","_from":"file:/Users/deast/Downloads/google-stitch-0.12.0-rc.2.tgz","engines":{"node":">=20"},"exports":{"./ingest":{"types":"./dist/ingest.d.ts","default":"./dist/ingest.js"},"./package.json":"./package.json"},"scripts":{"mcp":"npx tsx src/mcp/index.ts","lint":"biome check","test":"vitest run","build":"bun scripts/build.ts","probe":"npx tsx scripts/probe.ts","smoke":"npx tsx test/smoke.ts","format":"biome format --write","stitch":"npx tsx src/index.ts","prepack":"bun run build","prebuild":"rm -rf dist","docs:data":"bun scripts/generate-docs-data.ts","smoke:mcp":"bun test/smoke-composite-mcp.ts","test:fuzz":"bun scripts/adversarial-runner.ts","typecheck":"bun x tsc --noEmit && bun x tsc --noEmit -p tsconfig.contracts.json","audit:spec":"bun run .agents/skills/sdk-conformance/scripts/compile_and_diff.ts","build:main":"bun scripts/build.ts --target=main","smoke:pack":"npx tsx test/smoke-pack.ts","build:types":"bun x tsc --emitDeclarationOnly --declaration --outDir dist --project tsconfig.build.json","build:views":"cp -r src/cli/markdown/views dist/views","test:verify":"bun test/verify-all-commands.ts","build:ingest":"bun scripts/build.ts --target=ingest","bench:startup":"npx tsx scripts/bench-startup.ts","gen:contracts":"bun scripts/gen-contracts.ts","smoke:tarball":"npx tsx test/smoke-tarball.ts","prepublishOnly":"bun run build && bun run test && npx tsx test/smoke-pack.ts && npx tsx test/smoke-tarball.ts","smoke:loop-tui":"npx tsx test/smoke-loop-tui.ts dist/stitch.js","test:artifacts":"npx tsx test/artifacts.ts","docs:data:check":"bun scripts/generate-docs-data.ts --check","smoke:mcp-stdio":"npx tsx test/smoke-mcp-stdio.ts dist/mcp.js","harness:webhooks":"bun harness/webhooks/run.ts","test:adversarial":"vitest run test/adversarial","refresh:stitch-tools":"bun scripts/refresh-stitch-tools.ts","harness:webhooks:deploy":"bash harness/webhook-sink/deploy.sh"},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"_resolved":"/Users/deast/Downloads/google-stitch-0.12.0-rc.2.tgz","_integrity":"sha512-BuUNbW1haXev3r67vq5hEKbcX0lBCqLdPfoJBjavEdDwJ1I79W6ggxBQIMCmqcNWgoPUkjMTAO+GCJ0v2zhqnA==","repository":{"url":"git+https://github.com/google-labs-code/stitch-sdk.git","type":"git"},"workspaces":["adapters/*"],"_npmVersion":"11.17.0","description":"Agent-first CLI and MCP server for Google Stitch","directories":{},"_nodeVersion":"26.5.1","dependencies":{"zod":"^4.3.6"},"publishConfig":{"tag":"latest","access":"public","registry":"https://wombat-dressing-room.appspot.com"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ink":"^7.1.1","tsx":"^4.19.0","open":"^11.0.4","citty":"^0.2.2","react":"^19.2.8","marked":"^18.0.13","vitest":"^3.2.0","js-yaml":"^4.1.1","css-tree":"^3.2.1","linkedom":"^0.18.13","handlebars":"^4.7.9","typescript":"^5","@types/node":"^25.9.1","ink-spinner":"^5.0.0","@types/react":"^19.2.18","@types/marked":"^5.0.2","@biomejs/biome":"2.5.14","@types/js-yaml":"^4.0.9","firebase-admin":"^14.5.0","@types/css-tree":"^3.2.0","@google/stitch-sdk":"^0.3.5","chrome-remote-interface":"^0.34.0","@modelcontextprotocol/sdk":"^1.12.1","@types/chrome-remote-interface":"^0.34.0"},"peerDependencies":{"typescript":"^5"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/stitch_0.12.0-rc.2_1792618013358_0.8016525285308505","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@google/stitch","version":"0.12.0","keywords":["stitch","google","cli","ai","agent","mcp","ui-design"],"author":{"name":"Google LLC"},"license":"Apache-2.0","_id":"@google/stitch@0.12.0","maintainers":[{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},{"name":"ofrobots","email":"ofrobots@google.com"},{"name":"mrdoob","email":"info@mrdoob.com"}],"homepage":"https://stitch.withgoogle.com","bugs":{"url":"https://github.com/google-labs-code/stitch-sdk/issues"},"bin":{"stitch":"dist/stitch.js","stitch-mcp":"dist/mcp.js"},"dist":{"shasum":"d051ab26d68f7c4d5af691575bfa5e50ca3b14eb","tarball":"https://registry.npmjs.org/@google/stitch/-/stitch-0.12.0.tgz","fileCount":101,"integrity":"sha512-0R/I12Nhbr2ue1ieFX6VZSv3mOTcXQqDJEAJYW3Ql0+ix+tKjFv17C8EPIa6b8E9MPIepv0XEwLC6kwp70eAoQ==","signatures":[{"sig":"MEMCICU0JTLLINu/36zsRHXcm9msS0o2lqPZqhEk+S6BaCvpAh8gHJfb77twcsW2VFP7SOLGiaIhNA7neenG68tyezEl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCDaaBYsflkU9Wb7oFe0NAjJeYEJpdVhdPP6fk7rs8kBgIhANgj7yj19gSBZR1VkA6DS2DDekqeTD5MdLU0HJ4FWy3q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5346757},"type":"module","_from":"file:/Users/deast/Downloads/google-stitch-0.12.0.tgz","engines":{"node":">=20"},"exports":{"./ingest":{"types":"./dist/ingest.d.ts","default":"./dist/ingest.js"},"./package.json":"./package.json"},"scripts":{"mcp":"npx tsx src/mcp/index.ts","lint":"biome check","test":"vitest run","build":"bun scripts/build.ts","probe":"npx tsx scripts/probe.ts","smoke":"npx tsx test/smoke.ts","format":"biome format --write","stitch":"npx tsx src/index.ts","prepack":"bun run build","prebuild":"rm -rf dist","docs:data":"bun scripts/generate-docs-data.ts","smoke:mcp":"bun test/smoke-composite-mcp.ts","test:fuzz":"bun scripts/adversarial-runner.ts","typecheck":"bun x tsc --noEmit && bun x tsc --noEmit -p tsconfig.contracts.json","audit:spec":"bun run .agents/skills/sdk-conformance/scripts/compile_and_diff.ts","build:main":"bun scripts/build.ts --target=main","smoke:pack":"npx tsx test/smoke-pack.ts","build:types":"bun x tsc --emitDeclarationOnly --declaration --outDir dist --project tsconfig.build.json","build:views":"cp -r src/cli/markdown/views dist/views","test:verify":"bun test/verify-all-commands.ts","build:ingest":"bun scripts/build.ts --target=ingest","bench:startup":"npx tsx scripts/bench-startup.ts","gen:contracts":"bun scripts/gen-contracts.ts","smoke:tarball":"npx tsx test/smoke-tarball.ts","prepublishOnly":"bun run build && bun run test && npx tsx test/smoke-pack.ts && npx tsx test/smoke-tarball.ts","smoke:loop-tui":"npx tsx test/smoke-loop-tui.ts dist/stitch.js","test:artifacts":"npx tsx test/artifacts.ts","docs:data:check":"bun scripts/generate-docs-data.ts --check","smoke:mcp-stdio":"npx tsx test/smoke-mcp-stdio.ts dist/mcp.js","harness:webhooks":"bun harness/webhooks/run.ts","test:adversarial":"vitest run test/adversarial","refresh:stitch-tools":"bun scripts/refresh-stitch-tools.ts","harness:webhooks:deploy":"bash harness/webhook-sink/deploy.sh"},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"_resolved":"/Users/deast/Downloads/google-stitch-0.12.0.tgz","_integrity":"sha512-0R/I12Nhbr2ue1ieFX6VZSv3mOTcXQqDJEAJYW3Ql0+ix+tKjFv17C8EPIa6b8E9MPIepv0XEwLC6kwp70eAoQ==","repository":{"url":"git+https://github.com/google-labs-code/stitch-sdk.git","type":"git"},"workspaces":["adapters/*"],"_npmVersion":"11.17.0","description":"Agent-first CLI and MCP server for Google Stitch","directories":{},"_nodeVersion":"26.5.1","dependencies":{"zod":"^4.3.6"},"publishConfig":{"tag":"latest","access":"public","registry":"https://wombat-dressing-room.appspot.com"},"_hasShrinkwrap":false,"devDependencies":{"ink":"^7.1.1","tsx":"^4.19.0","open":"^11.0.4","citty":"^0.2.2","react":"^19.2.8","marked":"^18.0.13","vitest":"^3.2.0","js-yaml":"^4.1.1","css-tree":"^3.2.1","linkedom":"^0.18.13","handlebars":"^4.7.9","typescript":"^5","@types/node":"^25.9.1","ink-spinner":"^5.0.0","@types/react":"^19.2.18","@types/marked":"^5.0.2","@biomejs/biome":"2.5.14","@types/js-yaml":"^4.0.9","firebase-admin":"^14.5.0","@types/css-tree":"^3.2.0","@google/stitch-sdk":"^0.3.5","chrome-remote-interface":"^0.34.0","@modelcontextprotocol/sdk":"^1.12.1","@types/chrome-remote-interface":"^0.34.0"},"peerDependencies":{"typescript":"^5"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/stitch_0.12.0_1792620243250_0.2037062852956355","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"@google/stitch","version":"0.12.1","keywords":["stitch","google","cli","ai","agent","mcp","ui-design"],"author":{"name":"Google LLC"},"license":"Apache-2.0","_id":"@google/stitch@0.12.1","maintainers":[{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},{"name":"ofrobots","email":"ofrobots@google.com"},{"name":"mrdoob","email":"info@mrdoob.com"}],"homepage":"https://stitch.withgoogle.com","bugs":{"url":"https://github.com/google-labs-code/stitch-sdk/issues"},"bin":{"stitch":"dist/stitch.js","stitch-mcp":"dist/mcp.js"},"dist":{"shasum":"a1359b60db775292bddcb37974e0f9bb9d9c51eb","tarball":"https://registry.npmjs.org/@google/stitch/-/stitch-0.12.1.tgz","fileCount":101,"integrity":"sha512-BumPGRW974W6TXvPBPhZg+1v3cFJdbqiWEDPTJ6Sd0Uqq+DcWmewYnoWAKypg7iOMQQ7VU55hIHuQITUBdokEg==","signatures":[{"sig":"MEUCIFfVf8F+yBHjslCa79G5/zUbhDdElmJNh0qRPWyez/BUAiEAgWWNkkWanXU0gnXT8eHqiNVS12A3NVt6ifnWUdh3P0E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDB8vgZEzGviQNE2eCRczcqsnOHd3JbsfJGBwPDlB2RogIhAOoojmDy5dZif+iE4sAnDivTLTTRf2vsYH5szGhzgh56","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5469471},"type":"module","_from":"file:google-stitch-0.12.1.tgz","engines":{"node":">=20"},"exports":{"./ingest":{"types":"./dist/ingest.d.ts","default":"./dist/ingest.js"},"./package.json":"./package.json"},"scripts":{"mcp":"npx tsx src/mcp/index.ts","lint":"biome check","test":"vitest run","build":"bun scripts/build.ts","probe":"npx tsx scripts/probe.ts","smoke":"npx tsx test/smoke.ts","format":"biome format --write","stitch":"npx tsx src/index.ts","prepack":"bun run build","prebuild":"rm -rf dist","docs:data":"bun scripts/generate-docs-data.ts","smoke:mcp":"bun test/smoke-composite-mcp.ts","test:fuzz":"bun scripts/adversarial-runner.ts","typecheck":"bun x tsc --noEmit && bun x tsc --noEmit -p tsconfig.contracts.json","audit:spec":"bun run .agents/skills/sdk-conformance/scripts/compile_and_diff.ts","build:main":"bun scripts/build.ts --target=main","smoke:pack":"npx tsx test/smoke-pack.ts","build:types":"bun x tsc --emitDeclarationOnly --declaration --outDir dist --project tsconfig.build.json","build:views":"cp -r src/cli/markdown/views dist/views","test:verify":"bun test/verify-all-commands.ts","build:ingest":"bun scripts/build.ts --target=ingest","bench:startup":"npx tsx scripts/bench-startup.ts","gen:contracts":"bun scripts/gen-contracts.ts","smoke:tarball":"npx tsx test/smoke-tarball.ts","prepublishOnly":"bun run build && bun run test && npx tsx test/smoke-pack.ts && npx tsx test/smoke-tarball.ts","smoke:loop-tui":"npx tsx test/smoke-loop-tui.ts dist/stitch.js","test:artifacts":"npx tsx test/artifacts.ts","docs:data:check":"bun scripts/generate-docs-data.ts --check","smoke:mcp-stdio":"npx tsx test/smoke-mcp-stdio.ts dist/mcp.js","harness:webhooks":"bun harness/webhooks/run.ts","test:adversarial":"vitest run test/adversarial","refresh:stitch-tools":"bun scripts/refresh-stitch-tools.ts","harness:webhooks:deploy":"bash harness/webhook-sink/deploy.sh"},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"_resolved":"/Users/deast/experiments/google-stitch-0.12.1.tgz","_integrity":"sha512-BumPGRW974W6TXvPBPhZg+1v3cFJdbqiWEDPTJ6Sd0Uqq+DcWmewYnoWAKypg7iOMQQ7VU55hIHuQITUBdokEg==","repository":{"url":"git+https://github.com/google-labs-code/stitch-sdk.git","type":"git"},"workspaces":["adapters/*"],"_npmVersion":"11.17.0","description":"Agent-first CLI and MCP server for Google Stitch","directories":{},"_nodeVersion":"26.5.1","dependencies":{"zod":"^4.3.6"},"publishConfig":{"tag":"latest","access":"public","registry":"https://wombat-dressing-room.appspot.com"},"_hasShrinkwrap":false,"devDependencies":{"ink":"^7.1.1","tsx":"^4.19.0","open":"^11.0.4","citty":"^0.2.2","react":"^19.2.8","marked":"^18.0.13","vitest":"^3.2.0","js-yaml":"^4.1.1","css-tree":"^3.2.1","linkedom":"^0.18.13","handlebars":"^4.7.9","typescript":"^5","@types/node":"^25.9.1","ink-spinner":"^5.0.0","@types/react":"^19.2.18","jsonc-parser":"^3.3.1","@types/marked":"^5.0.2","@biomejs/biome":"2.5.14","@types/js-yaml":"^4.0.9","firebase-admin":"^14.5.0","@types/css-tree":"^3.2.0","@google/stitch-sdk":"^0.3.5","chrome-remote-interface":"^0.34.0","@modelcontextprotocol/sdk":"^1.12.1","@types/chrome-remote-interface":"^0.34.0"},"peerDependencies":{"typescript":"^5"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/stitch_0.12.1_1793291407634_0.8590409773696978","host":"s3://npm-registry-packages-npm-production"}},"0.12.2":{"_id":"@google/stitch@0.12.2","bin":{"stitch":"dist/stitch.js","stitch-mcp":"dist/mcp.js"},"bugs":{"url":"https://github.com/google-labs-code/stitch-sdk/issues"},"dist":{"shasum":"543349c0ba027501dcbecd87d77c87f0e8236199","tarball":"https://registry.npmjs.org/@google/stitch/-/stitch-0.12.2.tgz","fileCount":101,"integrity":"sha512-smfol406eCyDBxULCfRxXF8XcfzcRU4W8eEB9XY/Czxwt8n//ERMU7X98gVdn2lBUeGxuygxbzpxGxpUnyVRjA==","signatures":[{"sig":"MEUCIQCJ5r01z9evt1hXeFhOyiOylVUTKIdH89kAS/36WCyQbQIgVoctwYbc14530JnKtkEjWZMo38UGkn/019HKhGO76x4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCDPo6UZAo1n5OhBntHPYmRREVBXEGbz5nGAlAnmT5swQIhAInbl1GeAdlHutFh8emzWGMl+LK/e0vimuNeleq+Fo7k"}],"unpackedSize":4884036},"name":"@google/stitch","type":"module","_from":"file:google-stitch-0.12.2.tgz","author":{"name":"Google LLC"},"engines":{"node":">=20"},"exports":{"./ingest":{"types":"./dist/ingest.d.ts","default":"./dist/ingest.js"},"./package.json":"./package.json"},"license":"Apache-2.0","scripts":{"mcp":"npx tsx src/mcp/index.ts","lint":"biome check","test":"vitest run","build":"bun scripts/build.ts","probe":"npx tsx scripts/probe.ts","smoke":"npx tsx test/smoke.ts","format":"biome format --write","stitch":"npx tsx src/index.ts","prepack":"bun run build","prebuild":"rm -rf dist","docs:data":"bun scripts/generate-docs-data.ts","smoke:mcp":"bun test/smoke-composite-mcp.ts","test:fuzz":"bun scripts/adversarial-runner.ts","typecheck":"bun x tsc --noEmit && bun x tsc --noEmit -p tsconfig.contracts.json","audit:spec":"bun run .agents/skills/sdk-conformance/scripts/compile_and_diff.ts","build:main":"bun scripts/build.ts --target=main","smoke:pack":"npx tsx test/smoke-pack.ts","build:types":"bun x tsc --emitDeclarationOnly --declaration --outDir dist --project tsconfig.build.json","build:views":"cp -r src/cli/markdown/views dist/views","test:verify":"bun test/verify-all-commands.ts","build:ingest":"bun scripts/build.ts --target=ingest","bench:startup":"npx tsx scripts/bench-startup.ts","gen:contracts":"bun scripts/gen-contracts.ts","smoke:tarball":"npx tsx test/smoke-tarball.ts","prepublishOnly":"bun run build && bun run test && npx tsx test/smoke-pack.ts && npx tsx test/smoke-tarball.ts","smoke:loop-tui":"npx tsx test/smoke-loop-tui.ts dist/stitch.js","test:artifacts":"npx tsx test/artifacts.ts","docs:data:check":"bun scripts/generate-docs-data.ts --check","smoke:mcp-stdio":"npx tsx test/smoke-mcp-stdio.ts dist/mcp.js","harness:webhooks":"bun harness/webhooks/run.ts","test:adversarial":"vitest run test/adversarial","refresh:stitch-tools":"bun scripts/refresh-stitch-tools.ts","harness:webhooks:deploy":"bash harness/webhook-sink/deploy.sh"},"version":"0.12.2","_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"homepage":"https://stitch.withgoogle.com","keywords":["stitch","google","cli","ai","agent","mcp","ui-design"],"_resolved":"/usr/local/google/home/yyx/github/stitch-cli-stage/google-stitch-0.12.2.tgz","_integrity":"sha512-smfol406eCyDBxULCfRxXF8XcfzcRU4W8eEB9XY/Czxwt8n//ERMU7X98gVdn2lBUeGxuygxbzpxGxpUnyVRjA==","repository":{"url":"git+https://github.com/google-labs-code/stitch-sdk.git","type":"git"},"workspaces":["adapters/*"],"_npmVersion":"12.0.2","description":"Agent-first CLI and MCP server for Google Stitch","directories":{},"maintainers":[{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},{"name":"ofrobots","email":"ofrobots@google.com"},{"name":"mrdoob","email":"info@mrdoob.com"}],"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.3.6"},"publishConfig":{"tag":"latest","access":"public","registry":"https://wombat-dressing-room.appspot.com"},"_hasShrinkwrap":false,"devDependencies":{"ink":"^7.1.1","tsx":"^4.19.0","open":"^11.0.4","citty":"^0.2.2","react":"^19.2.8","marked":"^18.0.13","vitest":"^3.2.0","js-yaml":"^4.1.1","css-tree":"^3.2.1","linkedom":"^0.18.13","handlebars":"^4.7.9","typescript":"^5","@types/node":"^25.9.1","ink-spinner":"^5.0.0","@types/react":"^19.2.18","jsonc-parser":"^3.3.1","@types/marked":"^5.0.2","@biomejs/biome":"2.5.14","@types/js-yaml":"^4.0.9","firebase-admin":"^14.5.0","@types/css-tree":"^3.2.0","@google/stitch-sdk":"^0.3.5","chrome-remote-interface":"^0.34.0","@modelcontextprotocol/sdk":"^1.12.1","@types/chrome-remote-interface":"^0.34.0"},"peerDependencies":{"typescript":"^5"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/stitch_0.12.2_1794260264070_0.5347733583452252"}}},"time":{"created":"2026-10-01T15:38:15.113Z","modified":"2026-11-09T21:37:44.368Z","0.11.0":"2026-10-01T15:38:27.988Z","0.11.1":"2026-10-08T22:50:57.612Z","0.12.0-rc.2":"2026-10-21T21:26:53.482Z","0.12.0":"2026-10-21T22:04:03.435Z","0.12.1":"2026-10-29T16:30:07.925Z","0.12.2":"2026-11-09T21:37:44.212Z"},"bugs":{"url":"https://github.com/google-labs-code/stitch-sdk/issues"},"author":{"name":"Google LLC"},"license":"Apache-2.0","homepage":"https://stitch.withgoogle.com","keywords":["stitch","google","cli","ai","agent","mcp","ui-design"],"repository":{"url":"git+https://github.com/google-labs-code/stitch-sdk.git","type":"git"},"description":"Agent-first CLI and MCP server for Google Stitch","maintainers":[{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},{"name":"ofrobots","email":"ofrobots@google.com"},{"name":"mrdoob","email":"info@mrdoob.com"}],"readme":"# @google/stitch\n\nGenerate UI screens in Google Stitch from a prompt, pull your running app's pages onto the Stitch canvas, and iterate on them from your terminal or coding agent.\n\n```bash\nnpx @google/stitch generate screen \\\n  --new-project \"Mobile Onboarding Flow\" \\\n  --prompt \"Sign-up step with email and phone verification\" \\\n  --device MOBILE\n```\n\nThis creates a Stitch project, generates one mobile screen into it, and prints the project and screen IDs.\n\n### Bring an existing page into Stitch and redesign it\n\nCapture a route from your local dev server as a self-contained HTML file, upload it as a screen, then edit it with a prompt:\n\n```bash\nstitch capture http://localhost:3000/checkout          # saves .stitch/captures/checkout.html\nstitch upload screen .stitch/captures/checkout.html --route /checkout --title Checkout\nstitch edit screen <screen-id> --project <project-id> --prompt \"Use a two-column layout\"\n```\n\n### Explore variants of a screen\n\n```bash\nstitch generate variants \\\n  --project <project-id> \\\n  --screen <screen-id> \\\n  --prompt \"Try warmer colors and a denser layout\" \\\n  --count 3 \\\n  --creative-range EXPLORE \\\n  --aspects LAYOUT,COLOR_SCHEME\n```\n\n### Preview a project's screens locally\n\n```bash\nstitch serve -p <project-id> --port 3000\n```\n\n### Use it from a coding agent\n\nEvery command accepts `--json` for structured output, `--json '{...}'` for raw input payloads, and `--schema` to print the JSON Schema of what it accepts. Agents can discover the API without reading docs:\n\n```bash\nstitch generate --schema                 # which resources can be generated\nstitch generate screen --schema          # payload schema for one resource\nstitch find projects --limit 10 --json\n```\n\nOr register the bundled MCP server with your editor:\n\n```bash\nstitch mcp install\n```\n\n---\n\n## Install\n\n```bash\nnpm install -g @google/stitch\n```\n\nRequires Node.js 20 or later. Installs two binaries: `stitch` and `stitch-mcp` (same as `stitch mcp start`).\n\n## Authentication\n\n```bash\nstitch login     # Google OAuth in the browser; tokens are stored locally and refreshed automatically\nstitch status    # shows which credentials are active\nstitch logout    # removes stored OAuth credentials and saved API keys\n```\n\nCanvas commands (projects, screens, design systems) may require an API key in addition to OAuth. If a command fails with `MISSING_CANVAS_CREDENTIALS`, set one:\n\n```bash\nexport STITCH_API_KEY=your-api-key\n```\n\n| Credential | Flag | Environment variable |\n| :-- | :-- | :-- |\n| API key | `--api-key` | `STITCH_API_KEY` |\n| OAuth access token | `--access-token` | `STITCH_ACCESS_TOKEN` |\n\n`stitch login` options: `--port` (loopback callback port, default `8085`), `--json`.\n`stitch status` options: `--flow design|loop`, `--token` (print a valid bearer token), `--json`.\n\n## Configuration\n\nPer-repository defaults live in `.stitch.json`:\n\n```bash\nstitch config set project 1234567890\nstitch config get project\nstitch config list      # resolved values from flags, env, and config files\nstitch config unset project\n```\n\n| Setting | Flag | Environment variable |\n| :-- | :-- | :-- |\n| Project | `-p, --project` | `STITCH_PROJECT_ID` |\n| Workspace | `-w, --workspace` | `STITCH_WORKSPACE` |\n| API base URL | `--base-url` | `STITCH_BASE_URL` |\n\n## Global flags\n\n| Flag | Description |\n| :-- | :-- |\n| `--format json\\|ndjson\\|table\\|markdown` | Output format. Defaults to `table` in a terminal. |\n| `--json [payload]` | Output in JSON format. On dual-mode commands (`create`, `edit`, `get`, `find`, `api`), also accepts a raw JSON input payload. |\n| `--schema` | Print the JSON Schema (Draft 2020-12) for the command or resource. |\n| `--dry-run` | On mutating commands, validate and preview without calling the backend. |\n\n## Commands\n\n### `generate`\n\nGenerate screens or variants with Gemini.\n\n```bash\nstitch generate screen --project <project-id> --prompt \"Analytics dashboard with revenue chart\" --device DESKTOP\n```\n\n| Option | Description |\n| :-- | :-- |\n| `-p, --project` | Target project ID |\n| `--new-project [title]` | Create a new project instead |\n| `--prompt` | Art-direction prompt |\n| `-d, --device` | `DESKTOP` or `MOBILE` |\n| `--model` | `GEMINI_3_8_FLASH` or `GEMINI_3_5_FLASH_LITE` |\n| `--title` | Screen title, best effort (names the project with `--new-project`) |\n| `--screen` | Source screen (variants) |\n| `--count` | Number of variants, 1–5 |\n| `--creative-range` | `REFINE`, `EXPLORE`, or `REIMAGINE` |\n| `--aspects` | Comma-separated: `LAYOUT`, `COLOR_SCHEME`, `IMAGES`, `TEXT_FONT`, `TEXT_CONTENT` |\n| `--dry-run` | Preview without generating |\n\n### `edit`\n\nChange an existing resource. For screens, this re-generates with a prompt.\n\n```bash\nstitch edit screen <screen-id> --project <project-id> --prompt \"Add a dark mode toggle to the header\"\n```\n\n| Option | Description |\n| :-- | :-- |\n| `--prompt` | Art-direction prompt |\n| `--device` | `DESKTOP` or `MOBILE` |\n| `--model` | Generation model |\n| `--design-system` | Design system ID to apply |\n| `--json '{...}'` | Raw patch payload (e.g. for `design-system`) |\n| `--dry-run` | Preview without changing anything |\n\nResources: `screen`, `design-system`.\n\n### `capture`\n\nSave a page as a single self-contained HTML file, ready to upload as a screen.\n\n```bash\nstitch capture http://localhost:3000/library\n```\n\n| Option | Description |\n| :-- | :-- |\n| `-o, --output` | Output path. Default `.stitch/captures/<route>.html`; `-` for stdout |\n| `--tab [id]` | Capture an open Chrome DevTools tab as-is, without reloading |\n| `--auth` | Playwright `storageState` JSON for sign-in-gated routes |\n| `--origin` | When capturing a local file, the origin serving its root-relative assets |\n| `--allow-redirect` | Save even if the page redirected to a different route |\n\nSubcommands: `routes` (list routes found in the codebase), and `browser`, `port`, `file` for explicit capture modes.\n\n### `upload`\n\nUpload a screen or design file to a project.\n\n```bash\nstitch upload screen .stitch/checkout.html --route /checkout --title Checkout\nstitch upload design DESIGN.md --project <project-id>\n```\n\nSubcommands: `screen` (HTML or image), `design` (DESIGN.md).\n\n### `serve`\n\nRun a local preview server for a project's screens.\n\n```bash\nstitch serve -p <project-id>\n```\n\n| Option | Description |\n| :-- | :-- |\n| `-p, --project` | Project to preview |\n| `--port` | Port, default `3000` |\n| `--dry-run` | Check configuration and exit |\n\n### `find`\n\nList resources.\n\n```bash\nstitch find projects --limit 10\n```\n\n| Option | Description |\n| :-- | :-- |\n| `--limit` | Maximum results |\n| `--page-size`, `--page-token` | Pagination |\n| `--filter` | Filter expression |\n\nResources: `project`, `screen`, `design-system`.\n\n### `get`\n\nFetch one resource by ID.\n\n```bash\nstitch get project <project-id> --json\nstitch get screen <screen-id> --project <project-id> --json\n```\n\n### `create`\n\nCreate a resource from flags or a JSON payload.\n\n```bash\nstitch create project --title \"Customer Dashboard Redesign\"\nstitch create project --json '{\"title\":\"Customer Dashboard Redesign\"}'\n```\n\nOptions: `--title`, `--json`, `--dry-run`.\n\n### `delete`\n\nDelete a resource.\n\n```bash\nstitch delete project --id <project-id> --dry-run\n```\n\nOptions: `--id`, `--dry-run`, `-y, --yes` (skip confirmation).\n\n### `open` and `url`\n\nOpen a project or screen on the Stitch canvas, or print its URL.\n\n```bash\nstitch open project <project-id>\nstitch url screen <screen-id> --project <project-id>\n```\n\n`open --url` prints instead of launching a browser (also respects `STITCH_NO_BROWSER`).\n\n### `mcp`\n\nRun Stitch as an MCP server over stdio.\n\n```bash\nstitch mcp install   # register with your AI editor\nstitch mcp start     # start the server (what the editor runs)\n```\n\n### `agent-skills`\n\nInstall a `SKILL.md` that teaches coding agents how to use this CLI.\n\n```bash\nstitch agent-skills add      # writes to .agents/skills\nstitch agent-skills list\nstitch agent-skills update   # resync after upgrading the CLI\n```\n\n### `api`\n\nCall a Stitch REST endpoint directly.\n\n```bash\nstitch api workspaces\nstitch api workspaces/<id>/priorities --schema\n```\n\nOptions: `-X, --method` (default `GET`), `--json`, `--schema`, `-y, --yes`.\n\n### `privacy`\n\nShow or accept the Stitch Privacy Notice and Terms of Service: `stitch privacy status | show | accept`.\n\n## Experimental: Loop workspaces\n\nLoop pairs a GitHub repository with a Stitch **workspace**. You give the workspace **priorities**, which are standing objectives such as \"reduce checkout friction\". Stitch reads the codebase against each priority and reports **insights**: specific opportunities tied to a route. For each insight it can propose **solutions**, which are concrete changes.\n\nLoop is off by default. The commands and API may change between releases.\n\n### Workflow\n\n```bash\n# 1. Turn Loop on and sign in to Google and GitHub\nstitch enable loop\nstitch login\nstitch github login\nstitch github configure          # grant the Stitch GitHub App access to your repositories\nstitch github repos              # list repositories you can attach to a workspace\n\n# 2. Create a workspace for a repository and make it this directory's default\nstitch create workspace --name Storefront --json '{\"repositories\":[\"https://github.com/org/storefront\"]}'\nstitch find workspaces\nstitch config set workspace <workspace-id>\n\n# 3. Add a priority, either from a starter template or written from scratch\nstitch create priority --templates\nstitch create priority --objective \"Reduce checkout friction\"\n\n# 4. Generate insights and wait for the run to finish\nstitch generate insights --priority <priority-id> --watch --notify\n\n# 5. Review the insights, then generate solutions or dismiss them\nstitch find insights --priority <priority-id>\nstitch generate solutions --insight <insight-id>\nstitch find solutions --priority <priority-id>\nstitch dismiss insights <insight-id>\n```\n\n`stitch status --flow loop` reports which onboarding step you're on and what to run next.\n\n### Concepts\n\n| Resource | What it is |\n| :-- | :-- |\n| `workspace` | A repository paired with Stitch. It holds the priorities, insights, and context. |\n| `priority` | An objective that Stitch keeps working against. |\n| `insight` | A route-anchored opportunity found by mining the codebase against a priority. |\n| `solution` | A proposed change answering an insight. |\n| `context` | External material, such as docs or specs, attached so Stitch can reason beyond the code. |\n| `file` | A file uploaded to a workspace. |\n| `skill` | Instructions that shape how Stitch agents read the workspace. These are separate from `stitch agent-skills`. |\n| `webhook` | An HTTP callback fired on workspace events. |\n| `connection` | An integration with an external tool such as GitHub or Slack. |\n\nAll of these work with `find`, `get`, `create`, `edit`, and `delete`. Not every resource supports every verb; run `stitch <verb> --schema` to see which ones do.\n\n### Loop commands\n\n**`generate insights`**: mine the codebase against one or more priorities.\n\n| Option | Description |\n| :-- | :-- |\n| `--priority` | Priority ID, or comma-separated IDs |\n| `--watch` | Block until the run ends. Exit code `0` means completed, `1` failed, `124` timed out |\n| `--notify` | With `--watch`, send a desktop notification when the run ends |\n| `--interval` | Polling interval in ms (default `2000`) |\n| `--timeout` | Seconds to wait (default `3600`) |\n| `--delay` | Delay insight generation execution |\n\n**`generate solutions`**: propose changes for insights. Options: `--insight` (ID or comma-separated IDs), `--replace-existing` (replace unassigned solutions).\n\n**`create priority`**: options `--objective`, `--description`, `--templates` (list starter templates), `-t, --template <id|title|index>`, `-i, --interactive`.\n\n**`dismiss insights <id>`**: hide insights from recommendations. Options: `--concurrency` (default `5`), `--dry-run`.\n\n**`edit workspace <id>`**: options `--add-repo`, `--remove-repo` (URL, `owner/repo`, or ID).\n\n**`upload code [dir]`** uploads a codebase archive (a `.zip` or a directory) to the workspace. **`upload file <path>`** uploads a single file.\n\n**`connect [tool]`**: connect an integration through the provider's OAuth flow.\n\n```bash\nstitch connect --list\nstitch connect slack --no-browser --timeout 180\n```\n\nOptions: `-l, --list`, `-s, --search`, `--connected`, `--all`, `--no-browser`, `--timeout` (default `120`).\n\n**`github`**: manage the GitHub connection. Subcommands: `login`, `configure`, `repos`, `status`.\n\n**`api <path>`**: call workspace endpoints directly, for example `stitch api workspaces/<id>/priorities`.\n\nTurn Loop off with `stitch disable loop`.\n\n## Library\n\nThe package exports one module for configuring codebase ingestion:\n\n```ts\nimport { defineIngest } from '@google/stitch/ingest';\n```\n\n## Known limitations\n\n- Some Canvas operations require `STITCH_API_KEY` even when signed in with OAuth.\n- Loop is experimental. Its resources and flags may change without a major version bump.\n\n## License\n\nApache-2.0\n","readmeFilename":"README.md"}