{"_id":"@cognautic.space/forge","_rev":"17-9405e70fc129dcb67aefadb3e7e398ad","name":"@cognautic.space/forge","dist-tags":{"latest":"0.0.17"},"versions":{"0.0.1":{"name":"@cognautic.space/forge","version":"0.0.1","license":"Elastic-2.0","_id":"@cognautic.space/forge@0.0.1","maintainers":[{"name":"cognautic.cog","email":"cognautic@gmail.com"}],"bin":{"forge":"dist/main.js"},"dist":{"shasum":"2ff0b2902b98fc604b00b0103e61d586a80465ad","tarball":"https://registry.npmjs.org/@cognautic.space/forge/-/forge-0.0.1.tgz","fileCount":22,"integrity":"sha512-K+ZaIqkgyTmf44WeZzmKODqDCBRw46as6CU5iMRzno9xTB7xycyauwvsqngJyBMVGxzwM+/KToosslWlLAwHCQ==","signatures":[{"sig":"MEQCIDytR2fzmK+yK3HM9YkSZXBTDZOT4nk/wz3nLCUm0CcLAiBHulw7KEpiuXuCuoPQ8X4kAeYpbjuX5SVMRQ45zveanw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":153898},"main":"dist/main.js","type":"commonjs","gitHead":"e35068f690e3f68662ac4347a9c0c52dca4a9661","private":false,"scripts":{"dev":"bun run src/main.ts","build":"npm run build:npm","check":"bunx tsc --noEmit","clean":"node -e \"require('fs').rmSync('dist',{ recursive:true, force:true })\"","start":"bun run src/main.ts","prepare":"npm run build:npm","build:npm":"npm run clean && tsc -p tsconfig.build.json"},"_npmUser":{"name":"cognautic.cog","email":"cognautic@gmail.com"},"_npmVersion":"11.11.0","description":"Cognautic Forge - local-first AI co-worker CLI","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.24.1","enquirer":"^2.4.1","playwright":"^1.55.0","chromium-bidi":"^15.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","@types/node":"^22.13.10"},"_npmOperationalInternal":{"tmp":"tmp/forge_0.0.1_1772713061291_0.5749749034097853","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@cognautic.space/forge","version":"0.0.2","license":"Elastic-2.0","_id":"@cognautic.space/forge@0.0.2","maintainers":[{"name":"cognautic.cog","email":"cognautic@gmail.com"}],"bin":{"forge":"dist/main.js"},"dist":{"shasum":"9c26d5d60b33fd2bbff6fe68c7058b4392e2f3af","tarball":"https://registry.npmjs.org/@cognautic.space/forge/-/forge-0.0.2.tgz","fileCount":22,"integrity":"sha512-jl6VKlCFTlAntUcUaYiXcqesIKhyGfCsLUQ3QaboUzXrv3LstX4aZZG/sVa9E6+tO2XLMt8D4YYTcY5B8Ljbzg==","signatures":[{"sig":"MEYCIQCWq58826QKzC2GUfV6Oav+pmYOjdsLJVbobS05hUiy1AIhAOx7LbLXhdNoFUT2Urzw/zawlbl6Aj3tCcv+Q8PFyGPM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":153896},"main":"dist/main.js","type":"commonjs","gitHead":"33a458d2fe26c9b4651fd0f6ead2e156cc090a9b","private":false,"scripts":{"dev":"bun run src/main.ts","build":"npm run build:npm","check":"bunx tsc --noEmit","clean":"node -e \"require('fs').rmSync('dist',{ recursive:true, force:true })\"","start":"bun run src/main.ts","prepare":"npm run build:npm","build:npm":"npm run clean && tsc -p tsconfig.build.json"},"_npmUser":{"name":"cognautic.cog","email":"cognautic@gmail.com"},"_npmVersion":"11.11.0","description":"Cognautic Forge - local-first AI co-worker CLI","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.24.1","enquirer":"^2.4.1","playwright":"^1.55.0","chromium-bidi":"^15.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","@types/node":"^22.13.10"},"_npmOperationalInternal":{"tmp":"tmp/forge_0.0.2_1772717128602_0.3758667854592781","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@cognautic.space/forge","version":"0.0.3","license":"Elastic-2.0","_id":"@cognautic.space/forge@0.0.3","maintainers":[{"name":"cognautic.cog","email":"cognautic@gmail.com"}],"bin":{"forge":"dist/main.js"},"dist":{"shasum":"16eb69267a512160e029cad949c41b814d27a068","tarball":"https://registry.npmjs.org/@cognautic.space/forge/-/forge-0.0.3.tgz","fileCount":22,"integrity":"sha512-25Fa631HJ7E9f9DOLxXyRA8t0S/4pjs9EEUvR2JryblXT3ynvqkUAoo04sYdMmDUSVDq6lGv/xZkIwTPdmMorg==","signatures":[{"sig":"MEQCIDkElbvLHt2rskwwHgIWrPidrKeAFHhrkanonnh8miHzAiAv4o6g3j9IngcaimvHCMvR+B3DldV/5psd24PItZFvoQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":153433},"main":"dist/main.js","type":"commonjs","gitHead":"33a458d2fe26c9b4651fd0f6ead2e156cc090a9b","private":false,"scripts":{"dev":"bun run src/main.ts","build":"npm run build:npm","check":"bunx tsc --noEmit","clean":"node -e \"require('fs').rmSync('dist',{ recursive:true, force:true })\"","start":"bun run src/main.ts","prepare":"npm run build:npm","build:npm":"npm run clean && tsc -p tsconfig.build.json"},"_npmUser":{"name":"cognautic.cog","email":"cognautic@gmail.com"},"_npmVersion":"11.11.0","description":"Cognautic Forge - local-first AI co-worker CLI","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.24.1","enquirer":"^2.4.1","playwright":"^1.55.0","chromium-bidi":"^15.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","@types/node":"^22.13.10"},"_npmOperationalInternal":{"tmp":"tmp/forge_0.0.3_1772718309160_0.31435130653415033","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@cognautic.space/forge","version":"0.0.4","license":"Elastic-2.0","_id":"@cognautic.space/forge@0.0.4","maintainers":[{"name":"cognautic.cog","email":"cognautic@gmail.com"}],"bin":{"forge":"dist/main.js"},"dist":{"shasum":"0fb7f6a64e754f6e81e230f52f8cd17dafec973b","tarball":"https://registry.npmjs.org/@cognautic.space/forge/-/forge-0.0.4.tgz","fileCount":22,"integrity":"sha512-rkkMW2OFP0C3RFW9m7GvFzi0Nn/uvm740xwZ89QYNzioaYR0I0iUyLpp5aldsi/i77hoG3L+sw+ybgW7xjixYg==","signatures":[{"sig":"MEYCIQDOCyv1p/U1q/PSnCTvOF2oHU67ojtQivGQAayQ4P2FIQIhAJ/yRt8aKYFlwRSgeqZsXbO+1xdJMFhasHjbQwkQpscg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":170399},"main":"dist/main.js","type":"commonjs","gitHead":"5901260bfdce37457a438506f82f3b6b6f99be3f","private":false,"scripts":{"dev":"bun run src/main.ts","build":"npm run build:npm","check":"bunx tsc --noEmit","clean":"node -e \"require('fs').rmSync('dist',{ recursive:true, force:true })\"","start":"bun run src/main.ts","prepare":"npm run build:npm","build:npm":"npm run clean && tsc -p tsconfig.build.json"},"_npmUser":{"name":"cognautic.cog","email":"cognautic@gmail.com"},"_npmVersion":"11.11.0","description":"Cognautic Forge - local-first AI co-worker CLI","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.24.1","enquirer":"^2.4.1","playwright":"^1.55.0","chromium-bidi":"^15.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","@types/node":"^22.13.10"},"_npmOperationalInternal":{"tmp":"tmp/forge_0.0.4_1772727757392_0.6192836055434479","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@cognautic.space/forge","version":"0.0.5","license":"Elastic-2.0","_id":"@cognautic.space/forge@0.0.5","maintainers":[{"name":"cognautic.cog","email":"cognautic@gmail.com"}],"bin":{"forge":"dist/main.js"},"dist":{"shasum":"de2b7c3439d6a1dce2efc1dafd4b4a49cbe5ca93","tarball":"https://registry.npmjs.org/@cognautic.space/forge/-/forge-0.0.5.tgz","fileCount":22,"integrity":"sha512-BS648UqmlHad3X4bg+AUxbXH2KWc0w+QtrLEV4aWZhqEiTiiprRLFaJEJduoz3Cy7CmHjQwtV6wZE/WjTu01uA==","signatures":[{"sig":"MEYCIQDnrkfIvEDR/AhPH/1YDQj0htqGGO8u+/j+dlUeJ9ElMwIhAICyIuoQNPP636uvC2/ukXKaPuL7gUpcNc6ieuUnH+UZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":173597},"main":"dist/main.js","type":"commonjs","gitHead":"1fb4de0a72c96b4d9eef3d2e59f44af420b989ed","private":false,"scripts":{"dev":"bun run src/main.ts","build":"npm run build:npm","check":"bunx tsc --noEmit","clean":"node -e \"require('fs').rmSync('dist',{ recursive:true, force:true })\"","start":"bun run src/main.ts","prepare":"npm run build:npm","build:npm":"npm run clean && tsc -p tsconfig.build.json"},"_npmUser":{"name":"cognautic.cog","email":"cognautic@gmail.com"},"_npmVersion":"11.11.0","description":"Cognautic Forge - local-first AI co-worker CLI","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.24.1","enquirer":"^2.4.1","playwright":"^1.55.0","chromium-bidi":"^15.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","@types/node":"^22.13.10"},"_npmOperationalInternal":{"tmp":"tmp/forge_0.0.5_1772782621168_0.9331436843575609","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@cognautic.space/forge","version":"0.0.6","license":"Elastic-2.0","_id":"@cognautic.space/forge@0.0.6","maintainers":[{"name":"cognautic.cog","email":"cognautic@gmail.com"}],"bin":{"forge":"dist/main.js"},"dist":{"shasum":"469de5973726c42056fa9c1896494a483c63b866","tarball":"https://registry.npmjs.org/@cognautic.space/forge/-/forge-0.0.6.tgz","fileCount":22,"integrity":"sha512-sHOARE2Mg9UiI8pXaMTMBDmFKDc4QfPErSoWqI8Oqq+sZu4BQLfwLSNYdBqP1jwygCRg2twspQFlZ5AFpMPc5A==","signatures":[{"sig":"MEUCIQDqzT3BdbejJNqB4A/oXOcoSnKF/CYVEC1N+MLKEjHJ8AIgCPtkPN6OM+ihPUSLbUH6QSUCmjBPQvzJpkSw5fJjDlQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":176802},"main":"dist/main.js","type":"commonjs","gitHead":"fec858b10fcbc864290f8bc907bb113cca16089f","private":false,"scripts":{"dev":"bun run src/main.ts","build":"npm run build:npm","check":"bunx tsc --noEmit","clean":"node -e \"require('fs').rmSync('dist',{ recursive:true, force:true })\"","start":"bun run src/main.ts","prepare":"npm run build:npm","build:npm":"npm run clean && tsc -p tsconfig.build.json"},"_npmUser":{"name":"cognautic.cog","email":"cognautic@gmail.com"},"_npmVersion":"11.11.0","description":"Cognautic Forge - local-first AI co-worker CLI","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.24.1","enquirer":"^2.4.1","playwright":"^1.55.0","chromium-bidi":"^15.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","@types/node":"^22.13.10"},"_npmOperationalInternal":{"tmp":"tmp/forge_0.0.6_1772792974197_0.9164719761783588","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@cognautic.space/forge","version":"0.0.7","license":"Elastic-2.0","_id":"@cognautic.space/forge@0.0.7","maintainers":[{"name":"cognautic.cog","email":"cognautic@gmail.com"}],"bin":{"forge":"dist/main.js"},"dist":{"shasum":"d25235f249c3ad287ec693739ed630df81ba27b3","tarball":"https://registry.npmjs.org/@cognautic.space/forge/-/forge-0.0.7.tgz","fileCount":38,"integrity":"sha512-L23bMuUHv68VwSVzmObN5YD05xoXOjlSnJjjfWgagwkDI5NBogzqAouOdHxcx2xuLI2iUPHE5JDmxbtg0SpZtg==","signatures":[{"sig":"MEUCIGbUZT3ABsPxrEqcqKtxyjpwZPaYhT8bl/Vhj9KeOzy2AiEA6Ezv68gqXdD/ICYZiS2FXlW1FUf5xnswggFs38RMoSE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":279556},"main":"dist/main.js","type":"commonjs","gitHead":"1779edfdebffe5c4e6535e1c29492317cafb62c2","private":false,"scripts":{"dev":"bun run src/main.ts","build":"npm run build:npm","check":"bunx tsc --noEmit","clean":"node -e \"require('fs').rmSync('dist',{ recursive:true, force:true })\"","start":"bun run src/main.ts","prepare":"npm run build:npm","build:npm":"npm run clean && tsc -p tsconfig.build.json","convex:dev":"convex dev","convex:deploy":"convex deploy"},"_npmUser":{"name":"cognautic.cog","email":"cognautic@gmail.com"},"_npmVersion":"11.11.0","description":"Cognautic Forge - local-first AI co-worker CLI","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.24.1","convex":"^1.32.0","enquirer":"^2.4.1","googleapis":"^144.0.0","playwright":"^1.55.0","chromium-bidi":"^15.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","@types/node":"^22.13.10"},"_npmOperationalInternal":{"tmp":"tmp/forge_0.0.7_1772953331024_0.4910885854013254","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@cognautic.space/forge","version":"0.0.8","license":"Elastic-2.0","_id":"@cognautic.space/forge@0.0.8","maintainers":[{"name":"cognautic.cog","email":"cognautic@gmail.com"}],"bin":{"forge":"dist/main.js"},"dist":{"shasum":"05d06272baa2716b0c80c4a497f304e9a139d7e2","tarball":"https://registry.npmjs.org/@cognautic.space/forge/-/forge-0.0.8.tgz","fileCount":38,"integrity":"sha512-oQZfI/PbFrpzUzJghcW9TMMliGyg0nxQYRd+8M6Pibng6wxSQmh1sng/jHkz7QunLiaqH9eNSC3FmbiYgY9GQg==","signatures":[{"sig":"MEYCIQCTZfsMUD474drIwOqPFAOfHHUqk2KxLeoii9u7gGVPsQIhAO+j5++kqoK6el6w7C3WN6S1szsn2/cHBlYAFcrluG3J","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":280059},"main":"dist/main.js","type":"commonjs","gitHead":"422e82056c004458f93ae7dea864bf7a32595adb","private":false,"scripts":{"dev":"bun run src/main.ts","build":"npm run build:npm","check":"bunx tsc --noEmit","clean":"node -e \"require('fs').rmSync('dist',{ recursive:true, force:true })\"","start":"bun run src/main.ts","prepare":"npm run build:npm","build:npm":"npm run clean && tsc -p tsconfig.build.json","convex:dev":"convex dev","convex:deploy":"convex deploy"},"_npmUser":{"name":"cognautic.cog","email":"cognautic@gmail.com"},"_npmVersion":"11.11.0","description":"Cognautic Forge - local-first AI co-worker CLI","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.24.1","convex":"^1.32.0","enquirer":"^2.4.1","googleapis":"^144.0.0","playwright":"^1.55.0","chromium-bidi":"^15.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","@types/node":"^22.13.10"},"_npmOperationalInternal":{"tmp":"tmp/forge_0.0.8_1772954245901_0.18338237062778195","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"@cognautic.space/forge","version":"0.0.9","license":"Elastic-2.0","_id":"@cognautic.space/forge@0.0.9","maintainers":[{"name":"cognautic.cog","email":"cognautic@gmail.com"}],"bin":{"forge":"dist/main.js"},"dist":{"shasum":"8d82e96f288c4cbdc062da3b3825bf6db3cf34da","tarball":"https://registry.npmjs.org/@cognautic.space/forge/-/forge-0.0.9.tgz","fileCount":38,"integrity":"sha512-0BOy+YYR9Uc4UZyLiJE1mjPzVGAEW8mC4zzMmUGEtFV/a/o+dWEL9kblumQgwKYqa/CCZvcGgjvOTkoibFUuWA==","signatures":[{"sig":"MEYCIQD5oXqojjN6HZCPzWOAfiJjEfHcX1Qej2KNLogZKk65FQIhAKV4L7cvppqxCgFljeM9NFbDuNpm53Ds0r5uZYAms1ma","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":280250},"main":"dist/main.js","type":"commonjs","gitHead":"33faa34bad8c942b81ff49e2fabb96a8a070d182","private":false,"scripts":{"dev":"bun run src/main.ts","build":"npm run build:npm","check":"bunx tsc --noEmit","clean":"node -e \"require('fs').rmSync('dist',{ recursive:true, force:true })\"","start":"bun run src/main.ts","prepare":"npm run build:npm","build:npm":"npm run clean && tsc -p tsconfig.build.json","convex:dev":"convex dev","convex:deploy":"convex deploy"},"_npmUser":{"name":"cognautic.cog","email":"cognautic@gmail.com"},"_npmVersion":"11.11.0","description":"Cognautic Forge - local-first AI co-worker CLI","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.24.1","convex":"^1.32.0","enquirer":"^2.4.1","googleapis":"^144.0.0","playwright":"^1.55.0","chromium-bidi":"^15.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","@types/node":"^22.13.10"},"_npmOperationalInternal":{"tmp":"tmp/forge_0.0.9_1772961954681_0.4585966650928248","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"@cognautic.space/forge","version":"0.0.10","license":"Elastic-2.0","_id":"@cognautic.space/forge@0.0.10","maintainers":[{"name":"cognautic.cog","email":"cognautic@gmail.com"}],"bin":{"forge":"dist/main.js"},"dist":{"shasum":"00cae1bb33bf5f8d203a256e1a86caf75f12b8a1","tarball":"https://registry.npmjs.org/@cognautic.space/forge/-/forge-0.0.10.tgz","fileCount":38,"integrity":"sha512-cqAgAXqZgU28Zp5v7pBUeI2BQTZZffInvX89GjdcnlGAhWqy3ZzvpPcdq4gc9RH909NvOS03NwlC56CHeHW7ng==","signatures":[{"sig":"MEUCIQCrH/Z+Z5kLwyTGNDi76ZbmyhcGJ1+GnOr+3qyFM6Lz+AIgR3qGe4wGawPJOoH0u/PWaaSetY4/m/MoB8oP+vjNiA8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":281413},"main":"dist/main.js","type":"commonjs","gitHead":"91153e55190f8614ff6a4cf6c37cbf7ddf4fd04b","private":false,"scripts":{"dev":"bun run src/main.ts","build":"npm run build:npm","check":"bunx tsc --noEmit","clean":"node -e \"require('fs').rmSync('dist',{ recursive:true, force:true })\"","start":"bun run src/main.ts","prepare":"npm run build:npm","build:npm":"npm run clean && tsc -p tsconfig.build.json","convex:dev":"convex dev","convex:deploy":"convex deploy"},"_npmUser":{"name":"cognautic.cog","email":"cognautic@gmail.com"},"_npmVersion":"11.11.0","description":"Cognautic Forge - local-first AI co-worker CLI","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.24.1","convex":"^1.32.0","enquirer":"^2.4.1","googleapis":"^144.0.0","playwright":"^1.55.0","chromium-bidi":"^15.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","@types/node":"^22.13.10"},"_npmOperationalInternal":{"tmp":"tmp/forge_0.0.10_1772967422236_0.7762500776159189","host":"s3://npm-registry-packages-npm-production"}},"0.0.11":{"name":"@cognautic.space/forge","version":"0.0.11","license":"Elastic-2.0","_id":"@cognautic.space/forge@0.0.11","maintainers":[{"name":"cognautic.cog","email":"cognautic@gmail.com"}],"bin":{"forge":"dist/main.js"},"dist":{"shasum":"6181fab5233346f6ed85e1ad5111572391acb5b6","tarball":"https://registry.npmjs.org/@cognautic.space/forge/-/forge-0.0.11.tgz","fileCount":38,"integrity":"sha512-Qu5lugVukq/GdrMOv5VdIb69/pFbPKb2R51PljhrLYxdQgEP3tyaXVkdW1kn7rFHpLBNOk+qAKHCh1e6g8mgfg==","signatures":[{"sig":"MEUCIQCquyzeXsBBiyMDlO8fjOt4LsKXlm5dxIk77xqJDvjC2gIgFBpQ2aGv0EPfjlUdIRmPGx75k6KUvU9vcqXofXW0bFk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":283330},"main":"dist/main.js","type":"commonjs","gitHead":"b312d78188ecb977428eb6e5ed85d450c9fc0f8a","private":false,"scripts":{"dev":"bun run src/main.ts","build":"npm run build:npm","check":"bunx tsc --noEmit","clean":"node -e \"require('fs').rmSync('dist',{ recursive:true, force:true })\"","start":"bun run src/main.ts","prepare":"npm run build:npm","build:npm":"npm run clean && tsc -p tsconfig.build.json","convex:dev":"convex dev","convex:deploy":"convex deploy"},"_npmUser":{"name":"cognautic.cog","email":"cognautic@gmail.com"},"_npmVersion":"11.11.0","description":"Cognautic Forge - local-first AI co-worker CLI","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.24.1","convex":"^1.32.0","enquirer":"^2.4.1","googleapis":"^144.0.0","playwright":"^1.55.0","chromium-bidi":"^15.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","@types/node":"^22.13.10"},"_npmOperationalInternal":{"tmp":"tmp/forge_0.0.11_1772972503237_0.7078266108921625","host":"s3://npm-registry-packages-npm-production"}},"0.0.12":{"name":"@cognautic.space/forge","version":"0.0.12","license":"Elastic-2.0","_id":"@cognautic.space/forge@0.0.12","maintainers":[{"name":"cognautic.cog","email":"cognautic@gmail.com"}],"bin":{"forge":"dist/main.js"},"dist":{"shasum":"a434dc53c14fe303da24e3d829cd57d38c8cf8c5","tarball":"https://registry.npmjs.org/@cognautic.space/forge/-/forge-0.0.12.tgz","fileCount":38,"integrity":"sha512-/Bo7/Cn/MYaIx5Q/SzRqjigznOveIIGNlDaLBslYIt1F/kd40GDHUeOVOV72VmGTHAo0UCb2q669YNUb9YUeZw==","signatures":[{"sig":"MEUCIQCzroM/57Kq/OfH4472a3HSK0VPUwWaDuf/zV8FpdyuuAIgZ158LJTbI+mOYEuw75wwC2Y41fSI7RuS6g/aeh5KfKE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":288810},"main":"dist/main.js","type":"commonjs","gitHead":"e200c6624c2a7843f8514c24dcb0268717267140","private":false,"scripts":{"dev":"bun run src/main.ts","build":"npm run build:npm","check":"bunx tsc --noEmit","clean":"node -e \"require('fs').rmSync('dist',{ recursive:true, force:true })\"","start":"bun run src/main.ts","prepare":"npm run build:npm","build:npm":"npm run clean && tsc -p tsconfig.build.json","convex:dev":"convex dev","convex:deploy":"convex deploy"},"_npmUser":{"name":"cognautic.cog","email":"cognautic@gmail.com"},"_npmVersion":"11.11.0","description":"Cognautic Forge - local-first AI co-worker CLI","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.24.1","convex":"^1.32.0","enquirer":"^2.4.1","googleapis":"^144.0.0","playwright":"^1.55.0","chromium-bidi":"^15.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","@types/node":"^22.13.10"},"_npmOperationalInternal":{"tmp":"tmp/forge_0.0.12_1773071285618_0.21855873496515188","host":"s3://npm-registry-packages-npm-production"}},"0.0.13":{"name":"@cognautic.space/forge","version":"0.0.13","license":"Elastic-2.0","_id":"@cognautic.space/forge@0.0.13","maintainers":[{"name":"cognautic.cog","email":"cognautic@gmail.com"}],"bin":{"forge":"dist/main.js"},"dist":{"shasum":"bd07be1eecfb5be4714d5d88e23b270a9d61c7cb","tarball":"https://registry.npmjs.org/@cognautic.space/forge/-/forge-0.0.13.tgz","fileCount":39,"integrity":"sha512-UimryAG6TNNdEBWymQEguJ5hlUP0J4DXqpB5PoZNTVeCqXiX93u9+E4gagHud4EuIeYhmZt04JcTIiWbh04JZQ==","signatures":[{"sig":"MEUCIQCR2VPHbYCoAd6z3n2BBgjfhANt14PopISBRkLwC70x5AIgdbIXIs21qVRefRsEsQbhdgJqkcAmz6u5T975YosrNi0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":291741},"main":"dist/main.js","type":"commonjs","gitHead":"0c63bbcffd1dca360c5fda646a0fcc9eb40bafce","private":false,"scripts":{"dev":"bun run src/main.ts","build":"npm run build:npm","check":"bunx tsc --noEmit","clean":"node -e \"require('fs').rmSync('dist',{ recursive:true, force:true })\"","start":"bun run src/main.ts","prepare":"npm run build:npm","build:npm":"npm run clean && tsc -p tsconfig.build.json","convex:dev":"convex dev","convex:deploy":"convex deploy"},"_npmUser":{"name":"cognautic.cog","email":"cognautic@gmail.com"},"_npmVersion":"11.11.0","description":"Cognautic Forge - local-first AI co-worker CLI","directories":{},"_nodeVersion":"25.7.0","dependencies":{"zod":"^3.24.1","convex":"^1.32.0","enquirer":"^2.4.1","googleapis":"^144.0.0","playwright":"^1.55.0","chromium-bidi":"^15.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","@types/node":"^22.13.10"},"_npmOperationalInternal":{"tmp":"tmp/forge_0.0.13_1773244866119_0.9380570982598926","host":"s3://npm-registry-packages-npm-production"}},"0.0.14":{"name":"@cognautic.space/forge","version":"0.0.14","license":"Elastic-2.0","_id":"@cognautic.space/forge@0.0.14","maintainers":[{"name":"cognautic.cog","email":"cognautic@gmail.com"}],"bin":{"forge":"dist/main.js"},"dist":{"shasum":"edfdb650c1b700db9ced5c68993f13ec1a109eae","tarball":"https://registry.npmjs.org/@cognautic.space/forge/-/forge-0.0.14.tgz","fileCount":40,"integrity":"sha512-9PVQ7MOn2jBp5p7Yk2ioNjXmtNUG77tbBLmzO0TCbR118lCQ4Pm1dOTd36M8tlPf0JTId3OIt0dXiyWPnOiWRA==","signatures":[{"sig":"MEYCIQCb8NQQZYDiTP5xtBAb4W8s+0ZFvNcxndSxe8UKhoGLGgIhAK2Pznp0ADHPdpRbPhbVMxKewjZXrwAZyece18X3pGZx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":301182},"main":"dist/main.js","type":"commonjs","gitHead":"260960be7a9551392dbd882d511b75f6db489fe3","private":false,"scripts":{"dev":"bun run src/main.ts","build":"npm run build:npm","check":"bunx tsc --noEmit","clean":"node -e \"require('fs').rmSync('dist',{ recursive:true, force:true })\"","start":"bun run src/main.ts","prepare":"npm run build:npm","build:npm":"npm run clean && tsc -p tsconfig.build.json","convex:dev":"convex dev","convex:deploy":"convex deploy"},"_npmUser":{"name":"cognautic.cog","email":"cognautic@gmail.com"},"_npmVersion":"11.11.0","description":"Cognautic Forge - local-first AI co-worker CLI","directories":{},"_nodeVersion":"25.7.0","dependencies":{"zod":"^3.24.1","convex":"^1.32.0","enquirer":"^2.4.1","googleapis":"^144.0.0","playwright":"^1.55.0","chromium-bidi":"^15.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","@types/node":"^22.13.10"},"_npmOperationalInternal":{"tmp":"tmp/forge_0.0.14_1773319820345_0.28837990373781963","host":"s3://npm-registry-packages-npm-production"}},"0.0.15":{"name":"@cognautic.space/forge","version":"0.0.15","license":"Elastic-2.0","_id":"@cognautic.space/forge@0.0.15","maintainers":[{"name":"cognautic.cog","email":"cognautic@gmail.com"}],"bin":{"forge":"dist/main.js"},"dist":{"shasum":"3dcda3e56044f46eea25ddcfc10c8d7186fcc837","tarball":"https://registry.npmjs.org/@cognautic.space/forge/-/forge-0.0.15.tgz","fileCount":41,"integrity":"sha512-zTmJokdHRFGKzck5DiuQHLBNZzKz+RHOCnBHjPzjMGqx3w8sAU1K9B3nROU5JL3BxlmjkAxtM+XJ87uruwzYpQ==","signatures":[{"sig":"MEUCIFDbFmSllLwfLmY8uzVVtAw5bwC9t6zj3tEJS/mpxZK9AiEAwjefYX6S7GnnVZDiQYMnqczAliFQYfQznS61rDVJ7cQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":338192},"main":"dist/main.js","type":"commonjs","gitHead":"260960be7a9551392dbd882d511b75f6db489fe3","private":false,"scripts":{"dev":"bun run src/main.ts","build":"npm run build:npm","check":"bunx tsc --noEmit","clean":"node -e \"require('fs').rmSync('dist',{ recursive:true, force:true })\"","start":"bun run src/main.ts","prepare":"npm run build:npm","build:npm":"npm run clean && tsc -p tsconfig.build.json","convex:dev":"convex dev","convex:deploy":"convex deploy"},"_npmUser":{"name":"cognautic.cog","email":"cognautic@gmail.com"},"_npmVersion":"11.11.1","description":"Cognautic Forge - local-first AI co-worker CLI","directories":{},"_nodeVersion":"25.7.0","dependencies":{"zod":"^3.24.1","convex":"^1.32.0","enquirer":"^2.4.1","googleapis":"^144.0.0","playwright":"^1.55.0","chromium-bidi":"^15.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","@types/node":"^22.13.10"},"_npmOperationalInternal":{"tmp":"tmp/forge_0.0.15_1773840110706_0.8835902618445572","host":"s3://npm-registry-packages-npm-production"}},"0.0.16":{"name":"@cognautic.space/forge","version":"0.0.16","license":"Elastic-2.0","_id":"@cognautic.space/forge@0.0.16","maintainers":[{"name":"cognautic.cog","email":"cognautic@gmail.com"}],"bin":{"forge":"dist/main.js"},"dist":{"shasum":"e0e80a692aed6f3704566048f833101be9c43322","tarball":"https://registry.npmjs.org/@cognautic.space/forge/-/forge-0.0.16.tgz","fileCount":41,"integrity":"sha512-mT0id49F+v9vIVjEEJzX3X+JpZQyrIry1mF5HHNEUBG0+pJa8Ii/e5T8hQkSb/UfV/QxRmOBrDzWqjmBeDoarg==","signatures":[{"sig":"MEQCICmL9xmwSA99XGgfw6JXVTnOxuq5+epEE1qgZu4VK8DsAiAy5J1eCFFnrvHfNVoMpvkB7dVniv73PxPWbuYqMCrbFA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":340623},"main":"dist/main.js","type":"commonjs","gitHead":"2aa4bbc204a170b73cc3071bdc65061fbd891b7c","private":false,"scripts":{"dev":"bun run src/main.ts","build":"npm run build:npm","check":"bunx tsc --noEmit","clean":"node -e \"require('fs').rmSync('dist',{ recursive:true, force:true })\"","start":"bun run src/main.ts","prepare":"npm run build:npm","build:npm":"npm run clean && tsc -p tsconfig.build.json","convex:dev":"convex dev","convex:deploy":"convex deploy"},"_npmUser":{"name":"cognautic.cog","email":"cognautic@gmail.com"},"_npmVersion":"11.12.1","description":"Cognautic Forge - local-first AI co-worker CLI","directories":{},"_nodeVersion":"25.8.2","dependencies":{"zod":"^3.24.1","convex":"^1.32.0","googleapis":"^144.0.0","playwright":"^1.55.0","chromium-bidi":"^15.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","@types/node":"^22.13.10"},"_npmOperationalInternal":{"tmp":"tmp/forge_0.0.16_1775403784514_0.8895309360151569","host":"s3://npm-registry-packages-npm-production"}},"0.0.17":{"name":"@cognautic.space/forge","version":"0.0.17","private":false,"type":"commonjs","description":"Cognautic Forge - local-first AI co-worker CLI","license":"Elastic-2.0","main":"dist/main.js","bin":{"forge":"dist/main.js"},"scripts":{"build":"npm run build:npm","clean":"node -e \"require('fs').rmSync('dist',{ recursive:true, force:true })\"","build:npm":"npm run clean && tsc -p tsconfig.build.json","convex:dev":"convex dev","convex:deploy":"convex deploy","prepare":"npm run build:npm","dev":"bun run src/main.ts","check":"bunx tsc --noEmit","start":"bun run src/main.ts"},"dependencies":{"chromium-bidi":"^15.0.0","convex":"^1.32.0","googleapis":"^144.0.0","playwright":"^1.55.0","zod":"^3.24.1"},"devDependencies":{"@types/node":"^22.13.10","typescript":"^5.7.3"},"gitHead":"626e117e66b1f498cddda29ae3a0498debfac131","_id":"@cognautic.space/forge@0.0.17","_nodeVersion":"25.8.2","_npmVersion":"11.12.1","dist":{"integrity":"sha512-VEQbS4fxrsO7VIsVonfqCQp2b3XsCJWgsghvWrQDx/q1CHLF9lqPXBd+SiehMVZO/XIftffiphL97LjEq6DzqA==","shasum":"5443378b7193a7b0a65ea08dfcdbea7abfc7b833","tarball":"https://registry.npmjs.org/@cognautic.space/forge/-/forge-0.0.17.tgz","fileCount":41,"unpackedSize":347339,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCPhjJ/6XDDz2OuwAaRS4OSsHSMsu1znAAB39kxIWU0QQIhAI0mNNUswWJO0Ne2vcm2VSPcVA+NKz/vkKgGCSC7jtM8"}]},"_npmUser":{"name":"cognautic.cog","email":"cognautic@gmail.com"},"directories":{},"maintainers":[{"name":"cognautic.cog","email":"cognautic@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/forge_0.0.17_1775458889599_0.5356155945021761"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-05T12:17:41.182Z","modified":"2026-04-06T07:01:29.900Z","0.0.1":"2026-03-05T12:17:41.430Z","0.0.2":"2026-03-05T13:25:28.760Z","0.0.3":"2026-03-05T13:45:09.313Z","0.0.4":"2026-03-05T16:22:37.605Z","0.0.5":"2026-03-06T07:37:01.340Z","0.0.6":"2026-03-06T10:29:34.349Z","0.0.7":"2026-03-08T07:02:11.199Z","0.0.8":"2026-03-08T07:17:26.035Z","0.0.9":"2026-03-08T09:25:54.823Z","0.0.10":"2026-03-08T10:57:02.390Z","0.0.11":"2026-03-08T12:21:43.390Z","0.0.12":"2026-03-09T15:48:05.761Z","0.0.13":"2026-03-11T16:01:06.260Z","0.0.14":"2026-03-12T12:50:20.541Z","0.0.15":"2026-03-18T13:21:50.865Z","0.0.16":"2026-04-05T15:43:04.690Z","0.0.17":"2026-04-06T07:01:29.762Z"},"license":"Elastic-2.0","description":"Cognautic Forge - local-first AI co-worker CLI","maintainers":[{"name":"cognautic.cog","email":"cognautic@gmail.com"}],"readme":"# Cognautic Forge (Node CLI Co-Worker)\n\nCognautic Forge is a local-first, interactive Node CLI agent with:\n\n- Multi-provider LLM support (user API keys)\n- Tool-calling agent loop with auto-followup\n- Browser automation (Playwright Chromium / custom executable)\n- File and command execution tools\n- System control tools (mouse/keyboard/screenshot/OCR)\n- Stdio MCP server support\n- Google Workspace tools via Forge auth\n- Persistent collaborative workspace (objective, tasks, artifacts, timeline, roles)\n\n## Install (npm)\n\nGlobal install:\n\n```bash\nnpm i -g @cognautic.space/forge\nforge\n```\n\nRun without global install:\n\n```bash\nnpx @cognautic.space/forge\n```\n\n## Local Development\n\n```bash\nbun install\nbun run src/main.ts\n```\n\nThis starts interactive mode.\n\nNode path (no Bun runtime required):\n\n```bash\nnpm install\nnpm run build:npm\nnode dist/main.js\n```\n\n## Build npm Package\n\n```bash\nnpm run build:npm\nnpm pack\n```\n\nThis generates `dist/main.js` and an npm tarball for publishing/install testing.\nDo not use `bun build --compile` for Forge distribution because runtime modules like Playwright must remain external npm dependencies.\n\n## Provider Support\n\n- OpenAI\n- NVIDIA NIM\n- Google\n- Anthropic\n- OpenRouter\n- Groq\n- Cerebras\n- Ollama\n- Custom OpenAI-compatible endpoint\n\nModel lists can be fetched from provider APIs and are used for command suggestions.\n\n### NVIDIA NIM\n\nForge supports NVIDIA NIM through the `nim` provider.\n\nSetup in chat:\n\n```bash\n/provider nim\n/apikey nim <YOUR_NVIDIA_NIM_API_KEY>\n/models refresh\n/model <nim-model-id>\n```\n\nSetup with CLI commands:\n\n```bash\nforge provider set nim <nim-model-id>\nforge provider key set nim <YOUR_NVIDIA_NIM_API_KEY>\nforge provider models nim\n```\n\nNotes:\n- Default NIM endpoint used by Forge: `https://integrate.api.nvidia.com/v1/chat/completions`\n- Model list source: `https://integrate.api.nvidia.com/v1/models`\n\n## Interactive Slash Commands\n\nGeneral:\n\n- `/help`\n- `/exit`\n- `/clear`\n- `/status`\n- `/config` (guided setup)\n\nProvider / model:\n\n- `/providers`\n- `/provider <openai|google|anthropic|openrouter|groq|cerebras|ollama|custom>`\n- `/models`\n- `/models refresh`\n- `/model <model-id>`\n- `/apikey <key>`\n- `/apikey <provider> <key>`\n- `/endpoint <url>` (custom / ollama endpoint)\n\nRuntime / environment:\n\n- `/mode <safe|yolo>`\n- `/yolo [on|off|toggle]` (shortcut: `Ctrl+Y`)\n- `/root <path>`\n- `/browserpath </path/to/chrome-or-brave>`\n- `/searchmode <safe|manual>`\n- `/auth google`\n- `/logout google`\n\nCo-worker workspace:\n\n- `/objective <text>`\n- `/objective show`\n- `/task add <title>`\n- `/task list [status]`\n- `/task approve <taskId>`\n- `/task start <taskId>`\n- `/task review <taskId>`\n- `/task complete <taskId>`\n- `/task archive <taskId>`\n- `/artifact add <taskId> <type> <ref>`\n- `/artifact list`\n- `/timeline`\n- `/roles show`\n- `/roles set <architect|planner|executor|reviewer|memory_manager> <owner>`\n- `/skill add <path/to/SKILL.md>`\n- `/skill list`\n\nAutocomplete / ghost suggestions:\n\n- Commands\n- Providers\n- Model IDs (from fetched models)\n- Task/role subcommands\n\n## Workspace Persistence\n\nForge persists two layers:\n\n1. Global app state:\n   - `~/.config/cognautic-forge/state.json`\n   - provider/model/keys/projectRoot/browserPath/onboarding/searchMode/executionMode/autoContinue\n\n2. Project cowork workspace:\n   - `<projectRoot>/.forge-data/cowork-workspace.json`\n   - objective, task list, roles, artifacts, timeline history\n\nTask lifecycle is enforced:\n\n`proposed -> approved -> in_progress -> under_review -> completed -> archived`\n\nAllowed rework path:\n\n`under_review -> in_progress`\n\n## Agent Behavior\n\nThe interactive AI turn uses a JSON tool-envelope protocol:\n\n- Tool calls only, then `finish_response` for final output\n- Auto-followup continuation until task completion or safety limit\n- Workspace digest injected into model context each turn\n- Structured coworker framing:\n  - Architect -> Planner -> Executor -> Reviewer -> Memory Manager\n\n## Implemented Tool Surface\n\nGoogle Workspace:\n\n- `google.gmail_list_emails`\n- `google.gmail_read_email`\n- `google.gmail_send_email`\n- `google.gmail_create_draft`\n- `google.gmail_reply_email`\n- `google.gmail_search_emails`\n- `google.gmail_list_labels`\n- `google.gmail_move_email`\n- `google.calendar_list_events`\n- `google.calendar_create_event`\n- `google.calendar_update_event`\n- `google.calendar_delete_event`\n- `google.calendar_get_event`\n- `google.calendar_list_calendars`\n- `google.calendar_find_free_slots`\n- `google.drive_list_files`\n- `google.drive_search_files`\n- `google.drive_get_file`\n- `google.drive_upload_file`\n- `google.drive_create_folder`\n- `google.drive_delete_file`\n- `google.drive_move_file`\n- `google.drive_share_file`\n- `google.docs_create`\n- `google.docs_read`\n- `google.docs_append_text`\n- `google.docs_replace_text`\n- `google.sheets_create`\n- `google.sheets_read_range`\n- `google.sheets_write_range`\n- `google.sheets_append_row`\n- `google.sheets_get_all`\n- `google.tasks_list`\n- `google.tasks_create`\n- `google.tasks_complete`\n- `google.tasks_delete`\n- `google.tasks_list_tasklists`\n- `google.contacts_search`\n- `google.contacts_get`\n- `google.contacts_list`\n- `google.contacts_create`\n- `google.meet_create_meeting`\n\nBrowser:\n\n- `browser.launch`\n- `browser.goto`\n- `browser.search` (Google)\n- `browser.read_dom`\n- `browser.scroll`\n- `browser.extract`\n- `browser.click`\n- `browser.eval`\n- `browser.overlay_on/off`\n- `browser.cursor_show/hide/move/click/type`\n\nSystem:\n\n- `system.mouse_move`\n- `system.mouse_click`\n- `system.keyboard_type`\n- `system.screen_capture`\n- `system.screen_ocr`\n\nWorkspace / OS:\n\n- `files.read`\n- `files.write`\n- `command.run`\n- `system.exec`\n- `exec.run`\n- `exec.direct`\n- `mcp.<server>.<tool>` for configured stdio MCP servers\n- `plans.update`\n\nFinalization:\n\n- `finish_response`\n\n## Non-Interactive CLI Commands\n\nState / provider:\n\n```bash\nforge state show\nforge state set-root /path/to/project\nforge state set-browser /usr/sbin/brave\nforge provider show\nforge provider set openai gpt-4.1-mini\nforge provider key set openai sk-...\nforge provider models openai\nforge mcp list\nforge mcp add filesystem npx -y @modelcontextprotocol/server-filesystem .\nforge mcp remove filesystem\nforge auth google\nforge logout google\n```\n\n## Google Login\n\nUsers do not need to add Google client id or Google client secret locally.\nForge uses the deployed Convex backend for Google OAuth, token exchange, logout, and refresh.\n\nLogin:\n\n```bash\nforge auth google\n```\n\nOr inside chat:\n\n```text\n/auth google\n```\n\nLogout:\n\n```bash\nforge logout google\n```\n\nOr inside chat:\n\n```text\n/logout google\n```\n\nAfter login, Google tools are available directly in chat and agent turns for:\n\n- Gmail\n- Calendar\n- Drive\n- Docs\n- Sheets\n- Tasks\n- Contacts\n- Meet\n\n## MCP Servers\n\nForge supports stdio MCP servers configured in app state.\n\nExamples:\n\n```bash\nforge mcp add filesystem npx -y @modelcontextprotocol/server-filesystem .\nforge mcp list\n```\n\nConfigured MCP tools are exposed to the agent as `mcp.<server>.<tool>`.\n\nChat:\n\n```bash\nforge chat \"summarize this repository\"\n```\n\nWorkspace:\n\n```bash\nforge workspace show\nforge workspace objective \"Ship feature X with tests\"\nforge workspace task add \"Draft implementation plan\"\nforge workspace task list\nforge workspace task set <taskId> approved\n```\n\n## Notes\n\n- Forge is local-first; you provide your own provider keys.\n- Browser automation uses Playwright persistent context.\n- Custom browser executable is supported via `/browserpath` or `state set-browser`.\n- Execution modes:\n  - `safe`: every tool action requires user confirmation.\n  - `yolo`: all tool actions auto-execute with no confirmation prompts.\n- The agent is instructed to use Google for search/research workflows.\n- The agent prefers no-browser web tools first (`web.search`, `web.read`) and uses browser tools as fallback.\n- Search safety modes:\n  - `safe`: attempts Google search, detects captcha/challenge pages, then falls back to user-assisted flow.\n  - `manual`: opens Google and asks user to perform search/clicks manually, then agent reads DOM and summarizes.\n","readmeFilename":"README.md"}