{"_id":"genieceo","_rev":"28-a721ab8e996b60364c439a6f30757b30","name":"genieceo","dist-tags":{"latest":"0.1.31"},"versions":{"0.1.0":{"name":"genieceo","version":"0.1.0","keywords":["ai","agent","cli","assistant","llm"],"author":"","license":"MIT","_id":"genieceo@0.1.0","maintainers":[{"name":"zebraroy","email":"elcngchunyik@gmail.com"}],"bin":{"genieceo":"dist/cli/index.js"},"dist":{"shasum":"f07fd829916ae392972b3a0d4a0825eccf39919f","tarball":"https://registry.npmjs.org/genieceo/-/genieceo-0.1.0.tgz","fileCount":87,"integrity":"sha512-kc6+TAn76271oPlb5l0Ufa8LYXOVYbn8rpnTjV7+lcCVrSHpZorJEHkUSAI6MKbxvRNqIGEQluqugiTpPm2xCQ==","signatures":[{"sig":"MEQCIEVZscJpfjmFI/4sxsopHi7SGqeynLhr1RQwGt4MmotwAiALm4Y5BoyXMr8+lVRBA5YlMzFlPN361+PjYxf98Ah8Mg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":210529},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"a94ba25a15e302f389f6dd8e6427ed28fa62ef93","scripts":{"dev":"tsc --watch","build":"tsc","start":"node dist/cli/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"zebraroy","email":"elcngchunyik@gmail.com"},"_npmVersion":"10.9.0","description":"Ultra-lightweight AI agent CLI assistant","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ora":"^5.4.1","zod":"^3.23.8","chalk":"^4.1.2","commander":"^12.1.0","@mariozechner/pi-ai":"^0.51.6"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.5","@types/node":"^20.14.0"},"_npmOperationalInternal":{"tmp":"tmp/genieceo_0.1.0_1770274922968_0.23029690620153764","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"genieceo","version":"0.1.1","keywords":["ai","agent","cli","assistant","llm"],"author":"","license":"MIT","_id":"genieceo@0.1.1","maintainers":[{"name":"zebraroy","email":"elcngchunyik@gmail.com"}],"bin":{"genieceo":"dist/cli/index.js"},"dist":{"shasum":"8d2be7f8395299ee0d57beb0c23441543734811f","tarball":"https://registry.npmjs.org/genieceo/-/genieceo-0.1.1.tgz","fileCount":87,"integrity":"sha512-GAm6u4uHkC5wI5Vk3n+hx4x9GD24+xZHPkiQeEnfV8RfpWTdblzy/4l8Bmuvow0JIDYA4BncUWhd9Jwu8bBJMQ==","signatures":[{"sig":"MEYCIQD43Oxk9d70cygOPvt1K7x8AkYucKuGqvtHPc+nZKTqPgIhAIH/NTMM2dFrWupEyLwkCDHulrkgsaYqlZB9TNrvWddI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":211751},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"e2fb9dad32a2dfab43789fce89edb0cfcc758f1d","scripts":{"dev":"tsc --watch","build":"tsc","start":"node dist/cli/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"zebraroy","email":"elcngchunyik@gmail.com"},"_npmVersion":"10.9.0","description":"Ultra-lightweight AI agent CLI assistant","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ora":"^5.4.1","zod":"^3.23.8","chalk":"^4.1.2","commander":"^12.1.0","zod-to-json-schema":"^3.25.1","@mariozechner/pi-ai":"^0.51.6"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.5","@types/node":"^20.14.0"},"_npmOperationalInternal":{"tmp":"tmp/genieceo_0.1.1_1770275287260_0.6995769002423156","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"genieceo","version":"0.1.2","keywords":["ai","agent","cli","assistant","llm"],"author":"","license":"MIT","_id":"genieceo@0.1.2","maintainers":[{"name":"zebraroy","email":"elcngchunyik@gmail.com"}],"bin":{"genieceo":"dist/cli/index.js"},"dist":{"shasum":"401646d84565aaaa410587cbb5866b28af45b808","tarball":"https://registry.npmjs.org/genieceo/-/genieceo-0.1.2.tgz","fileCount":87,"integrity":"sha512-xnPGzOxzWrEt3foCLXNVbzskSQCV7Pwg6808/MnDzWfWrv9b5LwdEQkRifQPYin9tnCVH3p66HhwreHLspnEOA==","signatures":[{"sig":"MEUCIDeqCDfSrqbs1iioMm5PHTnoS4MiV0CLhupCcmVAt480AiEA1+6EciCigjW4RpgUino9iE7V6MRgtvhElNaxCrwPEA0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":216402},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"50c345b256a2825e8033d807c907449d45381899","scripts":{"dev":"tsc --watch","build":"tsc","start":"node dist/cli/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"zebraroy","email":"elcngchunyik@gmail.com"},"_npmVersion":"10.9.0","description":"Ultra-lightweight AI agent CLI assistant","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ora":"^5.4.1","zod":"^3.23.8","chalk":"^4.1.2","commander":"^12.1.0","zod-to-json-schema":"^3.25.1","@mariozechner/pi-ai":"^0.51.6"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.5","@types/node":"^20.14.0"},"_npmOperationalInternal":{"tmp":"tmp/genieceo_0.1.2_1770275535379_0.1396410246610229","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"genieceo","version":"0.1.3","keywords":["ai","agent","cli","assistant","llm"],"author":"","license":"MIT","_id":"genieceo@0.1.3","maintainers":[{"name":"zebraroy","email":"elcngchunyik@gmail.com"}],"bin":{"genieceo":"dist/cli/index.js"},"dist":{"shasum":"21b4500c07f7ba393f67b136368adb6d90d0c48d","tarball":"https://registry.npmjs.org/genieceo/-/genieceo-0.1.3.tgz","fileCount":87,"integrity":"sha512-nEgL+99LwGbyH7Mi9xGFad5lQJ9cwmOdaquFz4wNBDBD3fKZDfT6FbHpfWDRDRoB/8J+9xhOsIWHDOyVcyLxQw==","signatures":[{"sig":"MEUCIQC/ixK/V22+/rgTq1ynoIejlmbO2GXjQ6FoFpyLvkkC9AIgFqD+94O/hyQ1e1PQcQ83oTzMGSOryC0ulkEWGnfXTmI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":216889},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"dd14f78a0f5398bcc1228579b48693d3626646f6","scripts":{"dev":"tsc --watch","build":"tsc","start":"node dist/cli/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"zebraroy","email":"elcngchunyik@gmail.com"},"_npmVersion":"10.9.0","description":"Ultra-lightweight AI agent CLI assistant","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ora":"^5.4.1","zod":"^3.23.8","chalk":"^4.1.2","commander":"^12.1.0","zod-to-json-schema":"^3.25.1","@mariozechner/pi-ai":"^0.51.6"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.5","@types/node":"^20.14.0"},"_npmOperationalInternal":{"tmp":"tmp/genieceo_0.1.3_1770275693513_0.22614356132000712","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"genieceo","version":"0.1.5","keywords":["ai","agent","cli","assistant","llm"],"author":"","license":"MIT","_id":"genieceo@0.1.5","maintainers":[{"name":"zebraroy","email":"elcngchunyik@gmail.com"}],"bin":{"genieceo":"dist/cli/index.js"},"dist":{"shasum":"8f17bdea5283723d8556f8393395d3bc83351c34","tarball":"https://registry.npmjs.org/genieceo/-/genieceo-0.1.5.tgz","fileCount":135,"integrity":"sha512-BagGEVuion/r4rs0UQYOzd604Ucn3eN9e41RSNoZMVBfD/qSwt9vkeRcKx3CQMYPXQmAduJ7I5e2lf8uBcEtFw==","signatures":[{"sig":"MEQCIE/YngpAEsPzFUmxPDC+DiiOBrsBQ/vMgh1ifWSLjGk2AiBA9WEbNwTPxsQWct/zrbjoq1mY1ITooLmA6QE5zR+4vA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":470487},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"276d4fe62fca50749cdafb43962c453c8240e583","scripts":{"dev":"tsc --watch","build":"tsc","start":"node dist/cli/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"zebraroy","email":"elcngchunyik@gmail.com"},"_npmVersion":"10.9.0","description":"Ultra-lightweight AI agent CLI assistant","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ora":"^5.4.1","zod":"^3.23.8","chalk":"^4.1.2","undici":"^7.20.0","commander":"^12.1.0","@inquirer/prompts":"^8.2.0","zod-to-json-schema":"^3.25.1","@mariozechner/pi-ai":"^0.51.6"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.5","@types/node":"^20.14.0"},"_npmOperationalInternal":{"tmp":"tmp/genieceo_0.1.5_1770284019462_0.23071474545757953","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"genieceo","version":"0.1.6","keywords":["ai","agent","cli","assistant","llm"],"author":"","license":"MIT","_id":"genieceo@0.1.6","maintainers":[{"name":"zebraroy","email":"elcngchunyik@gmail.com"}],"bin":{"genieceo":"dist/cli/index.js"},"dist":{"shasum":"538321b1fe39ce554733e7fc0578e3c07a48e5db","tarball":"https://registry.npmjs.org/genieceo/-/genieceo-0.1.6.tgz","fileCount":134,"integrity":"sha512-MnxM0o8xZxEoS0HpZz/HfXwPM1YFSVHQyDrEhMtrCie4hEfLtsRWl20Z7emcNm7O0VKIil4EMcqXQH07KIuUKw==","signatures":[{"sig":"MEUCIQCYiOlCQSUH4QCn67UtgG9fF2ZcZso7OgQGBYi7wt5yrwIgSEP1XdJJlgF2DvR5SfU+rrOQgUFEcl/iad2KECX/rrQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":461205},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"64a52a19491e96edfc3cad6f05e4ef56d1e7d202","scripts":{"dev":"tsc --watch","build":"tsc","start":"node dist/cli/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"zebraroy","email":"elcngchunyik@gmail.com"},"_npmVersion":"10.9.0","description":"AI CEO Agent - Autonomous development workflow management","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ora":"^5.4.1","zod":"^3.23.8","chalk":"^4.1.2","undici":"^7.20.0","commander":"^12.1.0","@inquirer/prompts":"^8.2.0","zod-to-json-schema":"^3.25.1","@mariozechner/pi-ai":"^0.51.6"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.5","@types/node":"^20.14.0"},"_npmOperationalInternal":{"tmp":"tmp/genieceo_0.1.6_1770285454482_0.6521984028429422","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"genieceo","version":"0.1.7","keywords":["ai","agent","cli","assistant","llm"],"author":"","license":"MIT","_id":"genieceo@0.1.7","maintainers":[{"name":"zebraroy","email":"elcngchunyik@gmail.com"}],"bin":{"genieceo":"dist/cli/index.js"},"dist":{"shasum":"1a639d074ea877682ac032dbcf2d5228693986ab","tarball":"https://registry.npmjs.org/genieceo/-/genieceo-0.1.7.tgz","fileCount":170,"integrity":"sha512-VflPIoaPwl6mvyLlC97iDYAXtCPga3s7bActoE3Iz6CS4UN+fAYcLAZHAJK6Rgy3pdLpmi8s4y12zeiqqKPP7Q==","signatures":[{"sig":"MEUCIEQx9vq6SYjyZ5EQSBqFMe0aRjL9Z+hC15TQpdmQuBHdAiEAgvJy4p3JU9o9F3wPb8NDKr2PXUXfhNGjYEQTMl1pHjc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":547210},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"3f0c43a9ce008e61998cc7e618f9fb07c1cf6caf","scripts":{"dev":"tsc --watch","build":"tsc","start":"node dist/cli/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"zebraroy","email":"elcngchunyik@gmail.com"},"_npmVersion":"10.9.0","description":"AI CEO Agent - Autonomous development workflow management","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ora":"^5.4.1","zod":"^3.23.8","chalk":"^4.1.2","undici":"^7.20.0","commander":"^12.1.0","@inquirer/prompts":"^8.2.0","zod-to-json-schema":"^3.25.1","@mariozechner/pi-ai":"^0.51.6"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.5","@types/node":"^20.14.0"},"_npmOperationalInternal":{"tmp":"tmp/genieceo_0.1.7_1770339853651_0.6659028907941902","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"genieceo","version":"0.1.10","_id":"genieceo@0.1.10","maintainers":[{"name":"zebraroy","email":"elcngchunyik@gmail.com"}],"bin":{"genieceo":"dist/cli.js"},"dist":{"shasum":"916013161d002afa52eeb55b632dff99eec8538f","tarball":"https://registry.npmjs.org/genieceo/-/genieceo-0.1.10.tgz","fileCount":17,"integrity":"sha512-CzRwsIqLP0Mi7gD18zw6AW8jqMf9votwbduGhpc9VDcuiT3faB82MDBSbGan2DuHnb0EU0txYMhqGPdmdEUJ1g==","signatures":[{"sig":"MEUCIEBfhQjZnJuUGD17FiEqrkBFlpjJcM4+3rQjwaw+vYBGAiEAjP9a6xtYelOvJL3TQkAbkP1k1aekVmuIo4duJx8OwwA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":315741},"type":"module","engines":{"node":">=22"},"gitHead":"63efc28158e51cf3872cf775ad0533c21e0282c7","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup && node scripts/copy-templates.mjs","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"zebraroy","email":"elcngchunyik@gmail.com"},"_npmVersion":"10.9.0","description":"GenieCEO: a self-growing agent CLI with a local workspace","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.0.0","yaml":"^2.8.1","cheerio":"^1.1.2","commander":"^14.0.0","html-to-text":"^9.0.5","@inquirer/prompts":"^7.5.1","@sinclair/typebox":"^0.34.41","@mariozechner/pi-ai":"latest"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.2","devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.8.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/genieceo_0.1.10_1770372042886_0.20646632401681653","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"genieceo","version":"0.1.11","_id":"genieceo@0.1.11","maintainers":[{"name":"zebraroy","email":"elcngchunyik@gmail.com"}],"bin":{"genieceo":"dist/cli.js"},"dist":{"shasum":"af4800be3c39a1b87b30f8df9ca2dceb7eb9c16d","tarball":"https://registry.npmjs.org/genieceo/-/genieceo-0.1.11.tgz","fileCount":17,"integrity":"sha512-zNrRA255qRB8xspgVZWh4bu7JQSwDqOIQyHG6XlyVHJsvXdEGbwRlDKuNDtuvx1ftVS7jb00TwfRRrLLqHrsMQ==","signatures":[{"sig":"MEQCIGzjvJ7kO6D9CnGwIdYjbAAYyG9l/GPR/icAl1IHkJk/AiASTHkWTGlCKSNdTyaA4F/7QsWboOvG/yGUoPVkeH3+4w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":316421},"type":"module","engines":{"node":">=22"},"gitHead":"63efc28158e51cf3872cf775ad0533c21e0282c7","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup && node scripts/copy-templates.mjs","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"zebraroy","email":"elcngchunyik@gmail.com"},"_npmVersion":"10.9.0","description":"GenieCEO: a self-growing agent CLI with a local workspace","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.0.0","yaml":"^2.8.1","cheerio":"^1.1.2","commander":"^14.0.0","html-to-text":"^9.0.5","@inquirer/prompts":"^7.5.1","@sinclair/typebox":"^0.34.41","@mariozechner/pi-ai":"latest"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.2","devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.8.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/genieceo_0.1.11_1770600562866_0.8616989482987207","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"genieceo","version":"0.1.12","_id":"genieceo@0.1.12","maintainers":[{"name":"zebraroy","email":"elcngchunyik@gmail.com"}],"bin":{"genieceo":"dist/cli.js"},"dist":{"shasum":"5351d2ccf546c444b6e36e2770afd3db9335bf25","tarball":"https://registry.npmjs.org/genieceo/-/genieceo-0.1.12.tgz","fileCount":17,"integrity":"sha512-mEsAbcDPQOQVazgGK/KhISiSGhdR8guBnUuicUkqN1WRpxo7I7BH9KNyx7aCsgNCfKm2j0u0VmdiHpePAAPlYw==","signatures":[{"sig":"MEYCIQDknMHpk/Eq0zU1MYaz5fzr7W0NQD3qAQR0Ul6thRWK5QIhANVWXs5jWGREpWdzw0gyvLEmClieIk3XOXfBd1FAoAnZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":349982},"type":"module","engines":{"node":">=22"},"gitHead":"4286604aafe940306943c906e001eee080614ac9","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup && node scripts/copy-templates.mjs","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"zebraroy","email":"elcngchunyik@gmail.com"},"_npmVersion":"10.9.0","description":"GenieCEO: a self-growing agent CLI with a local workspace","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.0.0","yaml":"^2.8.1","cheerio":"^1.1.2","commander":"^14.0.0","html-to-text":"^9.0.5","@inquirer/prompts":"^7.5.1","@sinclair/typebox":"^0.34.41","@mariozechner/pi-ai":"latest"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.2","devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.8.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/genieceo_0.1.12_1770601332687_0.05834366235149635","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"genieceo","version":"0.1.13","_id":"genieceo@0.1.13","maintainers":[{"name":"zebraroy","email":"elcngchunyik@gmail.com"}],"bin":{"genieceo":"dist/cli.js"},"dist":{"shasum":"74bdf5944b7017268a95ea32d671edc16c12463e","tarball":"https://registry.npmjs.org/genieceo/-/genieceo-0.1.13.tgz","fileCount":17,"integrity":"sha512-GOOpX2r3cnhtrTq7rca7mPYukOc++7CJEjGpBlPHec3/sgQoL3+aIlGcNCk7400PRbAm2LIm0CGWL50nPF/znA==","signatures":[{"sig":"MEQCIGaFn+DniQghZwYnG0qFi2Jmd4XLRifaVNuN6fGVRMnWAiBAkdW3BQppUQAGU9lo1WpW/MWWRCtglibOmRPm5F+DoA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":354970},"type":"module","engines":{"node":">=22"},"gitHead":"5463a81fed5e0906aec9b820d4beefdb9941e663","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup && node scripts/copy-templates.mjs","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"zebraroy","email":"elcngchunyik@gmail.com"},"_npmVersion":"10.9.0","description":"GenieCEO: a self-growing agent CLI with a local workspace","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.0.0","yaml":"^2.8.1","cheerio":"^1.1.2","commander":"^14.0.0","html-to-text":"^9.0.5","@inquirer/prompts":"^7.5.1","@sinclair/typebox":"^0.34.41","@mariozechner/pi-ai":"latest"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.2","devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.8.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/genieceo_0.1.13_1770602479279_0.38787045554802146","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"genieceo","version":"0.1.15","_id":"genieceo@0.1.15","maintainers":[{"name":"zebraroy","email":"elcngchunyik@gmail.com"}],"bin":{"genieceo":"dist/cli.js"},"dist":{"shasum":"22d9b538c2475c00158f522513f86dff2cc1be74","tarball":"https://registry.npmjs.org/genieceo/-/genieceo-0.1.15.tgz","fileCount":17,"integrity":"sha512-tSe7GgklYZMFpo/W8upErjVGEmpE/BbFPg0tASo8Mr0lLQdPkA6sCf7wYvHPeMvdNqqZgPVREm2Z8/UoeXJ4FQ==","signatures":[{"sig":"MEUCICn6ZTUiGH5+WN9vsHb84tHZhSwr0nEne/C/Hn1Wkp8pAiEAnPAiL7RWzs8FKvrf9RxqCjWQyXy6fx+KN+F904F/DCE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":401895},"type":"module","engines":{"node":">=22"},"gitHead":"ab05593b842ed53d36515d2a9eb20b1442f7a1f3","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup && node scripts/copy-templates.mjs","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"zebraroy","email":"elcngchunyik@gmail.com"},"_npmVersion":"10.9.0","description":"GenieCEO: a self-growing agent CLI with a local workspace","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.0.0","yaml":"^2.8.1","cheerio":"^1.1.2","commander":"^14.0.0","html-to-text":"^9.0.5","@inquirer/prompts":"^7.5.1","@sinclair/typebox":"^0.34.41","@mariozechner/pi-ai":"latest"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.2","devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.8.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/genieceo_0.1.15_1770625452565_0.6384796414828984","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"genieceo","version":"0.1.16","_id":"genieceo@0.1.16","maintainers":[{"name":"zebraroy","email":"elcngchunyik@gmail.com"}],"bin":{"genieceo":"dist/cli.js"},"dist":{"shasum":"4d1973511ef6f7c239fff0302641b13609df4361","tarball":"https://registry.npmjs.org/genieceo/-/genieceo-0.1.16.tgz","fileCount":17,"integrity":"sha512-a/WDpyzaZDjdblALYwRXdaWSlNv0gU/LbnRyLTpne9i7UMf/bXw6t2FB3KpHfbCbr6x4DdceafR75qKNoX3UUQ==","signatures":[{"sig":"MEUCIEiA0WX8I7mxslP1CF1mPnXwZo4kKUj/IU6T4i8OgVr3AiEAk1uONR4sXRRqILhz1cGH3xwXWudD5O5sV2A0blfgPRI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":406459},"type":"module","engines":{"node":">=22"},"gitHead":"ad9777fb4cf4b4e3fe6d3413f4a9842450e4b8f1","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup && node scripts/copy-templates.mjs","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"zebraroy","email":"elcngchunyik@gmail.com"},"_npmVersion":"10.9.0","description":"GenieCEO: a self-growing agent CLI with a local workspace","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.0.0","yaml":"^2.8.1","cheerio":"^1.1.2","commander":"^14.0.0","html-to-text":"^9.0.5","@inquirer/prompts":"^7.5.1","@sinclair/typebox":"^0.34.41","@mariozechner/pi-ai":"latest"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.2","devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.8.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/genieceo_0.1.16_1770627694567_0.7767609269219931","host":"s3://npm-registry-packages-npm-production"}},"0.1.17":{"name":"genieceo","version":"0.1.17","_id":"genieceo@0.1.17","maintainers":[{"name":"zebraroy","email":"elcngchunyik@gmail.com"}],"bin":{"genieceo":"dist/cli.js"},"dist":{"shasum":"41e640a978af3ca98c74f716c05edcf663524ebd","tarball":"https://registry.npmjs.org/genieceo/-/genieceo-0.1.17.tgz","fileCount":17,"integrity":"sha512-T4C0wjhQ4mLimk4g0mSi3wMKG9yElCj6C/A4PPC8hFPCm2frXmSet9+qCuVskmF2gk3KKR5jYsZ8biWMQcCO/g==","signatures":[{"sig":"MEQCIBOqekkKB4wGKZM0EKDH5Awo+acPPWjeSpaOLynFoL0SAiBbFsS+nkotPf2IOM88AYh+5qEqwVXY7sLiU/HmOSKE9g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":417161},"type":"module","engines":{"node":">=22"},"gitHead":"23d38e08b80356d3ad5eb6930a5ae8fe99764ba0","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup && node scripts/copy-templates.mjs","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"zebraroy","email":"elcngchunyik@gmail.com"},"_npmVersion":"10.9.0","description":"GenieCEO: a self-growing agent CLI with a local workspace","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.0.0","yaml":"^2.8.1","cheerio":"^1.1.2","commander":"^14.0.0","html-to-text":"^9.0.5","@inquirer/prompts":"^7.5.1","@sinclair/typebox":"^0.34.41","@mariozechner/pi-ai":"latest"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.2","devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.8.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/genieceo_0.1.17_1770630601629_0.826427475651696","host":"s3://npm-registry-packages-npm-production"}},"0.1.18":{"name":"genieceo","version":"0.1.18","_id":"genieceo@0.1.18","maintainers":[{"name":"zebraroy","email":"elcngchunyik@gmail.com"}],"bin":{"genieceo":"dist/cli.js"},"dist":{"shasum":"8bbcd701e092b51483845d8e0127906bec6326eb","tarball":"https://registry.npmjs.org/genieceo/-/genieceo-0.1.18.tgz","fileCount":17,"integrity":"sha512-SZxlUj62LHO2wpkasYhZPwW40HvvPXESIY7xYDDwY2rqk2eily7V3xP2O0Ar/1RLiL17sXmc+WXeMjvwr4HcFg==","signatures":[{"sig":"MEYCIQDxZufVCmtWQQHEaNUj9krcLnHh2x2wlrijUgzFi2ZHrQIhAJ49ga+yOFc9pqoO4Nbp/Usym5KOqa3R9xEC/NKtMtpV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":474308},"type":"module","engines":{"node":">=22"},"gitHead":"567569cf54ec54b75e748e887dd58fb3729e7cf0","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup && node scripts/copy-templates.mjs","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"zebraroy","email":"elcngchunyik@gmail.com"},"_npmVersion":"10.9.0","description":"GenieCEO: a self-growing agent CLI with a local workspace","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.0.0","yaml":"^2.8.1","cheerio":"^1.1.2","commander":"^14.0.0","html-to-text":"^9.0.5","@inquirer/prompts":"^7.5.1","@sinclair/typebox":"^0.34.41","@mariozechner/pi-ai":"latest"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.2","devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.8.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/genieceo_0.1.18_1770690525146_0.584245243985638","host":"s3://npm-registry-packages-npm-production"}},"0.1.19":{"name":"genieceo","version":"0.1.19","_id":"genieceo@0.1.19","maintainers":[{"name":"zebraroy","email":"elcngchunyik@gmail.com"}],"bin":{"genieceo":"dist/cli.js"},"dist":{"shasum":"f552a2768c73d2f0cc883e79398a23a01f0aacfa","tarball":"https://registry.npmjs.org/genieceo/-/genieceo-0.1.19.tgz","fileCount":17,"integrity":"sha512-QlSNwAoZauzIgFD7nokuulBVwsOStSUsnaOUoy+JhpZnMPCyqd+x/GHsO6CQqwmtij7dG11S8TGMSS54Q1HvLQ==","signatures":[{"sig":"MEYCIQDQn5Joq0+0mSAHyk3/gHGQ/Kw2aee0n33hjVpSIe7RAQIhAIS5pYv72sJvIprJx5pUmGIYedN2AvDoT/gxYcTejyvW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":502046},"type":"module","engines":{"node":">=22"},"gitHead":"d6a6a40d80ca7b78f079aa6e96d2049a681c0960","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup && node scripts/copy-templates.mjs","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"zebraroy","email":"elcngchunyik@gmail.com"},"_npmVersion":"10.9.0","description":"GenieCEO: a self-growing agent CLI with a local workspace","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.0.0","yaml":"^2.8.1","cheerio":"^1.1.2","commander":"^14.0.0","html-to-text":"^9.0.5","@inquirer/prompts":"^7.5.1","@sinclair/typebox":"^0.34.41","@mariozechner/pi-ai":"latest"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.2","devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.8.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/genieceo_0.1.19_1770692204657_0.16745823866596843","host":"s3://npm-registry-packages-npm-production"}},"0.1.20":{"name":"genieceo","version":"0.1.20","_id":"genieceo@0.1.20","maintainers":[{"name":"zebraroy","email":"elcngchunyik@gmail.com"}],"bin":{"genieceo":"dist/cli.js"},"dist":{"shasum":"cbc9e5e3a574ff2a2c78532316dfeb894d14aafb","tarball":"https://registry.npmjs.org/genieceo/-/genieceo-0.1.20.tgz","fileCount":17,"integrity":"sha512-Fg9TlL21GBKcPay7nxtg1oKQqIkrQb4rIfUh1Qtgj0gOx0iE9yc4XHiwpxVHD6Bc+ZH/Vmth6t3x8hBLWByQPA==","signatures":[{"sig":"MEUCIQDQUpI8du3YYZZhKUifdAJPiJx8daP5sYbCrE8tHJUfzgIgRqPH/nd7Pv9hn2oDX/A5XGQbMiMc9xcWCaVF/PNOQBI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":567084},"type":"module","engines":{"node":">=22"},"gitHead":"d6a6a40d80ca7b78f079aa6e96d2049a681c0960","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup && node scripts/copy-templates.mjs","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"zebraroy","email":"elcngchunyik@gmail.com"},"_npmVersion":"10.9.0","description":"GenieCEO: a self-growing agent CLI with a local workspace","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.0.0","yaml":"^2.8.1","cheerio":"^1.1.2","commander":"^14.0.0","html-to-text":"^9.0.5","@inquirer/prompts":"^7.5.1","@sinclair/typebox":"^0.34.41","@mariozechner/pi-ai":"latest"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.2","devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.8.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/genieceo_0.1.20_1770695965952_0.6059330110262906","host":"s3://npm-registry-packages-npm-production"}},"0.1.21":{"name":"genieceo","version":"0.1.21","_id":"genieceo@0.1.21","maintainers":[{"name":"zebraroy","email":"elcngchunyik@gmail.com"}],"bin":{"genieceo":"dist/cli.js"},"dist":{"shasum":"458cd7d8e5a61bb6eb6af5e234f25f1f614fcdaa","tarball":"https://registry.npmjs.org/genieceo/-/genieceo-0.1.21.tgz","fileCount":17,"integrity":"sha512-VaOUjVfXUCiAT/D3CcgZxqzAJPCjLTB5MGU/d9XGguKViSQ6ZEWfUBHG1rxdRdkmugovwIMZN0AFPVky/EOK6Q==","signatures":[{"sig":"MEYCIQD53Ihvpa0lGhlJpo7wNDBYBDXaRnpzzjTqbOX4CGqXGgIhANu/swly4imKfRd5wV4AK6ZcoqSUhd+jYBBzpZk1nObP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":567119},"type":"module","engines":{"node":">=22"},"gitHead":"bf932ddb9dcc4c5a30ee61af10f8a04711916b5c","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup && node scripts/copy-templates.mjs","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"zebraroy","email":"elcngchunyik@gmail.com"},"_npmVersion":"10.9.0","description":"GenieCEO: a self-growing agent CLI with a local workspace","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.0.0","yaml":"^2.8.1","cheerio":"^1.1.2","commander":"^14.0.0","html-to-text":"^9.0.5","@inquirer/prompts":"^7.5.1","@sinclair/typebox":"^0.34.41","@mariozechner/pi-ai":"latest"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.2","devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.8.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/genieceo_0.1.21_1770712529538_0.4413372543605161","host":"s3://npm-registry-packages-npm-production"}},"0.1.22":{"name":"genieceo","version":"0.1.22","_id":"genieceo@0.1.22","maintainers":[{"name":"zebraroy","email":"elcngchunyik@gmail.com"}],"bin":{"genieceo":"dist/cli.js"},"dist":{"shasum":"246528228e7a9c3e9dfb988b40cfd83eab5bea46","tarball":"https://registry.npmjs.org/genieceo/-/genieceo-0.1.22.tgz","fileCount":17,"integrity":"sha512-gwZQ4uYy5K5nuXZKZgx2D7laSawRqw4WosH5UwNqvgy0Ds6jhXBbT1I2ktwyIkaR3GA61i6OeG3wE70lGUEIcA==","signatures":[{"sig":"MEYCIQCZkmwGdvxpDZXzf8VfAo1xIH4l2KUD6ywElj3IgLm7zgIhAJTvmEl9t9zEQAtU/0DBIPDntujqgE1RKBWBwQP/8SgJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":567980},"type":"module","engines":{"node":">=22"},"gitHead":"bf932ddb9dcc4c5a30ee61af10f8a04711916b5c","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup && node scripts/copy-templates.mjs","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"zebraroy","email":"elcngchunyik@gmail.com"},"_npmVersion":"10.9.0","description":"GenieCEO: a self-growing agent CLI with a local workspace","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.0.0","yaml":"^2.8.1","cheerio":"^1.1.2","commander":"^14.0.0","html-to-text":"^9.0.5","@inquirer/prompts":"^7.5.1","@sinclair/typebox":"^0.34.41","@mariozechner/pi-ai":"latest"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.2","devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.8.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/genieceo_0.1.22_1770713295841_0.5876537031548486","host":"s3://npm-registry-packages-npm-production"}},"0.1.23":{"name":"genieceo","version":"0.1.23","_id":"genieceo@0.1.23","maintainers":[{"name":"zebraroy","email":"elcngchunyik@gmail.com"}],"bin":{"genieceo":"dist/cli.js"},"dist":{"shasum":"f9b5c0774bfc0c24cffb3756c75a261329659b46","tarball":"https://registry.npmjs.org/genieceo/-/genieceo-0.1.23.tgz","fileCount":17,"integrity":"sha512-7j1f7mkCsmZ+5sg957nyW82Y/apoE8bZ/UncfUsXU3StGyCGWUosY3lvA2w2X1h/1fO5VIw9I0BWe2n741/QVw==","signatures":[{"sig":"MEQCIFZXfSt9EA9ywaaQqwk761HTxUc4rReWTjlJP+kuDRV3AiAQzIgui8mLYET4shjvqT5jf2G/DID23dijtRAgXJXyQg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":569359},"type":"module","engines":{"node":">=22"},"gitHead":"7c9039ecfd27d06af9f0e3c06ad1cd99549a149a","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup && node scripts/copy-templates.mjs","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"zebraroy","email":"elcngchunyik@gmail.com"},"_npmVersion":"10.9.0","description":"GenieCEO: a self-growing agent CLI with a local workspace","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.0.0","yaml":"^2.8.1","cheerio":"^1.1.2","commander":"^14.0.0","html-to-text":"^9.0.5","@inquirer/prompts":"^7.5.1","@sinclair/typebox":"^0.34.41","@mariozechner/pi-ai":"latest"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.2","devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.8.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/genieceo_0.1.23_1770718217558_0.8627461548397795","host":"s3://npm-registry-packages-npm-production"}},"0.1.24":{"name":"genieceo","version":"0.1.24","_id":"genieceo@0.1.24","maintainers":[{"name":"zebraroy","email":"elcngchunyik@gmail.com"}],"bin":{"genieceo":"dist/cli.js"},"dist":{"shasum":"8600bf6f26b53953421a5a8d1900b3d79d633cb5","tarball":"https://registry.npmjs.org/genieceo/-/genieceo-0.1.24.tgz","fileCount":17,"integrity":"sha512-lfGBDXLJtoPTVGOWHhxfOuE9k83/Qaex9//zWBCUxYOyipCv/bPzVGvFQ8NmOrALQjrnwC4P26i5yQaDupmxiw==","signatures":[{"sig":"MEQCIAcliX+JLv+LleD/SsetrL+1/fhuSgm3w7asIxpBwwOKAiBPVO3WB5KiBPP5Jyb+3P35KCJ3RiK3ESzTMvwCAxGk+g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":569915},"type":"module","engines":{"node":">=22"},"gitHead":"7c9039ecfd27d06af9f0e3c06ad1cd99549a149a","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup && node scripts/copy-templates.mjs","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"zebraroy","email":"elcngchunyik@gmail.com"},"_npmVersion":"10.9.0","description":"GenieCEO: a self-growing agent CLI with a local workspace","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.0.0","yaml":"^2.8.1","cheerio":"^1.1.2","commander":"^14.0.0","html-to-text":"^9.0.5","@inquirer/prompts":"^7.5.1","@sinclair/typebox":"^0.34.41","@mariozechner/pi-ai":"latest"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.2","devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.8.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/genieceo_0.1.24_1770788936415_0.038540902853959835","host":"s3://npm-registry-packages-npm-production"}},"0.1.25":{"name":"genieceo","version":"0.1.25","_id":"genieceo@0.1.25","maintainers":[{"name":"zebraroy","email":"elcngchunyik@gmail.com"}],"bin":{"genieceo":"dist/cli.js"},"dist":{"shasum":"b67b1640d6334a9d4d8b8a3d842a7634c82ede60","tarball":"https://registry.npmjs.org/genieceo/-/genieceo-0.1.25.tgz","fileCount":17,"integrity":"sha512-rB/N7k2QYxJcbLjd+Do4Rb3Xqj0WuivRqwHyDgFV42rFGJVk5Ul6z0iULHwxpnJqRefltX563bObu317pH5jvQ==","signatures":[{"sig":"MEYCIQDTV0zhWJoMmC13gIQDgA3XzWMx2WpePN7syxTTZ6s0hAIhAMqV4GNlfiCWxfQelvE+ZNzcvdc/9GZgAOSp3IY9AWjQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":570052},"type":"module","engines":{"node":">=22"},"gitHead":"7bed5fa88465008fa841b28b37a754d27e2879d9","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup && node scripts/copy-templates.mjs","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"zebraroy","email":"elcngchunyik@gmail.com"},"_npmVersion":"10.9.0","description":"GenieCEO: a self-growing agent CLI with a local workspace","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.0.0","yaml":"^2.8.1","cheerio":"^1.1.2","commander":"^14.0.0","html-to-text":"^9.0.5","@inquirer/prompts":"^7.5.1","@sinclair/typebox":"^0.34.41","@mariozechner/pi-ai":"latest"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.2","devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.8.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/genieceo_0.1.25_1770874937508_0.3988542064462597","host":"s3://npm-registry-packages-npm-production"}},"0.1.26":{"name":"genieceo","version":"0.1.26","_id":"genieceo@0.1.26","maintainers":[{"name":"zebraroy","email":"elcngchunyik@gmail.com"}],"bin":{"genieceo":"dist/cli.js"},"dist":{"shasum":"45b638dd9c353b8af226be0bfd814d101bbfee95","tarball":"https://registry.npmjs.org/genieceo/-/genieceo-0.1.26.tgz","fileCount":17,"integrity":"sha512-OvTTym6eSzjVdoNAK78SymVdGr7pK1aMJnvY2Kd9qd3UhjwCl53apboiFBkJqxbItwgY+ahlcYNPt71dQ5PLzw==","signatures":[{"sig":"MEUCIBQRSUmEExqpR9rkDmgU9QtsOuK2RgTRR4TJ+n2Z7bAXAiEA9ppFll6U51ok6t2O0V1ky5shaVhSRCb3KvERjed2ZRU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":635098},"type":"module","engines":{"node":">=22"},"gitHead":"7bed5fa88465008fa841b28b37a754d27e2879d9","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup && node scripts/copy-templates.mjs","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"zebraroy","email":"elcngchunyik@gmail.com"},"_npmVersion":"10.9.0","description":"GenieCEO: a self-growing agent CLI with a local workspace","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.0.0","yaml":"^2.8.1","cheerio":"^1.1.2","commander":"^14.0.0","html-to-text":"^9.0.5","@inquirer/prompts":"^7.5.1","@sinclair/typebox":"^0.34.41","@mariozechner/pi-ai":"latest"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.2","devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.8.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/genieceo_0.1.26_1770875056512_0.13669716164552814","host":"s3://npm-registry-packages-npm-production"}},"0.1.27":{"name":"genieceo","version":"0.1.27","_id":"genieceo@0.1.27","maintainers":[{"name":"zebraroy","email":"elcngchunyik@gmail.com"}],"bin":{"genieceo":"dist/cli.js"},"dist":{"shasum":"932c8af78c4e7c312826fc37bb660357ba927cb1","tarball":"https://registry.npmjs.org/genieceo/-/genieceo-0.1.27.tgz","fileCount":17,"integrity":"sha512-ZYiVEAvWXi243mQEWDicjUw994lYnSMDMVwIVJKO6NgDVFTsDlZmKwOW9FaBsunkAVVtaAYHWgQm3ggDVIWogg==","signatures":[{"sig":"MEUCIQD85uLwQ/8UKMZ66mqIC/MlwXIOUQpXTDieBzc9O/yNPwIgODfNVprWNuFUAIMsfvaPHhDsvCG4QWdWtgffBRK67/U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":644092},"type":"module","engines":{"node":">=22"},"gitHead":"e7b83e27a5b8f490545898332cbbf93e539958a2","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup && node scripts/copy-templates.mjs","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"zebraroy","email":"elcngchunyik@gmail.com"},"_npmVersion":"10.9.0","description":"GenieCEO: a self-growing agent CLI with a local workspace","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.0.0","yaml":"^2.8.1","cheerio":"^1.1.2","commander":"^14.0.0","html-to-text":"^9.0.5","@inquirer/prompts":"^7.5.1","@sinclair/typebox":"^0.34.41","@mariozechner/pi-ai":"latest"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.2","devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.8.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/genieceo_0.1.27_1770876194179_0.2200558482240813","host":"s3://npm-registry-packages-npm-production"}},"0.1.28":{"name":"genieceo","version":"0.1.28","_id":"genieceo@0.1.28","maintainers":[{"name":"zebraroy","email":"elcngchunyik@gmail.com"}],"bin":{"genieceo":"dist/cli.js"},"dist":{"shasum":"de88a5d1520419b18a42f3800302284327c7285f","tarball":"https://registry.npmjs.org/genieceo/-/genieceo-0.1.28.tgz","fileCount":17,"integrity":"sha512-BRyPMkpsFWISM7jBQN7F5a9WrHMo3O2SXG4Qvd7GaD63IfycN5n2/zLyEsTsgC7ynlBRXaSUcdn9dvrIU53DSw==","signatures":[{"sig":"MEYCIQD3W+iYrJw4fJx8wxrbCK5kkE5f8XT6Ekz4X9FoWJ+4HAIhAPWuVecnyGnUvDJdy+GLulyZhyYgS6HfdgsHf4vAnjVy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":646501},"type":"module","engines":{"node":">=22"},"gitHead":"ef54d6d23ad617614587d7d0bb15b944c40d0e09","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup && node scripts/copy-templates.mjs","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"zebraroy","email":"elcngchunyik@gmail.com"},"_npmVersion":"10.9.0","description":"GenieCEO: a self-growing agent CLI with a local workspace","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.0.0","yaml":"^2.8.1","cheerio":"^1.1.2","commander":"^14.0.0","html-to-text":"^9.0.5","@inquirer/prompts":"^7.5.1","@sinclair/typebox":"^0.34.41","@mariozechner/pi-ai":"latest"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.2","devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.8.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/genieceo_0.1.28_1770878503271_0.9522689481534365","host":"s3://npm-registry-packages-npm-production"}},"0.1.29":{"name":"genieceo","version":"0.1.29","_id":"genieceo@0.1.29","maintainers":[{"name":"zebraroy","email":"elcngchunyik@gmail.com"}],"bin":{"genieceo":"dist/cli.js"},"dist":{"shasum":"08ab8d2cfb2d39eada8618b9fab9696e8995ab2d","tarball":"https://registry.npmjs.org/genieceo/-/genieceo-0.1.29.tgz","fileCount":17,"integrity":"sha512-pStFPLp1cyV2u62ZkMupondUA+7hquU5ZfaPyTKjo1UnfvEm8byQwaox9gGp6SKFMHmwNDEh0klFFdd1ZoRAaQ==","signatures":[{"sig":"MEYCIQCr7qqYjpErtYubR7LnUYc8fkKV/2Fr+PwxpgcoH6LA+QIhAIT/navfKOuxyKr7W7eq10zDWNyTVC/uxy5kCeYmKXSL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":646803},"type":"module","engines":{"node":">=22"},"gitHead":"91383a1d19589caf0988401e5fc8dfb7f48167b9","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup && node scripts/copy-templates.mjs","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"zebraroy","email":"elcngchunyik@gmail.com"},"_npmVersion":"10.9.0","description":"GenieCEO: a self-growing agent CLI with a local workspace","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.0.0","yaml":"^2.8.1","cheerio":"^1.1.2","commander":"^14.0.0","html-to-text":"^9.0.5","@inquirer/prompts":"^7.5.1","@sinclair/typebox":"^0.34.41","@mariozechner/pi-ai":"latest"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.2","devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.8.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/genieceo_0.1.29_1771836360456_0.17443620073143906","host":"s3://npm-registry-packages-npm-production"}},"0.1.30":{"name":"genieceo","version":"0.1.30","_id":"genieceo@0.1.30","maintainers":[{"name":"zebraroy","email":"elcngchunyik@gmail.com"}],"bin":{"genieceo":"dist/cli.js"},"dist":{"shasum":"519734dc0fc883808ff716e78e6d7abef9215117","tarball":"https://registry.npmjs.org/genieceo/-/genieceo-0.1.30.tgz","fileCount":19,"integrity":"sha512-+3KQpgBfXX9K2EXdsiGfUPGJjrLji6y12QJ4tNd5gjlFnHU9SmXpTdi5YWz1znppDLm8+gshmfrL23MKUIEejg==","signatures":[{"sig":"MEQCIEo0YnsWfez+3gNzyH5aNOUgxXOenLkxTXM2e30sUJyTAiAgm9Rfbx04CClB6Baws4+E472dVDpo/VZ8XR46rk4D0A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":719444},"type":"module","engines":{"node":">=22"},"gitHead":"a1eb0e1bba18659ae0c56dc2d859ea54885816f2","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup && node scripts/copy-templates.mjs","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"zebraroy","email":"elcngchunyik@gmail.com"},"_npmVersion":"10.9.0","description":"GenieCEO: a self-growing agent CLI with a local workspace","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.0.0","yaml":"^2.8.1","cheerio":"^1.1.2","commander":"^14.0.0","html-to-text":"^9.0.5","@inquirer/prompts":"^7.5.1","@sinclair/typebox":"^0.34.41","@mariozechner/pi-ai":"latest"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.2","devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.8.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/genieceo_0.1.30_1772007477103_0.28013681653241607","host":"s3://npm-registry-packages-npm-production"}},"0.1.31":{"name":"genieceo","version":"0.1.31","description":"GenieCEO: a self-growing agent CLI with a local workspace","type":"module","packageManager":"pnpm@10.28.2","bin":{"genieceo":"dist/cli.js"},"engines":{"node":">=22"},"scripts":{"build":"tsup && node scripts/copy-templates.mjs","dev":"tsx src/cli.ts","typecheck":"tsc -p tsconfig.json --noEmit","test":"vitest run","test:watch":"vitest"},"dependencies":{"@inquirer/prompts":"^7.5.1","@mariozechner/pi-ai":"latest","@sinclair/typebox":"^0.34.41","cheerio":"^1.1.2","commander":"^14.0.0","html-to-text":"^9.0.5","yaml":"^2.8.1","zod":"^4.0.0"},"devDependencies":{"@types/node":"^22.0.0","tsup":"^8.5.0","tsx":"^4.20.0","typescript":"^5.8.0","vitest":"^3.0.0"},"_id":"genieceo@0.1.31","gitHead":"a1eb0e1bba18659ae0c56dc2d859ea54885816f2","_nodeVersion":"22.12.0","_npmVersion":"10.9.0","dist":{"integrity":"sha512-L8T5BGlfoFx+5CM8CAUG8yOacjd8lbazRGWrSJHoeFo2rvCtvd11UKLeuUhBeEU+pLoxjk+L3YGXMqztx12/Ow==","shasum":"eec98eacc7b95835c2733d9d9741932b9298ef70","tarball":"https://registry.npmjs.org/genieceo/-/genieceo-0.1.31.tgz","fileCount":19,"unpackedSize":738002,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDA2bleNHYCbH5Y3KapqPCJvB4Bp+keFxNJxWLlOJyexQIgJ43vwZWIXaHvFJ+KSiC5Ch+9Ttm/7xYy5jq7caKkr7o="}]},"_npmUser":{"name":"zebraroy","email":"elcngchunyik@gmail.com"},"directories":{},"maintainers":[{"name":"zebraroy","email":"elcngchunyik@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/genieceo_0.1.31_1772012470729_0.7134653854592299"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-05T07:02:02.968Z","modified":"2026-02-25T09:41:11.297Z","0.1.0":"2026-02-05T07:02:03.114Z","0.1.1":"2026-02-05T07:08:07.411Z","0.1.2":"2026-02-05T07:12:15.522Z","0.1.3":"2026-02-05T07:14:53.658Z","0.1.5":"2026-02-05T09:33:39.604Z","0.1.6":"2026-02-05T09:57:34.640Z","0.1.7":"2026-02-06T01:04:13.803Z","0.1.10":"2026-02-06T10:00:43.053Z","0.1.11":"2026-02-09T01:29:23.079Z","0.1.12":"2026-02-09T01:42:12.858Z","0.1.13":"2026-02-09T02:01:19.412Z","0.1.15":"2026-02-09T08:24:12.733Z","0.1.16":"2026-02-09T09:01:34.713Z","0.1.17":"2026-02-09T09:50:01.810Z","0.1.18":"2026-02-10T02:28:45.357Z","0.1.19":"2026-02-10T02:56:44.805Z","0.1.20":"2026-02-10T03:59:26.138Z","0.1.21":"2026-02-10T08:35:29.686Z","0.1.22":"2026-02-10T08:48:16.089Z","0.1.23":"2026-02-10T10:10:17.702Z","0.1.24":"2026-02-11T05:48:56.574Z","0.1.25":"2026-02-12T05:42:17.659Z","0.1.26":"2026-02-12T05:44:16.712Z","0.1.27":"2026-02-12T06:03:14.378Z","0.1.28":"2026-02-12T06:41:43.453Z","0.1.29":"2026-02-23T08:46:00.642Z","0.1.30":"2026-02-25T08:17:57.302Z","0.1.31":"2026-02-25T09:41:10.901Z"},"description":"GenieCEO: a self-growing agent CLI with a local workspace","maintainers":[{"name":"zebraroy","email":"elcngchunyik@gmail.com"}],"readme":"## GenieCEO\n\n`genieceo` is a global CLI agent that keeps an evolving workspace under `~/.genieceo`.\n\n### Install (dev)\n\n```bash\npnpm install\npnpm run build\nnode dist/cli.js --help\n```\n\n### Install (global)\n\nAfter publishing to npm:\n\n```bash\npnpm add -g genieceo\ngenieceo --help\n```\n\n### Commands\n\n- `genieceo onboard`\n  - Interactive setup wizard (space to toggle, enter to confirm)\n  - Writes `~/.genieceo/config.json` (LLM + web search)\n- `genieceo chat`\n  - Loads prompt files from `~/.genieceo/prompts/`\n  - Chats with the configured model via `@mariozechner/pi-ai`\n  - Executes tool calls (file tools + web tools) and persists the session to JSONL\n- `genieceo status`\n  - Shows whether the gateway is reachable and lists managed services (PIDs)\n- `genieceo gateway`\n  - Runs the long-lived gateway daemon (HTTP webhooks + message channels)\n  - Loads channel plugins (built-in + `~/.genieceo/plugins/*`)\n- `genieceo reset [--all]`\n  - Restores prompt templates under `~/.genieceo/prompts/`\n  - With `--all`, also resets `~/.genieceo/config.json`\n\n### Debugging / Observability\n\n- **CLI streaming output**: `genieceo chat` streams intermediate model output by default.\n  - Disable streaming: `GENIECEO_STREAM=0 genieceo chat`\n- **Gateway logs**: `genieceo gateway` writes JSON logs to `~/.genieceo/logs/gateway.log`.\n  - Increase verbosity: `GENIECEO_DEBUG=1 genieceo gateway` (or `GENIECEO_LOG_LEVEL=debug`)\n- **Tool progress**: gateway logs include `tool start` / `tool end` with durations so you can see what long task it’s doing.\n- **External runtime hooks**: configure `hooks` in `~/.genieceo/config.json` and provide a module to receive lifecycle events (`agent.loop.*`, `subagent.loop.*`, `tool.execute.*`, gateway/session, memory flush, shell/service).\n  - Hook authoring guide: `docs/hooks.md`\n  - Fast start: create `~/.genieceo/hooks/event-log.mjs`, set `\"handlerModule\": \"hooks/event-log.mjs\"`, restart `genieceo`, then inspect `~/.genieceo/logs/hook-events.jsonl`.\n\n### Workspace layout\n\n`~/.genieceo/`\n\n- `config.json`: LLM + web search settings\n- `prompts/`: prompt files loaded into the system prompt\n  - `IDENTITY.md`, `AGENTS.md`, `SOUL.md`, `USER.md`, `TOOLS.md`\n- `MEMORY.md`: long-term memory (durable facts/preferences/decisions)\n- `memory/`: daily memory notes (UTC), e.g. `memory/YYYY-MM-DD.md`\n- `sessions/`: chat sessions saved as JSONL\n- `media/`: downloaded inbound channel attachments (images/voice/video/files)\n- `services/`: managed long-running services (PID + metadata JSON)\n- `logs/`: gateway logs (and future logs)\n- `plugins/`: channel plugins loaded by `genieceo gateway`\n\n### Config example\n\n```json\n{\n  \"version\": 2,\n  \"llm\": {\n    \"activeProfile\": \"openai\",\n    \"profiles\": {\n      \"openai:gpt-4o-mini\": {\n        \"provider\": \"openai\",\n        \"model\": \"gpt-4o-mini\",\n        \"apiKey\": \"sk-...\"\n      },\n      \"openai:gpt-5-mini\": {\n        \"provider\": \"openai\",\n        \"model\": \"gpt-5-mini\",\n        \"apiKey\": \"sk-...\"\n      },\n      \"anthropic\": {\n        \"provider\": \"anthropic\",\n        \"model\": \"claude-3-5-haiku-20241022\",\n        \"apiKey\": \"sk-ant-...\"\n      }\n    },\n    \"maxImageBytes\": 2097152\n  },\n  \"webSearch\": {\n    \"order\": [\"brave\", \"tavily\", \"duckduckgo\"],\n    \"braveApiKey\": \"BSA-...\",\n    \"tavilyApiKey\": \"tvly-...\"\n  },\n  \"gateway\": {\n    \"host\": \"127.0.0.1\",\n    \"port\": 3000,\n    \"autostartServices\": []\n  },\n  \"channels\": {\n    \"telegram\": {\n      \"enabled\": true,\n      \"botToken\": \"123456:ABC-DEF...\",\n      \"webhookSecretToken\": \"a-random-secret\",\n      \"publicDomain\": \"https://xxxx.trycloudflare.com\",\n      \"downloadMedia\": true,\n      \"maxDownloadBytes\": 20971520\n    },\n    \"discord\": {\n      \"enabled\": true,\n      \"botToken\": \"YOUR_DISCORD_BOT_TOKEN\",\n      \"webhookSecret\": \"optional-webhook-secret\",\n      \"downloadMedia\": true,\n      \"maxDownloadBytes\": 20971520\n    },\n    \"line\": {\n      \"enabled\": true,\n      \"channelAccessToken\": \"YOUR_LINE_CHANNEL_ACCESS_TOKEN\",\n      \"channelSecret\": \"YOUR_LINE_CHANNEL_SECRET\"\n    }\n  },\n  \"execution\": {\n    \"shell\": {\n      \"enabled\": true,\n      \"allowedRoots\": [\"~/.genieceo\"]\n    }\n  }\n}\n```\n\n### Gateway + Channel webhooks (local daemon + tunnel)\n\nChannel webhooks (Telegram, Discord, Line) require a **public HTTPS** URL. If you run `genieceo gateway` on your local machine, you’ll need a tunnel.\n\n- Start the gateway:\n\n```bash\ngenieceo gateway\n```\n\n- Expose it publicly (example: Cloudflare Tunnel):\n\n```bash\ncloudflared tunnel --url http://127.0.0.1:3000\n```\n\nTake the public URL Cloudflare prints (example: `https://xxxx.trycloudflare.com`).\n\n#### Telegram Setup\n\n1. Create a bot via [@BotFather](https://t.me/botfather) on Telegram\n2. Use `/newbot` command to create a bot and get your bot token\n3. Run `genieceo onboard` and select \"Channels\" setup step:\n   - Enter your bot token\n   - Enter a webhook secret token (optional but recommended)\n   - Enter your public domain URL (e.g., `https://xxxx.trycloudflare.com`)\n   - The onboard process will automatically register the webhook with Telegram\n\nAlternatively, manually set the webhook URL using the Bot API:\n\n```bash\nexport BOT_TOKEN=\"123456:ABC-DEF...\"\nexport PUBLIC_BASE_URL=\"https://xxxx.trycloudflare.com\"\nexport SECRET_TOKEN=\"a-random-secret\"\n\ncurl -sS \"https://api.telegram.org/bot${BOT_TOKEN}/setWebhook\" \\\n  -H \"content-type: application/json\" \\\n  -d \"{\\\"url\\\":\\\"${PUBLIC_BASE_URL}/webhooks/telegram\\\",\\\"secret_token\\\":\\\"${SECRET_TOKEN}\\\"}\"\n```\n\nThe gateway verifies `X-Telegram-Bot-Api-Secret-Token` if you set `channels.telegram.webhookSecretToken` (optional but recommended).\n\nYou can also set `channels.telegram.parse_mode` to control outgoing formatting (`HTML` or `MarkdownV2`; legacy `Markdown` is also supported).\n\nInbound attachments (Telegram / Discord):\n\n- GenieCEO can download inbound attachments (images, voice, videos, documents) into `~/.genieceo/media/`.\n- Telegram/Discord configs support:\n  - `downloadMedia`: `true` (default) to download attachments\n  - `mediaDir`: override the media directory (absolute path or relative to `~/.genieceo/`)\n  - `maxDownloadBytes`: cap per attachment (default: 20MB)\n\nImage understanding (vision models):\n\n- If your active model supports image input, GenieCEO will embed up to 4 inbound images into the prompt (base64).\n- Control per-image cap with `llm.maxImageBytes` (default is conservative).\n\n#### Discord Setup\n\n1. Create a Discord bot at https://discord.com/developers/applications\n2. Enable \"Message Content Intent\" in Bot settings\n3. Configure the bot token in `~/.genieceo/config.json` under `channels.discord.botToken`\n4. Set up Discord interactions endpoint in your app settings to `${PUBLIC_BASE_URL}/webhooks/discord`\n5. Invite the bot to your server with proper permissions (Read Messages, Send Messages)\n\n#### Line Setup\n\n1. Create a Line Messaging API channel at https://developers.line.biz/console/\n2. Get the Channel Access Token and Channel Secret\n3. Configure them in `~/.genieceo/config.json` under `channels.line`\n4. Set the webhook URL in Line Console to `${PUBLIC_BASE_URL}/webhooks/line`\n\nThe gateway verifies Line webhook signatures automatically using the channel secret.\n\n### Always-on gateway (launchd/systemd templates)\n\nTo run the gateway continuously:\n\n- **macOS**: see `docs/supervisor/macos-launchagent.plist`\n- **Linux**: see `docs/supervisor/linux-systemd-user.service`\n\nBoth templates run `genieceo gateway`, restart on crash, and append logs to `~/.genieceo/logs/`.\n\nQuickstart (macOS):\n\n1. Copy `docs/supervisor/macos-launchagent.plist` to `~/Library/LaunchAgents/io.genieceo.gateway.plist`\n2. Edit the file to set the correct `genieceo` path (`which genieceo`) and your home directory\n3. Load it:\n\n```bash\nlaunchctl load -w ~/Library/LaunchAgents/io.genieceo.gateway.plist\nlaunchctl list | grep genieceo\n```\n\nQuickstart (Linux):\n\n1. Copy `docs/supervisor/linux-systemd-user.service` to `~/.config/systemd/user/genieceo-gateway.service`\n2. Edit the `ExecStart` path if needed (`which genieceo`)\n3. Enable + start:\n\n```bash\nsystemctl --user daemon-reload\nsystemctl --user enable --now genieceo-gateway.service\nsystemctl --user status genieceo-gateway.service\n```\n\n### Channel plugins (skills-like “just files”)\n\nChannel plugins are folders under `~/.genieceo/plugins/<name>/`.\n\nEach plugin provides:\n\n- `plugin.json` (manifest)\n- `index.js` (entry; compiled JS; loaded via dynamic `import()`)\n\nEnable/configure the plugin by adding a block under `channels.<name>` in `~/.genieceo/config.json` (convention: `{ \"enabled\": true, ... }`).\n\n### Notes\n\n- Provider/model discovery and tool calling are powered by `@mariozechner/pi-ai` (pi-mono). See its docs at [`pi.dev`](https://buildwithpi.ai/).\n","readmeFilename":"README.md"}