{"_id":"@codexgamerz/homogenous","_rev":"11-b9b50be93a59d38501d3101ae15e1448","name":"@codexgamerz/homogenous","dist-tags":{"latest":"4.3.1"},"versions":{"4.0.0":{"name":"@codexgamerz/homogenous","version":"4.0.0","keywords":["cli","ai","agent","coding-assistant","ollama","anthropic","openai","mcp","developer-tools"],"author":{"name":"CODExGAMERZ"},"license":"MIT","_id":"@codexgamerz/homogenous@4.0.0","maintainers":[{"name":"codexgamerz","email":"aryansinha1920@gmail.com"}],"homepage":"https://github.com/CODExGAMERZ/homogenous#readme","bugs":{"url":"https://github.com/CODExGAMERZ/homogenous/issues"},"bin":{"homogenous":"dist/bin/homogenous.js"},"dist":{"shasum":"af38a0cba7add9895a9ee3b68cae4c2edc0bdeb3","tarball":"https://registry.npmjs.org/@codexgamerz/homogenous/-/homogenous-4.0.0.tgz","fileCount":168,"integrity":"sha512-cDASmc/Nw2aQ+H/gGg9tOexv+DeDnxt8WKj+Z/Ez91RR46Z8s7VZmKbc12PjvnasPoIi3elSfW27jFXOmTHD4g==","signatures":[{"sig":"MEUCIDedRxqzyRv8R0K6r2Vsa3Fie55GIxnJbLdxcGmNIlgqAiEA2pSdwmV3DychjDp/Ln2Ypxlu67EQF6tX+2FYQ4X/B8U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":485451},"main":"./dist/src/index.js","type":"module","types":"./dist/src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","default":"./dist/src/index.js"},"./package.json":"./package.json"},"gitHead":"e13d49baaa85e731f9942dfc0a9c6ad6693862a2","scripts":{"dev":"tsx bin/homogenous.ts chat","test":"node --import tsx/esm --test test/**/*.test.ts","build":"tsc","prepack":"npm run build","prepare":"npm run build","typecheck":"tsc --noEmit","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"codexgamerz","email":"aryansinha1920@gmail.com"},"repository":{"url":"git+https://github.com/CODExGAMERZ/homogenous.git","type":"git"},"_npmVersion":"11.16.0","description":"Enterprise-grade local-first CLI coding assistant powered by multi-provider LLM inference, dynamic skills, and MCP tools","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ink":"^7.1.1","zod":"^4.4.3","yaml":"^2.9.0","chalk":"^5.6.2","react":"^19.2.8","yargs":"^18.0.0","dotenv":"^17.4.2","cross-spawn":"^7.0.6","ink-spinner":"^5.0.0","js-tiktoken":"^1.0.21","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","@anthropic-ai/sdk":"^0.114.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","typescript":"^7.0.2","@types/node":"^26.1.1","@types/react":"^19.2.17","@types/yargs":"^17.0.35","@types/cross-spawn":"^6.0.6"},"_npmOperationalInternal":{"tmp":"tmp/homogenous_4.0.0_1786811547573_0.8949528332554564","host":"s3://npm-registry-packages-npm-production"}},"4.0.1":{"name":"@codexgamerz/homogenous","version":"4.0.1","keywords":["cli","ai","agent","coding-assistant","ollama","anthropic","openai","mcp","developer-tools"],"author":{"name":"CODExGAMERZ"},"license":"MIT","_id":"@codexgamerz/homogenous@4.0.1","maintainers":[{"name":"codexgamerz","email":"aryansinha1920@gmail.com"}],"homepage":"https://github.com/CODExGAMERZ/homogenous#readme","bugs":{"url":"https://github.com/CODExGAMERZ/homogenous/issues"},"bin":{"homogenous":"dist/bin/homogenous.js"},"dist":{"shasum":"ca5ddadf45e77580f8c6f4d75d1536c98abb4805","tarball":"https://registry.npmjs.org/@codexgamerz/homogenous/-/homogenous-4.0.1.tgz","fileCount":168,"integrity":"sha512-xrselLgv5CbRNMl7WXOAuyZcVgPXP3coEhobeBlXfrj3c5hkSdHdixhfrusBRzXLKy136YB/fq/gcwv0J72lRw==","signatures":[{"sig":"MEUCICrzrQJEJUMPbxilZ1umDXCK8xcE2OQgDePoIcTkiq5xAiEAlZ7K8X5RdEZsGPpCTzwdeRG6tLt/S3hr85On0Rwbngs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":499464},"main":"./dist/src/index.js","type":"module","types":"./dist/src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","default":"./dist/src/index.js"},"./package.json":"./package.json"},"gitHead":"f1a2c8a9ad7841f97e1d8189bf2d3ac7d2ec55e1","scripts":{"dev":"tsx bin/homogenous.ts chat","test":"node --import tsx/esm --test test/**/*.test.ts","build":"tsc","prepack":"npm run build","prepare":"npm run build","typecheck":"tsc --noEmit","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"codexgamerz","email":"aryansinha1920@gmail.com"},"repository":{"url":"git+https://github.com/CODExGAMERZ/homogenous.git","type":"git"},"_npmVersion":"11.16.0","description":"Enterprise-grade local-first CLI coding assistant powered by multi-provider LLM inference, dynamic skills, and MCP tools","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ink":"^7.1.1","zod":"^4.4.3","yaml":"^2.9.0","chalk":"^5.6.2","react":"^19.2.8","yargs":"^18.0.0","dotenv":"^17.4.2","cross-spawn":"^7.0.6","ink-spinner":"^5.0.0","js-tiktoken":"^1.0.21","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","@anthropic-ai/sdk":"^0.114.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","typescript":"^7.0.2","@types/node":"^26.1.1","@types/react":"^19.2.17","@types/yargs":"^17.0.35","@types/cross-spawn":"^6.0.6"},"_npmOperationalInternal":{"tmp":"tmp/homogenous_4.0.1_1786915746633_0.39019023663925734","host":"s3://npm-registry-packages-npm-production"}},"4.0.2":{"name":"@codexgamerz/homogenous","version":"4.0.2","keywords":["cli","ai","agent","coding-assistant","ollama","anthropic","openai","mcp","developer-tools"],"author":{"name":"CODExGAMERZ"},"license":"MIT","_id":"@codexgamerz/homogenous@4.0.2","maintainers":[{"name":"codexgamerz","email":"aryansinha1920@gmail.com"}],"homepage":"https://github.com/CODExGAMERZ/homogenous#readme","bugs":{"url":"https://github.com/CODExGAMERZ/homogenous/issues"},"bin":{"homogenous":"dist/bin/homogenous.js"},"dist":{"shasum":"8fa589e8d62a17cfcc8a254e30903948f52f0d9e","tarball":"https://registry.npmjs.org/@codexgamerz/homogenous/-/homogenous-4.0.2.tgz","fileCount":168,"integrity":"sha512-IGro9XaVMy3o5Bmkb9VcXUcVuoh4TyI0mNV3IVAUj3MlKyqDozY/esGc53nui59qiaLVbOWie61tG3+bGzjdZg==","signatures":[{"sig":"MEYCIQDlswtk0jG7VzSUIi2xmH1AVbfVtFykR6pyfwD1Xi3qigIhAMFGSy5Q3uofLO8hRG6LhZ7S8LNs5kykLu1SHYjVKdu5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":501158},"main":"./dist/src/index.js","type":"module","types":"./dist/src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","default":"./dist/src/index.js"},"./package.json":"./package.json"},"gitHead":"d16e3d81bc40c4fb99e0fc4bcab2b6175e19ea07","scripts":{"dev":"tsx bin/homogenous.ts chat","test":"node --import tsx/esm --test test/**/*.test.ts","build":"tsc","prepack":"npm run build","prepare":"npm run build","typecheck":"tsc --noEmit","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"codexgamerz","email":"aryansinha1920@gmail.com"},"repository":{"url":"git+https://github.com/CODExGAMERZ/homogenous.git","type":"git"},"_npmVersion":"11.16.0","description":"Enterprise-grade local-first CLI coding assistant powered by multi-provider LLM inference, dynamic skills, and MCP tools","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ink":"^7.1.1","zod":"^4.4.3","yaml":"^2.9.0","chalk":"^5.6.2","react":"^19.2.8","yargs":"^18.0.0","dotenv":"^17.4.2","cross-spawn":"^7.0.6","ink-spinner":"^5.0.0","js-tiktoken":"^1.0.21","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","@anthropic-ai/sdk":"^0.114.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","typescript":"^7.0.2","@types/node":"^26.1.1","@types/react":"^19.2.17","@types/yargs":"^17.0.35","@types/cross-spawn":"^6.0.6"},"_npmOperationalInternal":{"tmp":"tmp/homogenous_4.0.2_1786916188223_0.1049377656309507","host":"s3://npm-registry-packages-npm-production"}},"4.0.3":{"name":"@codexgamerz/homogenous","version":"4.0.3","keywords":["cli","ai","agent","coding-assistant","ollama","anthropic","openai","mcp","developer-tools"],"author":{"name":"CODExGAMERZ"},"license":"MIT","_id":"@codexgamerz/homogenous@4.0.3","maintainers":[{"name":"codexgamerz","email":"aryansinha1920@gmail.com"}],"homepage":"https://github.com/CODExGAMERZ/homogenous#readme","bugs":{"url":"https://github.com/CODExGAMERZ/homogenous/issues"},"bin":{"homogenous":"dist/bin/homogenous.js"},"dist":{"shasum":"8b76266b3d53cda48cc5b02ed799d81548979a9b","tarball":"https://registry.npmjs.org/@codexgamerz/homogenous/-/homogenous-4.0.3.tgz","fileCount":168,"integrity":"sha512-L+xflr/nN86017GrmDZkUEeOg1ORUfvb1Ey/NBkSmip+QarVq5lI7P/W6UgYJR/Hx/ZiA/NiD9ECDnZrZ39qng==","signatures":[{"sig":"MEUCIQCK4oG1VqoUAYYkXTRcGrp+gUSAyBx2fIxHrLwjmr2b2gIgFkoKwc8UfkJcgx7anoN+qVrwI0D5K97NmtzIArcl8Hc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":501160},"main":"./dist/src/index.js","type":"module","types":"./dist/src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","default":"./dist/src/index.js"},"./package.json":"./package.json"},"gitHead":"3d7c4a6b742aacfdae8b9a00bb61db738444c36b","scripts":{"dev":"tsx bin/homogenous.ts chat","test":"node --import tsx/esm --test test/**/*.test.ts","build":"tsc","prepack":"npm run build","prepare":"npm run build","typecheck":"tsc --noEmit","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"codexgamerz","email":"aryansinha1920@gmail.com"},"repository":{"url":"git+https://github.com/CODExGAMERZ/homogenous.git","type":"git"},"_npmVersion":"11.16.0","description":"Enterprise-grade local-first CLI coding assistant powered by multi-provider LLM inference, dynamic skills, and MCP tools","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ink":"^7.1.1","zod":"^4.4.3","yaml":"^2.9.0","chalk":"^5.6.2","react":"^19.2.8","yargs":"^18.0.0","dotenv":"^17.4.2","cross-spawn":"^7.0.6","ink-spinner":"^5.0.0","js-tiktoken":"^1.0.21","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","@anthropic-ai/sdk":"^0.114.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","typescript":"^7.0.2","@types/node":"^26.1.1","@types/react":"^19.2.17","@types/yargs":"^17.0.35","@types/cross-spawn":"^6.0.6"},"_npmOperationalInternal":{"tmp":"tmp/homogenous_4.0.3_1787255201405_0.11616977846749266","host":"s3://npm-registry-packages-npm-production"}},"4.1.0":{"name":"@codexgamerz/homogenous","version":"4.1.0","keywords":["cli","ai","agent","coding-assistant","ollama","anthropic","openai","mcp","developer-tools"],"author":{"name":"CODExGAMERZ"},"license":"MIT","_id":"@codexgamerz/homogenous@4.1.0","maintainers":[{"name":"codexgamerz","email":"aryansinha1920@gmail.com"}],"homepage":"https://github.com/CODExGAMERZ/homogenous#readme","bugs":{"url":"https://github.com/CODExGAMERZ/homogenous/issues"},"bin":{"homogenous":"dist/bin/homogenous.js"},"dist":{"shasum":"444d14cf1b133b2515de4463fd81480ecf0587a3","tarball":"https://registry.npmjs.org/@codexgamerz/homogenous/-/homogenous-4.1.0.tgz","fileCount":168,"integrity":"sha512-IHwYF/jGqSskq/Pb10ltde4QAweP9R5Dk23OdH+Dax2OC5bxQL7yRHhzn9TIdO5vLhI1YS63WTgHJJHtHEcUVg==","signatures":[{"sig":"MEUCIH5EKCV4uxRnNq6hIGowe6pTkjBJx+//EeR60V+qQoWJAiEA0NFnvBeD8xe/iwWlOn3fXw4edXYcQPLL2qOz1mNPsDs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":504102},"main":"./dist/src/index.js","type":"module","types":"./dist/src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","default":"./dist/src/index.js"},"./package.json":"./package.json"},"gitHead":"d083133a0f6f5f10498d25d77831c6d6817b44ad","scripts":{"dev":"tsx bin/homogenous.ts chat","test":"node --import tsx/esm --test test/**/*.test.ts","build":"tsc","prepack":"npm run build","prepare":"npm run build","typecheck":"tsc --noEmit","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"codexgamerz","email":"aryansinha1920@gmail.com"},"repository":{"url":"git+https://github.com/CODExGAMERZ/homogenous.git","type":"git"},"_npmVersion":"11.16.0","description":"Enterprise-grade local-first CLI coding assistant powered by multi-provider LLM inference, dynamic skills, and MCP tools","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ink":"^7.1.1","zod":"^4.4.3","yaml":"^2.9.0","chalk":"^5.6.2","react":"^19.2.8","yargs":"^18.0.0","dotenv":"^17.4.2","cross-spawn":"^7.0.6","ink-spinner":"^5.0.0","js-tiktoken":"^1.0.21","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","@anthropic-ai/sdk":"^0.114.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","typescript":"^7.0.2","@types/node":"^26.1.1","@types/react":"^19.2.17","@types/yargs":"^17.0.35","@types/cross-spawn":"^6.0.6"},"_npmOperationalInternal":{"tmp":"tmp/homogenous_4.1.0_1787309761361_0.41660655341754405","host":"s3://npm-registry-packages-npm-production"}},"4.2.0":{"name":"@codexgamerz/homogenous","version":"4.2.0","keywords":["cli","ai","agent","coding-assistant","ollama","anthropic","openai","mcp","developer-tools"],"author":{"name":"CODExGAMERZ"},"license":"MIT","_id":"@codexgamerz/homogenous@4.2.0","maintainers":[{"name":"codexgamerz","email":"aryansinha1920@gmail.com"}],"homepage":"https://github.com/CODExGAMERZ/homogenous#readme","bugs":{"url":"https://github.com/CODExGAMERZ/homogenous/issues"},"bin":{"homogenous":"dist/bin/homogenous.js"},"dist":{"shasum":"662e4fee132c9e6145c5b1864a5f407d704fe2e6","tarball":"https://registry.npmjs.org/@codexgamerz/homogenous/-/homogenous-4.2.0.tgz","fileCount":170,"integrity":"sha512-4kpRrPThJQ9yE2+Ms6Vj8KnRm/fto5pGCW3BWMJXJrd6PQDfJMXqNPBDVM7OvMrHh9Lq3UjXHYszdQbiNo0M0w==","signatures":[{"sig":"MEYCIQC6K2uuPtq2RbKmA/JMAfu/mt7pRNpoV6K8JI7t6MNvGwIhALI8ksfT1eF7dTXSloaIjt+REZNHpKz0WVmb6Fbew5mI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":510800},"main":"./dist/src/index.js","type":"module","types":"./dist/src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","default":"./dist/src/index.js"},"./package.json":"./package.json"},"gitHead":"31eb072a09c8669661b85bdc6c7ba65d3f6c59a9","scripts":{"dev":"tsx bin/homogenous.ts chat","test":"node --import tsx/esm --test test/**/*.test.ts","build":"tsc","prepack":"npm run build","prepare":"npm run build","typecheck":"tsc --noEmit","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"codexgamerz","email":"aryansinha1920@gmail.com"},"repository":{"url":"git+https://github.com/CODExGAMERZ/homogenous.git","type":"git"},"_npmVersion":"11.16.0","description":"Enterprise-grade local-first CLI coding assistant powered by multi-provider LLM inference, dynamic skills, and MCP tools","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ink":"^7.1.1","zod":"^4.4.3","yaml":"^2.9.0","chalk":"^5.6.2","react":"^19.2.8","yargs":"^18.0.0","dotenv":"^17.4.2","cross-spawn":"^7.0.6","ink-spinner":"^5.0.0","js-tiktoken":"^1.0.21","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","@anthropic-ai/sdk":"^0.114.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","typescript":"^7.0.2","@types/node":"^26.1.1","@types/react":"^19.2.17","@types/yargs":"^17.0.35","@types/cross-spawn":"^6.0.6"},"_npmOperationalInternal":{"tmp":"tmp/homogenous_4.2.0_1787596029572_0.858567187731174","host":"s3://npm-registry-packages-npm-production"}},"4.2.5":{"name":"@codexgamerz/homogenous","version":"4.2.5","keywords":["cli","ai","agent","coding-assistant","ollama","anthropic","openai","mcp","developer-tools"],"author":{"name":"CODExGAMERZ"},"license":"MIT","_id":"@codexgamerz/homogenous@4.2.5","maintainers":[{"name":"codexgamerz","email":"aryansinha1920@gmail.com"}],"homepage":"https://github.com/CODExGAMERZ/homogenous#readme","bugs":{"url":"https://github.com/CODExGAMERZ/homogenous/issues"},"bin":{"homogenous":"dist/bin/homogenous.js"},"dist":{"shasum":"795b641659cf541ed11fac20dc84a0f31195bc6c","tarball":"https://registry.npmjs.org/@codexgamerz/homogenous/-/homogenous-4.2.5.tgz","fileCount":172,"integrity":"sha512-NpJrrHzRhSs9cL5H9yhIyckuXtRrOmaIW3VE3AECbtbHp/X2dkRycM8uc6WttjWO6GFpR5ySw0bw/0EgO6cCyQ==","signatures":[{"sig":"MEUCIBvnwy0OB4GVkMltz4HxDF8M+gmUjIhE5E1iJUemeyI8AiEA+JVOn3LI4FYj6jdm7KPDsNBNf2xiKlMzmUMs/d0FISo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":522525},"main":"./dist/src/index.js","type":"module","types":"./dist/src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","default":"./dist/src/index.js"},"./package.json":"./package.json"},"gitHead":"61a3037166135e7aedba5068b6560dbb322c0f6f","scripts":{"dev":"tsx bin/homogenous.ts chat","test":"node --import tsx/esm --test test/**/*.test.ts","build":"tsc","prepack":"npm run build","prepare":"npm run build","typecheck":"tsc --noEmit","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"codexgamerz","email":"aryansinha1920@gmail.com"},"repository":{"url":"git+https://github.com/CODExGAMERZ/homogenous.git","type":"git"},"_npmVersion":"11.16.0","description":"Enterprise-grade local-first CLI coding assistant powered by multi-provider LLM inference, dynamic skills, and MCP tools","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ink":"^7.1.1","zod":"^4.4.3","yaml":"^2.9.0","chalk":"^5.6.2","react":"^19.2.8","yargs":"^18.0.0","dotenv":"^17.4.2","cross-spawn":"^7.0.6","ink-spinner":"^5.0.0","js-tiktoken":"^1.0.21","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","@anthropic-ai/sdk":"^0.114.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","typescript":"^7.0.2","@types/node":"^26.1.1","@types/react":"^19.2.17","@types/yargs":"^17.0.35","@types/cross-spawn":"^6.0.6"},"_npmOperationalInternal":{"tmp":"tmp/homogenous_4.2.5_1787617285934_0.7230413860445815","host":"s3://npm-registry-packages-npm-production"}},"4.2.6":{"name":"@codexgamerz/homogenous","version":"4.2.6","keywords":["cli","ai","agent","coding-assistant","ollama","anthropic","openai","mcp","developer-tools"],"author":{"name":"CODExGAMERZ"},"license":"MIT","_id":"@codexgamerz/homogenous@4.2.6","maintainers":[{"name":"codexgamerz","email":"aryansinha1920@gmail.com"}],"homepage":"https://github.com/CODExGAMERZ/homogenous#readme","bugs":{"url":"https://github.com/CODExGAMERZ/homogenous/issues"},"bin":{"homogenous":"dist/bin/homogenous.js"},"dist":{"shasum":"7ee2342ab76fe7f1717311b2f255e391709bd981","tarball":"https://registry.npmjs.org/@codexgamerz/homogenous/-/homogenous-4.2.6.tgz","fileCount":172,"integrity":"sha512-4/EoxIG2gAJ5dz9FeZZxo9nYOl2k8AThFJdV24HHuVhqpX69ARlcZZUVBLloVYJWDTEhHAtpGraa3eTK5o8bPQ==","signatures":[{"sig":"MEYCIQCVk2z0EWV48VhwrwcmOGt844L3PP9XgJwJ3m9Qsf7oWQIhAKtafVzSgf+d58lAmi4Jv+Oh+rngGlymlynNAxT6h7Jk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":522416},"main":"./dist/src/index.js","type":"module","types":"./dist/src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","default":"./dist/src/index.js"},"./package.json":"./package.json"},"gitHead":"19fec01f7d832aa3c20d1f4613e3d8d7c8055aaa","scripts":{"dev":"tsx bin/homogenous.ts chat","test":"node --import tsx/esm --test test/**/*.test.ts","build":"tsc","prepack":"npm run build","prepare":"npm run build","typecheck":"tsc --noEmit","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"codexgamerz","email":"aryansinha1920@gmail.com"},"repository":{"url":"git+https://github.com/CODExGAMERZ/homogenous.git","type":"git"},"_npmVersion":"11.16.0","description":"Enterprise-grade local-first CLI coding assistant powered by multi-provider LLM inference, dynamic skills, and MCP tools","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ink":"^7.1.1","zod":"^4.4.3","yaml":"^2.9.0","chalk":"^5.6.2","react":"^19.2.8","yargs":"^18.0.0","dotenv":"^17.4.2","cross-spawn":"^7.0.6","ink-spinner":"^5.0.0","js-tiktoken":"^1.0.21","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","@anthropic-ai/sdk":"^0.114.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","typescript":"^7.0.2","@types/node":"^26.1.1","@types/react":"^19.2.17","@types/yargs":"^17.0.35","@types/cross-spawn":"^6.0.6"},"_npmOperationalInternal":{"tmp":"tmp/homogenous_4.2.6_1787617550953_0.10334022566563705","host":"s3://npm-registry-packages-npm-production"}},"4.2.7":{"name":"@codexgamerz/homogenous","version":"4.2.7","keywords":["cli","ai","agent","coding-assistant","ollama","anthropic","openai","mcp","developer-tools"],"author":{"name":"CODExGAMERZ"},"license":"MIT","_id":"@codexgamerz/homogenous@4.2.7","maintainers":[{"name":"codexgamerz","email":"aryansinha1920@gmail.com"}],"homepage":"https://github.com/CODExGAMERZ/homogenous#readme","bugs":{"url":"https://github.com/CODExGAMERZ/homogenous/issues"},"bin":{"homogenous":"dist/bin/homogenous.js"},"dist":{"shasum":"fe11a0c6756ab4a3bdbe8a72d4234309a786d136","tarball":"https://registry.npmjs.org/@codexgamerz/homogenous/-/homogenous-4.2.7.tgz","fileCount":172,"integrity":"sha512-A1vyWEgcblCmylXvHSopzxD6sA/TYsBCKgqK+2NcOLDi75+ek9MHs2biEaWryPtA1BqsH3mYruiM1Ccop8latw==","signatures":[{"sig":"MEUCIBjoGCyLrDHsAlYyjI2fjLUOa10JMea8t4UR1zz12B0qAiEA+JyzFL5EHzu77zqceg9cIhgOctIq+xJjCeQJDDKbMRg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":521241},"main":"./dist/src/index.js","type":"module","types":"./dist/src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","default":"./dist/src/index.js"},"./package.json":"./package.json"},"gitHead":"031e63dbc4dbbde2b492e9c2a4ec471ab2b6c846","scripts":{"dev":"tsx bin/homogenous.ts chat","test":"node --import tsx/esm --test test/**/*.test.ts","build":"tsc","prepack":"npm run build","prepare":"npm run build","typecheck":"tsc --noEmit","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"codexgamerz","email":"aryansinha1920@gmail.com"},"repository":{"url":"git+https://github.com/CODExGAMERZ/homogenous.git","type":"git"},"_npmVersion":"11.16.0","description":"Enterprise-grade local-first CLI coding assistant powered by multi-provider LLM inference, dynamic skills, and MCP tools","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ink":"^7.1.1","zod":"^4.4.3","yaml":"^2.9.0","chalk":"^5.6.2","react":"^19.2.8","yargs":"^18.0.0","dotenv":"^17.4.2","cross-spawn":"^7.0.6","ink-spinner":"^5.0.0","js-tiktoken":"^1.0.21","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","@anthropic-ai/sdk":"^0.114.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","typescript":"^7.0.2","@types/node":"^26.1.1","@types/react":"^19.2.17","@types/yargs":"^17.0.35","@types/cross-spawn":"^6.0.6"},"_npmOperationalInternal":{"tmp":"tmp/homogenous_4.2.7_1787617853434_0.8373965120898823","host":"s3://npm-registry-packages-npm-production"}},"4.3.0":{"name":"@codexgamerz/homogenous","version":"4.3.0","keywords":["cli","ai","agent","coding-assistant","ollama","anthropic","openai","mcp","developer-tools"],"author":{"name":"CODExGAMERZ"},"license":"MIT","_id":"@codexgamerz/homogenous@4.3.0","maintainers":[{"name":"codexgamerz","email":"aryansinha1920@gmail.com"}],"homepage":"https://github.com/CODExGAMERZ/homogenous#readme","bugs":{"url":"https://github.com/CODExGAMERZ/homogenous/issues"},"bin":{"homogenous":"dist/bin/homogenous.js"},"dist":{"shasum":"4c291c084a0608aa88cb0ca7fefd7e162c7e0b9b","tarball":"https://registry.npmjs.org/@codexgamerz/homogenous/-/homogenous-4.3.0.tgz","fileCount":180,"integrity":"sha512-DTcv0ZsmvWeOWSkA6zqVeIwr3u/QfjQGr2q0dVHgLWhrK7M2gIGosr6+S41Nt6RDLXRKDyLdUeVrpa56zZSU+g==","signatures":[{"sig":"MEQCIHBHtqsLsS2lFjFhJjzm8mAku0Uz+xk8WuIkGdtZa7YyAiAvjbBiCoZwvRN10IDmLMERXBvbyMuXJ6hQHcy5fysUgA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":553934},"main":"./dist/src/index.js","type":"module","types":"./dist/src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","default":"./dist/src/index.js"},"./package.json":"./package.json"},"gitHead":"06c360fae036dae0c12ed35b1308161c11f2a658","scripts":{"dev":"tsx bin/homogenous.ts chat","test":"node --import tsx/esm --import ./test/test_setup.ts --test test/**/*.test.ts","build":"tsc","prepack":"npm run build","prepare":"npm run build","typecheck":"tsc --noEmit","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"codexgamerz","email":"aryansinha1920@gmail.com"},"repository":{"url":"git+https://github.com/CODExGAMERZ/homogenous.git","type":"git"},"_npmVersion":"11.16.0","description":"Enterprise-grade local-first CLI coding assistant powered by multi-provider LLM inference, dynamic skills, and MCP tools","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ink":"^7.1.1","zod":"^4.4.3","yaml":"^2.9.0","chalk":"^5.6.2","react":"^19.2.8","yargs":"^18.0.0","dotenv":"^17.4.2","cross-spawn":"^7.0.6","ink-spinner":"^5.0.0","js-tiktoken":"^1.0.21","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","@anthropic-ai/sdk":"^0.114.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","typescript":"^7.0.2","@types/node":"^26.1.1","@types/react":"^19.2.17","@types/yargs":"^17.0.35","@types/cross-spawn":"^6.0.6"},"_npmOperationalInternal":{"tmp":"tmp/homogenous_4.3.0_1788516440471_0.14555940052814575","host":"s3://npm-registry-packages-npm-production"}},"4.3.1":{"_id":"@codexgamerz/homogenous@4.3.1","bin":{"homogenous":"dist/bin/homogenous.js"},"bugs":{"url":"https://github.com/CODExGAMERZ/homogenous/issues"},"dist":{"shasum":"4ed35a299887085ebb9aad95eebd7f39b64c345d","tarball":"https://registry.npmjs.org/@codexgamerz/homogenous/-/homogenous-4.3.1.tgz","fileCount":180,"integrity":"sha512-RT2Mt06aW9TsL5bNRLmTr4bF547GOxUhfcBz37mnY2694RAflj+7jZ+ZeVbJRP3TmWR5RqS2FHKVy9HJ2H6cOQ==","signatures":[{"sig":"MEYCIQCU3mmOLonx96CJEXL3yQI3L8R7lYL8ZgQDsemgx0DaSgIhAMpKBppVBlvAA8tl3Z7iQaH9eLqsg/E4rzKgyIqk+ERS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIExBHSaS+wTQSY/DLKvOrFk07OOehuVP1OzsUuHJbnkqAiEA/QJ5d2EhgvkCt7pxLp8S7UQi0TFdw3ek3wO0kijf78k="}],"unpackedSize":561719},"main":"./dist/src/index.js","name":"@codexgamerz/homogenous","type":"module","types":"./dist/src/index.d.ts","author":{"name":"CODExGAMERZ"},"engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","default":"./dist/src/index.js"},"./package.json":"./package.json"},"gitHead":"10bac155d68a0149432fcf9c29fa4abb3a75a395","license":"MIT","scripts":{"dev":"tsx bin/homogenous.ts chat","test":"node --import tsx/esm --import ./test/test_setup.ts --test test/**/*.test.ts","build":"tsc","prepack":"npm run build","prepare":"npm run build","typecheck":"tsc --noEmit","prepublishOnly":"npm run test && npm run build"},"version":"4.3.1","_npmUser":{"name":"codexgamerz","email":"aryansinha1920@gmail.com"},"homepage":"https://github.com/CODExGAMERZ/homogenous#readme","keywords":["cli","ai","agent","coding-assistant","ollama","anthropic","openai","mcp","developer-tools"],"repository":{"url":"git+https://github.com/CODExGAMERZ/homogenous.git","type":"git"},"_npmVersion":"11.16.0","description":"Enterprise-grade local-first CLI coding assistant powered by multi-provider LLM inference, dynamic skills, and MCP tools","directories":{},"maintainers":[{"name":"codexgamerz","email":"aryansinha1920@gmail.com"}],"_nodeVersion":"24.16.0","dependencies":{"ink":"^7.1.1","zod":"^4.4.3","yaml":"^2.9.0","chalk":"^5.6.2","react":"^19.2.8","yargs":"^18.0.0","dotenv":"^17.4.2","cross-spawn":"^7.0.6","ink-spinner":"^5.0.0","js-tiktoken":"^1.0.21","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","@anthropic-ai/sdk":"^0.114.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","typescript":"^7.0.2","@types/node":"^26.1.1","@types/react":"^19.2.17","@types/yargs":"^17.0.35","@types/cross-spawn":"^6.0.6"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/homogenous_4.3.1_1789439079551_0.7823418866129306"}}},"time":{"created":"2026-08-15T16:32:27.382Z","modified":"2026-09-15T02:24:39.763Z","4.0.0":"2026-08-15T16:32:27.736Z","4.0.1":"2026-08-16T21:29:06.782Z","4.0.2":"2026-08-16T21:36:28.358Z","4.0.3":"2026-08-20T19:46:41.573Z","4.1.0":"2026-08-21T10:56:01.523Z","4.2.0":"2026-08-24T18:27:09.722Z","4.2.5":"2026-08-25T00:21:26.080Z","4.2.6":"2026-08-25T00:25:51.086Z","4.2.7":"2026-08-25T00:30:53.651Z","4.3.0":"2026-09-04T10:07:20.663Z","4.3.1":"2026-09-15T02:24:39.630Z"},"bugs":{"url":"https://github.com/CODExGAMERZ/homogenous/issues"},"author":{"name":"CODExGAMERZ"},"license":"MIT","homepage":"https://github.com/CODExGAMERZ/homogenous#readme","keywords":["cli","ai","agent","coding-assistant","ollama","anthropic","openai","mcp","developer-tools"],"repository":{"url":"git+https://github.com/CODExGAMERZ/homogenous.git","type":"git"},"description":"Enterprise-grade local-first CLI coding assistant powered by multi-provider LLM inference, dynamic skills, and MCP tools","maintainers":[{"name":"codexgamerz","email":"aryansinha1920@gmail.com"}],"readme":"# ✦ HOMOGENOUS (v4.3.1)\n\n### The Enterprise-Grade, Local-First, Zero-Overhead Agentic CLI Coding Assistant\n\n[![NPM Version](https://img.shields.io/npm/v/@codexgamerz/homogenous?style=for-the-badge&logo=npm&color=CB3837)](https://www.npmjs.com/package/@codexgamerz/homogenous)\n[![License: MIT](https://img.shields.io/badge/LICENSE-MIT-39FF14?style=for-the-badge)](LICENSE)\n[![TypeScript 5.0+](https://img.shields.io/badge/TYPESCRIPT-5.0+-3178C6?style=for-the-badge&logo=typescript&logoColor=white)](https://www.typescriptlang.org/)\n[![Node.js 20+](https://img.shields.io/badge/NODE.JS-20+-339933?style=for-the-badge&logo=nodedotjs&logoColor=white)](https://nodejs.org/)\n[![Tests: 116 Passed](https://img.shields.io/badge/TESTS-116%20PASSED-39FF14?style=for-the-badge)](test/)\n[![Security: Zero-Trust Sandbox](https://img.shields.io/badge/SECURITY-ZERO--TRUST%20SANDBOX-FF007F?style=for-the-badge)](https://github.com/CODExGAMERZ/homogenous)\n\n```text\n  ██╗  ██╗ ██████╗ ███╗   ███╗██████╗  ██████╗ ███████╗███╗   ██╗██████╗ ██╗  ██╗███████╗\n  ██║  ██║██╔═══██╗████╗ ████║██╔═══██╗██╔════╝██╔════╝████╗  ██║██╔═══██╗██║  ██║██╔════╝\n  ███████║██║   ██║██╔████╔██║██║   ██║██║  ███╗█████╗  ██╔██╗ ██║██║   ██║██║  ██║███████╗\n  ██╔══██║██║   ██║██║╚██╔╝██║██║   ██║██║   ██║██╔══╝  ██║╚██╗██║██║   ██║██║  ██║╚════██║\n  ██║  ██║╚██████╔╝██║ ╚═╝ ██║╚██████╔╝╚██████╔╝███████╗██║ ╚████║╚██████╔╝╚█████╔╝███████║\n  ╚═╝  ╚═╝ ╚═════╝ ╚═╝     ╚═╝ ╚═════╝  ╚═════╝ ╚══════╝╚═╝  ╚═══╝ ╚═════╝  ╚════╝ ╚══════╝\n                        ✦ LOCAL-FIRST AGENTIC CODING ASSISTANT ✦\n```\n\n**Homogenous** is an enterprise-grade, local-first, zero-overhead agentic CLI coding assistant built from the ground up with TypeScript, Node.js, and React Ink. Designed for privacy-conscious developers and terminal power users, Homogenous gives you complete control over your AI backends — unifying offline local inference engines (**Ollama**, **LM Studio**) with 9 frontier cloud providers, Model Context Protocol (MCP) tool integrations, sub-agent delegation, dynamic skill extensions, persistent project memory, live token cost accounting, silky-smooth 60 FPS streaming, and zero-trust security sandboxing.\n\n---\n\n## 📋 Table of Contents\n\n1. [✦ Executive Summary & Design Philosophy](#-executive-summary--design-philosophy)\n2. [🏗️ End-to-End System Architecture](#️-end-to-end-system-architecture)\n3. [🛡️ Enterprise Zero-Leak Security Vault](#️-enterprise-zero-leak-security-vault)\n4. [🧠 11 Multi-Provider Inference Engines](#-11-multi-provider-inference-engines)\n5. [🛠️ 11 Autonomous Core Tools + Sub-Agent Delegation + MCP](#️-11-autonomous-core-tools--sub-agent-delegation--mcp)\n6. [🤖 Sub-Agent Delegation Engine](#-sub-agent-delegation-engine)\n7. [🩺 System Diagnostics & Health (`/doctor`)](#-system-diagnostics--health-doctor)\n8. [🎨 Dynamic 6-Theme Palette Engine (`/theme`)](#-dynamic-6-theme-palette-engine-theme)\n9. [🔌 Real MCP Prompts & Resources Engine](#-real-mcp-prompts--resources-engine)\n10. [💾 Persistent Project Memory & Dynamic Skills](#-persistent-project-memory--dynamic-skills)\n11. [💰 Token Budget Management & Accounting (`/budget`)](#-token-budget-management--accounting-budget)\n12. [⚡ Non-Interactive Oneshot Agent Mode](#-non-interactive-oneshot-agent-mode)\n13. [🔄 Dual Execution & Interactive Plan Modes](#-dual-execution--interactive-plan-modes)\n14. [⌨️ Keyboard Shortcuts Reference](#️-keyboard-shortcuts-reference)\n15. [📜 Complete Slash Commands Manual](#-complete-slash-commands-manual)\n16. [⚙️ Configuration Reference (`.toolrc.yaml` & `.mcp.json`)](#️-configuration-reference-toolrcyaml--mcpjson)\n17. [📦 Installation & Setup Guide](#-installation--setup-guide)\n18. [📁 Codebase Directory Structure](#-codebase-directory-structure)\n19. [💻 Programmatic API & SDK Usage](#-programmatic-api--sdk-usage)\n20. [🧪 Test Suite & Verification (116 Tests)](#-test-suite--verification-116-tests)\n21. [📄 License](#-license)\n\n---\n\n## ✦ Executive Summary & Design Philosophy\n\n**Homogenous** is designed for engineers who demand total workspace agency, extreme responsiveness, multi-model flexibility, and enterprise security.\n\nUnlike cloud-dependent extensions or heavy web wrappers, Homogenous runs **directly inside your local terminal**, interfacing with your local file system, git repository, shell, and custom tools.\n\n```\n ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮\n │ ✦ HOMOGENOUS AGENT v4.3.1 (Local-First Assistant)                                     workspace: /projects/core [main] │\n │ model: nvidia/deepseek-ai/deepseek-r1 [671B]                               session: 1.4k tok | $0.002 | 14 loc / 0 cld │\n ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\n  ✦ Ctrl+P:Plan | Ctrl+U:Undo | Ctrl+D:Diff | Ctrl+O:Model | Ctrl+A:Auto | Ctrl+L:Clear | Esc:Exit\n ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮\n │ homogenous > @src/auth/jwt.ts fix expiration timestamp race condition and add unit tests                               │\n ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\n```\n\n### Core Tenets:\n1. **Local-First & Zero-Trust**: Your source code stays on your machine. File operations, git diffs, shell runs, and search indexing happen locally with strict workspace containment and symlink protections.\n2. **Bring Your Own Key (BYOK) & True Permanence**: Connect any cloud provider (`nvidia`, `groq`, `anthropic`, `openai`, `deepseek`, `mistral`, `together`, `openrouter`) or air-gapped local server (`ollama`, `lmstudio`). Keys remain active indefinitely until explicitly unregistered.\n3. **Zero-Leak Security**: Credentials stored at rest are encrypted with machine-bound **AES-256-GCM** encryption (`0600` permissions) and synchronized with OS Keychains. Third-party MCP servers are isolated and never receive parent API keys.\n4. **Full Autonomous Agency**: When given a prompt, Homogenous inspects files, edits code, runs builds, test suites, handles errors, and iterates until the feature is complete.\n\n---\n\n## 🏗️ End-to-End System Architecture\n\n```\n                                  ┌──────────────────────────────────────────────┐\n                                  │            USER TERMINAL (CLI REPL)          │\n                                  └──────────────────────────────────────────────┘\n                                                          │\n                             ┌────────────────────────────┴────────────────────────────┐\n                             ▼                                                         ▼\n            ┌──────────────────────────────────┐                      ┌──────────────────────────────────┐\n            │   REACTIVE 60 FPS INK FRONTEND   │                      │    AUTOCOMPLETE SUGGESTION BOX   │\n            │  • Live Markdown Table Parsing   │                      │  • 671B->1B Parameter Sorting    │\n            │  • Real-time Streaming Words     │                      │  • Active-Credential Filtering   │\n            │  • Dynamic 6-Theme Palettes      │                      │  • Non-Blocking Cursor Cycling   │\n            └──────────────────────────────────┘                      └──────────────────────────────────┘\n                             │                                                         │\n                             └────────────────────────────┬────────────────────────────┘\n                                                          ▼\n                                          ┌───────────────────────────────┐\n                                          │      SLASH COMMAND ROUTER     │\n                                          │  • /doctor, /theme, /budget   │\n                                          │  • /mcp, /memory, /skills     │\n                                          │  • /login, /logout, /model    │\n                                          └───────────────────────────────┘\n                                                          │\n                                                          ▼\n                                          ┌───────────────────────────────┐\n                                          │     AUTONOMOUS AGENT LOOP     │\n                                          │  • Persistent Memory Prefix   │\n                                          │  • Word-by-Word Delta Stream  │\n                                          │  • Tool Result Aggregation    │\n                                          │  • Token Budget Compactor     │\n                                          └───────────────────────────────┘\n                                            │             │             │\n                    ┌───────────────────────┘             │             └───────────────────────────┐\n                    ▼                                     ▼                                         ▼\n   ┌──────────────────────────────────┐  ┌──────────────────────────────────┐  ┌──────────────────────────────────┐\n   │       11 WORKSPACE TOOLS         │  │     SUB-AGENT DELEGATION         │  │     MODEL CONTEXT PROTOCOL       │\n   │  • read_file, write_file         │  │  • Bounded Turn Execution        │  │  • Stdio Transport Isolation    │\n   │  • replace_file_content          │  │  • Recursive Loop Prevention     │  │  • Tool, Prompt & Resource API │\n   │  • grep_search, glob_files       │  │  • Output Stream Isolation       │  │  • In-Memory ResourceCache      │\n   │  • git_status, git_diff, git_log │  └──────────────────────────────────┘  └──────────────────────────────────┘\n   │  • shell_execute, web_fetch      │\n   └──────────────────────────────────┘\n                    │                                     │                                         │\n                    └─────────────────────────────────────┼─────────────────────────────────────────┘\n                                                          ▼\n                                          ┌───────────────────────────────┐\n                                          │    11 INFERENCE PROVIDERS     │\n                                          │  • Offline: Ollama, LM Studio │\n                                          │  • Cloud: Anthropic, OpenAI,  │\n                                          │    NVIDIA, Groq, DeepSeek,    │\n                                          │    Mistral, Together, Router  │\n                                          └───────────────────────────────┘\n```\n\n---\n\n## 🛡️ Enterprise Zero-Leak Security Vault\n\nHomogenous features an enterprise-grade zero-trust security architecture:\n\n1. **Hardware-Bound AES-256-GCM Vault**:\n   - API keys are encrypted at rest in `~/.homogenous/keys.json` using AES-256-GCM authenticated encryption.\n   - The key is derived uniquely per machine using a combination of hostname, username, and OS machine seed.\n2. **OS Keychain Synchronization**:\n   - Keys are automatically synchronized with the native OS Keychain (macOS Keychain, Windows Credential Manager, Linux Secret Service).\n3. **Child Process Environment Sanitization**:\n   - When spawning shell commands or third-party MCP servers, Homogenous scrubs all API keys and authorization tokens from the inherited environment variables.\n4. **Zero Plaintext In-Terminal Exposure**:\n   - Prompts containing `/login` have their secrets redacted in history (`●●●●●●●●`).\n   - `/doctor` displays credential presence only (`[Configured ✓]`), never exposing keys.\n5. **SSRF & Network Shield**:\n   - The `web_fetch` tool validates IP resolution, blocking loopback (`127.0.0.1`), link-local (`169.254.169.254`), private RFC1918 subnets, IPv4-mapped IPv6, and cloud metadata endpoints.\n6. **Workspace Containment**:\n   - File tools enforce directory boundary checks, blocking path traversal (`../`) and unauthorized access outside the workspace root.\n\n---\n\n## 🧠 11 Multi-Provider Inference Engines\n\nHomogenous unifies local offline LLMs and frontier cloud APIs behind a single normalized interface:\n\n| Provider | Type | Typical Latency | Supported Models |\n| :--- | :--- | :--- | :--- |\n| **Ollama** | Offline Local | 5–20 ms TTFT | `llama3.3`, `qwen2.5-coder`, `deepseek-r1:14b`, `codellama`, etc. |\n| **LM Studio** | Offline Local | 5–20 ms TTFT | Any GGUF model loaded in LM Studio on `localhost:1234` |\n| **NVIDIA NIM** | Cloud API | ~180 ms TTFT | `deepseek-ai/deepseek-r1` (671B), `meta/llama-3.3-70b-instruct` |\n| **Groq** | Cloud API | ~80 ms TTFT | `llama-3.3-70b-versatile`, `mixtral-8x7b-32768` |\n| **Anthropic** | Cloud API | ~350 ms TTFT | `claude-3-7-sonnet-20250219`, `claude-3-5-haiku-20241022` |\n| **OpenAI** | Cloud API | ~250 ms TTFT | `gpt-4o`, `gpt-4o-mini`, `o1`, `o3-mini` |\n| **DeepSeek** | Cloud API | ~220 ms TTFT | `deepseek-chat`, `deepseek-reasoner` |\n| **OpenRouter** | Cloud API | ~300 ms TTFT | Aggregated access to 200+ frontier & open models |\n| **Mistral AI** | Cloud API | ~200 ms TTFT | `mistral-large-latest`, `codestral-latest` |\n| **Together AI**| Cloud API | ~150 ms TTFT | `meta-llama/Llama-3.3-70B-Instruct-Turbo`, `Qwen/Qwen2.5-Coder-32B` |\n| **Mock** | In-Memory | 1 ms | Deterministic test mock provider for headless CI/CD |\n\n---\n\n## 🛠️ 11 Autonomous Core Tools + Sub-Agent Delegation + MCP\n\nHomogenous comes equipped with 11 native workspace tools:\n\n| Tool Name | Scope | Description |\n| :--- | :--- | :--- |\n| `read_file` | Local FS | Read complete or line-range slices of files with middle elision on long outputs. |\n| `write_file` | Local FS | Atomically create new files or perform full file rewrites. |\n| `replace_file_content` | Local FS | Perform exact string replacements preserving line structure and special symbols (`$`). |\n| `list_dir` | Local FS | Recursively list directory trees, file sizes, and directory entry counts. |\n| `glob_files` | Local FS | Fast pattern search using wildcards (e.g., `src/**/*.ts`, `*.json`). |\n| `grep_search` | Local FS | High-speed regex or literal content search (native `rg` or JavaScript fallback). |\n| `git_status` | Version Control | Inspect working tree dirty state, staged changes, and untracked files. |\n| `git_diff` | Version Control | Review staged or unstaged diffs with file snapshot rollback support. |\n| `git_log` | Version Control | Inspect recent commit history, author metadata, and commit hashes. |\n| `shell_execute` | Sandbox | Run terminal commands, test runners, and build scripts with zero-trust checks. |\n| `web_fetch` | Network | Fetch external documentation and web pages with SSRF prevention and HTML-to-text conversion. |\n| `delegate_task` | Agent Engine | Spawn an isolated sub-agent with bounded turns to perform deep research or triage. |\n\n---\n\n## 🤖 Sub-Agent Delegation Engine\n\nThe `delegate_task` tool allows the primary agent to spawn focused, autonomous sub-agents for isolated tasks without cluttering the main conversation window.\n\n### Key Capabilities:\n- **Bounded Execution**: Sub-agents operate with an explicit `maxTurns` limit (default: 8), preventing runaway API spend.\n- **Recursion Guard (`disableSubAgent: true`)**: Child agents are structurally prohibited from calling `delegate_task`, guaranteeing zero infinite delegation loops.\n- **TUI Output Isolation**: When running inside the interactive Ink terminal, sub-agents execute in silent mode to prevent raw stdout from corrupting the raw-mode terminal display.\n- **Automated Summarization**: Sub-agents distill their multi-turn exploration and return a concise summary report to the parent agent.\n\n```bash\n# Example agent prompt that invokes sub-agent delegation:\nhomogenous > \"Audit all dependencies in package.json for known vulnerabilities and report findings\"\n```\n\n---\n\n## 🩺 System Diagnostics & Health (`/doctor`)\n\nThe `/doctor` command performs an instant, comprehensive health check across your entire development environment:\n\n```bash\n/doctor\n```\n\n```text\n🩺 Homogenous System Diagnostics & Environment Health Report\n────────────────────────────────────────────────────────────\n• Node.js Runtime:     v20.18.0 [✓ OK]\n• Operating System:    win32 (Windows_NT 10.0.26100, x64)\n• Terminal / TTY:      Interactive TTY (140x35)\n• Workspace Path:      C:/Users/codex/Music/CLI Tool\n• Git Repository:      Branch 'main' (0 uncommitted changes)\n• Fast Search (rg):    Native binary available (ripgrep 14.1.0)\n• GPU / VRAM:          NVIDIA GPU Active (4.2GB / 12.0GB VRAM used)\n• Local Ollama:        Online at http://localhost:11434 (8 models loaded)\n• Local LM Studio:     Online at http://localhost:1234 (2 models loaded)\n• Cloud Providers:     anthropic [Configured ✓], groq [Configured ✓]\n• MCP Configuration:   2 server(s) configured (filesystem, github)\n• Project Memory:      4 stored fact(s) in .agentmemory/facts.json\n────────────────────────────────────────────────────────────\nDiagnostics complete. System is healthy.\n```\n\n### Probes Evaluated:\n1. **Node.js Engine**: Verifies version `>= 20.0.0`.\n2. **Git Repository**: Inspects active branch, repo root, and uncommitted changes.\n3. **Ripgrep (`rg`)**: Detects native binary presence vs JS fallback.\n4. **GPU / VRAM Probe**: Probes NVIDIA GPU VRAM via non-blocking `getVramInfo()` (or CPU mode).\n5. **Local LLM Daemons**: Non-blocking ping (600ms timeout) to Ollama and LM Studio.\n6. **Keychain Vault**: Audits configured provider credentials with complete key redaction.\n7. **MCP Configuration**: Parses `.mcp.json` and verifies active servers.\n8. **Persistent Memory**: Verifies `.agentmemory/facts.json` fact counts.\n\n---\n\n## 🎨 Dynamic 6-Theme Palette Engine (`/theme`)\n\nHomogenous includes 6 hand-crafted terminal color palettes designed for maximum legibility and rich aesthetics:\n\n| Theme ID | Primary Color | Secondary Color | Aesthetic Vibe |\n| :--- | :--- | :--- | :--- |\n| `neon` | `#00F0FF` (Cyan) | `#FF2ED1` (Magenta) | Cyberpunk high-contrast neon (Default) |\n| `cyberpunk` | `#FFE600` (Yellow) | `#00E5FF` (Cyan) | Electric industrial cyber aesthetic |\n| `dracula` | `#BD93F9` (Purple) | `#FF79C6` (Pink) | Classic dark gothic palette with green accents |\n| `nord` | `#88C0D0` (Frost) | `#81A1C1` (Blue) | Arctic frost and calm slate tones |\n| `monokai` | `#66D9EF` (Cyan) | `#F92672` (Rose) | Classic warm code editor theme |\n| `plain` | `cyan` | `magenta` | Standard 16-color ANSI terminal fallback |\n\n### Usage:\n```bash\n/theme                                      # List available themes and show active palette\n/theme dracula                              # Instantly switch to Dracula theme\n/theme nord                                 # Switch to Nord theme\n/theme cyberpunk                            # Switch to Cyberpunk theme\n```\n\n> [!NOTE]\n> **Strict `NO_COLOR` Compliance**: When `NO_COLOR` is set in your environment or when running in non-TTY pipelines, Homogenous automatically forces the `plain` monochrome theme, adhering strictly to the [NO_COLOR standard](https://no-color.org).\n\n---\n\n## 🔌 Real MCP Prompts & Resources Engine\n\nHomogenous integrates with the **Model Context Protocol (MCP)**, supporting Tools, Prompts, and Resources:\n\n```bash\n/mcp list                                   # View connected MCP servers and active tools\n/mcp reload                                 # Reconnect transports and discover newly added tools\n/mcp prompts                                # List all prompt templates exposed by connected servers\n/mcp prompt <server> <prompt-name> [k=v]    # Invoke an MCP prompt template into conversation\n/mcp resources                              # Browse available MCP resources\n```\n\n### In-Memory Resource Cache (`ResourceCache`)\nWhen resources are read via MCP, they are cached in memory with automatic TTL expiration, middle-elided for token limits, and recorded in the token budget ledger.\n\n---\n\n## 💾 Persistent Project Memory & Dynamic Skills\n\n### 1. Persistent Memory Injection\nUnlike traditional CLI tools where context is lost between sessions, Homogenous maintains `.agentmemory/facts.json` per project.\n\nThese facts are **automatically injected into the system prompt prefix** at runtime:\n```bash\n/memory list                                # View all saved facts for this repository\n/memory add \"Project uses ESM imports only\" # Save architectural fact\n/memory remove <id>                         # Remove specific fact\n/memory clear                               # Clear all project memory\n```\n\n### 2. Dynamic Skills System\nModular skill packs extend the agent's capabilities with specialized domain prompts and tools:\n```bash\n/skills list                                # View installed and bundled skills\n/skills install <path-or-repo>              # Install a custom skill pack\n/skills create <name>                       # Scaffold a new custom skill\n/skills remove <name>                       # Uninstall a skill pack\n```\n\n---\n\n## 💰 Token Budget Management & Accounting (`/budget`)\n\nTrack every token and dollar spent with millisecond precision:\n\n```bash\n/cost                                       # Quick one-line spend summary\n/budget                                     # View session utilization meter\n/budget --report                            # Detailed breakdown (input, output, cache hits, calls)\n/budget set 10.00                           # Set session spending ceiling to $10.00 USD\n/budget reset                               # Clear records and reset spend counters to $0.00\n```\n\n---\n\n## ⚡ Non-Interactive Oneshot Agent Mode\n\nAutomate builds, refactors, and investigations in CI/CD pipelines or shell scripts without launching the interactive Ink TUI:\n\n```bash\n# 1. Simple streaming completion:\nhomogenous oneshot \"Explain the difference between interface and type in TypeScript\"\n\n# 2. Autonomous Agent Execution (with tools, edits, and tests):\nhomogenous oneshot \"Run test suite and fix any failing assertions\" --agent\n\n# 3. Model Override with Agent Mode:\nhomogenous oneshot \"Analyze codebase dependencies and output a summary table\" -m anthropic/claude-3-5-haiku-20241022 -a\n```\n\n---\n\n## 🔄 Dual Execution & Interactive Plan Modes\n\nHomogenous provides two execution flows depending on task complexity:\n\n### 1. Direct Execution Mode (Normal / Auto)\n- Prompts execute immediately.\n- In **Normal Mode**, shell executions and destructive operations require explicit user approval.\n- In **Auto Mode** (`/auto` or `Ctrl+A`), allowlisted workspace tools execute autonomously.\n\n### 2. Interactive Planning Mode (`/plan` or `Ctrl+P`)\n- The agent formulates a structured step-by-step implementation plan.\n- The plan outlines affected files, components, and actions (`[NEW]`, `[MODIFY]`, `[DELETE]`).\n- Execute steps interactively using `/apply` or abandon with `/plan off`.\n- Any file edit can be instantly undone using `/undo` or `Ctrl+U`.\n\n---\n\n## ⌨️ Keyboard Shortcuts Reference\n\n| Shortcut | Action | Description |\n| :--- | :--- | :--- |\n| `Ctrl+P` | `/plan` | Toggle interactive Planning Mode on/off |\n| `Ctrl+U` | `/undo` | Roll back the most recent file edit snapshot |\n| `Ctrl+D` | `/diff` | Display colorized git diff of all session changes |\n| `Ctrl+O` | `/model` | Open dynamic model picker |\n| `Ctrl+A` | `/auto` | Toggle autonomous auto-approval mode |\n| `Ctrl+L` | `/clear` | Clear terminal conversation feed |\n| `Tab` / `Shift+Tab` | Cycling | Cycle forward/backward through autocomplete suggestions |\n| `Esc` | `/exit` | Exit the CLI session cleanly |\n\n---\n\n## 📜 Complete Slash Commands Manual\n\n| Command | Category | Usage | Description |\n| :--- | :--- | :--- | :--- |\n| `/doctor` | Utility | `/doctor` | Run full system environment and provider health diagnostics |\n| `/theme` | Config | `/theme [name]` | View or switch terminal theme (`neon`, `cyberpunk`, `dracula`, `nord`, `monokai`, `plain`) |\n| `/budget` | Session | `/budget [set <amt> \\| reset \\| --report]` | Manage token spending limits, view breakdown, or reset counters |\n| `/cost` | Session | `/cost` | Print token budget ledger breakdown and cost accounting |\n| `/mcp` | Config | `/mcp [list \\| reload \\| prompts \\| prompt <s\\> <p\\> \\| resources]` | Manage MCP servers, tools, prompt templates, and resources |\n| `/model` | Model | `/model [provider/model-id]` | Switch active inference model or list available models |\n| `/login` | Auth | `/login <provider> <key>` | Securely store provider API key in encrypted keychain vault |\n| `/logout` | Auth | `/logout <provider>` | Remove stored credentials for a provider |\n| `/plan` | Mode | `/plan [prompt]` | Formulate a multi-step structured implementation plan |\n| `/apply` | Mode | `/apply [all \\| step#]` | Execute planned steps interactively |\n| `/undo` | Edit | `/undo` | Revert the last file modification made by the agent |\n| `/diff` | Edit | `/diff` | Show colorized diff of unstaged/staged workspace edits |\n| `/memory` | Memory | `/memory [list \\| add <text> \\| remove <id> \\| clear]` | Manage persistent project memory facts |\n| `/skills` | Utility | `/skills [list \\| install <src> \\| create <name> \\| remove <name>]` | Manage dynamic skills packs |\n| `/mode` | Mode | `/mode [normal \\| auto \\| plan]` | Switch agent execution mode |\n| `/copy` | Utility | `/copy [index]` | Copy the latest generated code block to the OS clipboard |\n| `/clear` | Session | `/clear` | Clear terminal display feed |\n| `/help` | Utility | `/help` | Display interactive command manual |\n| `/exit` | Session | `/exit` | Exit Homogenous session |\n\n---\n\n## ⚙️ Configuration Reference (`.toolrc.yaml` & `.mcp.json`)\n\n### `.toolrc.yaml`\nPlace in your workspace root or `~/.homogenous/.toolrc.yaml` for global defaults:\n\n```yaml\n# Homogenous Global Configuration\nmode: normal # normal | auto | plan\ntheme: neon  # neon | cyberpunk | dracula | nord | monokai | plain\n\n# Token Budget Limits\nmaxSessionCostUSD: 5.00\n\n# Task-Based Model Routing\nrouting:\n  fastSearch: groq/llama-3.3-70b-versatile\n  complexEdit: anthropic/claude-3-7-sonnet-20250219\n  planning: anthropic/claude-3-7-sonnet-20250219\n  quickQuestion: groq/llama-3.3-70b-versatile\n  codeReview: anthropic/claude-3-7-sonnet-20250219\n\n# Security & Sandboxing\nsecurity:\n  allowShellExecution: true\n  autoApproveSafeCommands: false\n  blockedCommands:\n    - rm -rf /\n    - mkfs\n    - dd\n```\n\n### `.mcp.json`\nConfigure Model Context Protocol servers in your workspace root:\n\n```json\n{\n  \"mcpServers\": {\n    \"filesystem\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@modelcontextprotocol/server-filesystem\", \"./docs\"]\n    },\n    \"github\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@modelcontextprotocol/server-github\"],\n      \"env\": {\n        \"GITHUB_PERSONAL_ACCESS_TOKEN\": \"ghp_xxxxxxxxxxxx\"\n      }\n    }\n  }\n}\n```\n\n---\n\n## 📦 Installation & Setup Guide\n\n### Option 1: Global NPM Install (Recommended)\n```bash\nnpm install -g @codexgamerz/homogenous\n```\n\n### Option 2: Automated One-Line Installers\n**macOS / Linux**:\n```bash\ncurl -fsSL https://raw.githubusercontent.com/CODExGAMERZ/homogenous/main/install.sh | bash\n```\n\n**Windows (PowerShell)**:\n```powershell\nirm https://raw.githubusercontent.com/CODExGAMERZ/homogenous/main/install.ps1 | iex\n```\n\n### Option 3: From Source\n```bash\ngit clone https://github.com/CODExGAMERZ/homogenous.git\ncd homogenous\nnpm install\nnpm run build\nnpm link\n```\n\n---\n\n## 📁 Codebase Directory Structure\n\n```text\n.\n├── bin/\n│   └── homogenous.ts               # CLI Entrypoint (REPL & Oneshot CLI router)\n├── src/\n│   ├── index.ts                    # Public Programmatic SDK Exports\n│   ├── agent/                      # Autonomous Agent Execution Engine\n│   │   ├── AgentLoop.ts            # Multi-Turn Agent Loop & Delta Streaming\n│   │   ├── SubAgent.ts             # Isolated Sub-Agent Execution Engine\n│   │   ├── PlanningMode.ts         # Plan Formulation, Parsing & Step Execution\n│   │   ├── systemPrompt.ts         # Base System Prompt & Persistent Memory Injection\n│   │   └── tools/                  # 11 Native Workspace Tools\n│   │       ├── BaseTool.ts         # Base Tool Abstract Class & Zod Validation\n│   │       ├── fileTools.ts        # read_file, write_file, replace_file_content, list_dir\n│   │       ├── gitTools.ts         # git_status, git_diff, git_log\n│   │       ├── searchTools.ts      # grep_search, glob_files\n│   │       ├── shellTool.ts        # shell_execute (Zero-Trust Sandbox)\n│   │       ├── webTools.ts         # web_fetch (SSRF Protection & HTML Parser)\n│   │       └── subAgentTool.ts     # delegate_task (Sub-Agent Delegation)\n│   ├── cli/                        # Interactive Terminal Frontend\n│   │   ├── oneshot.ts              # Non-Interactive Oneshot Runner (--agent support)\n│   │   ├── slash/                  # Slash Command Subsystem\n│   │   │   ├── SlashCommandRegistry.ts\n│   │   │   ├── AutocompleteEngine.ts\n│   │   │   └── builtin/            # Built-in Slash Commands (/doctor, /theme, etc.)\n│   │   └── ui/                     # React Ink Terminal User Interface\n│   │       ├── App.tsx             # Main TUI Container & Dynamic Theme State\n│   │       ├── themes/             # 6-Theme Palette Engine & Context\n│   │       │   ├── ThemeDefinition.ts\n│   │       │   ├── ThemeContext.tsx\n│   │       │   ├── neon.ts\n│   │       │   └── themes.ts\n│   │       └── MarkdownText.tsx    # 60 FPS Tokenized Markdown & Table Renderer\n│   ├── config/                     # Configuration Schemas & .toolrc.yaml Resolver\n│   ├── inference/                  # 11 Multi-Provider Inference Drivers & Keychain\n│   ├── mcp/                        # Model Context Protocol Client & ResourceCache\n│   ├── memory/                     # Session & Persistent Memory (.agentmemory/facts.json)\n│   ├── platform/                   # Shell Tokenizer, Paths, and VRAM Prober\n│   ├── skills/                     # Modular Dynamic Skills Engine\n│   └── token-budget/               # Cost Ledger, Token Counter, and DiffEngine\n├── test/\n│   └── unit/                       # 116 Automated Unit Tests Across 35 Test Suites\n├── install.ps1                     # Automated Windows PowerShell Installer\n├── install.sh                      # Automated macOS / Linux Bash Installer\n├── package.json                    # Package Manifest (v4.3.1)\n└── README.md                       # Comprehensive Documentation\n```\n\n---\n\n## 💻 Programmatic API & SDK Usage\n\nYou can import `@codexgamerz/homogenous` directly into your Node.js / TypeScript projects:\n\n```typescript\nimport {\n  AgentLoop,\n  ProviderRegistry,\n  KeychainService,\n  PersistentMemory,\n  SubAgent,\n} from \"@codexgamerz/homogenous\";\n\n// 1. Resolve Provider\nconst registry = ProviderRegistry.getInstance();\nconst provider = registry.getProvider(\"anthropic\");\n\n// 2. Add Persistent Project Fact\nconst memory = PersistentMemory.getInstance();\nmemory.addFact(\"Always use strict TypeScript types without 'any'\", \"convention\");\n\n// 3. Instantiate Autonomous Agent Loop\nconst agent = new AgentLoop({\n  provider: provider!,\n  model: \"claude-3-7-sonnet-20250219\",\n  autoApprove: true,\n  workspaceRoot: process.cwd(),\n});\n\n// 4. Execute prompt with streaming deltas\nconst finalResponse = await agent.run(\n  [{ role: \"user\", content: \"Inspect src/index.ts and add missing docstrings\" }],\n  (delta) => process.stdout.write(delta)\n);\n\nconsole.log(\"\\nFinished:\", finalResponse);\n```\n\n---\n\n## 🧪 Test Suite & Verification (116 Tests)\n\nHomogenous is built with strict test-driven guarantees. Every layer of the system is covered by automated unit tests:\n\n```bash\n# Run the complete test suite (116 passing tests)\nnpm test\n\n# Run strict TypeScript typechecking\nnpm run typecheck\n\n# Build production bundle\nnpm run build\n```\n\n```text\n✔ WebFetchTool returns tool description and executes input schema\n✔ WebFetchTool blocks SSRF targets and invalid protocols\n✔ Zero-Key Invisibility: getActiveModels returns no cloud models when no keys exist\n✔ Autocomplete Zero-Key Invisibility: /model suggestions are empty when no keys exist\n✔ Slash Command /model displays zero-key guidance and /login instructions\n✔ Dynamic /login and /logout lifecycle invalidates caches\n✔ Slash Command /mode: switches between normal, auto, and plan modes\n✔ Slash Command /memory: supports list, add, remove, and clear aliases\n✔ Slash Command /mcp: supports /mcp reload\n✔ ShellExecuteTool: executes allowlisted commands under autoApprove\n✔ KeychainService resolves API keys for all providers via ConfigResolver\n✔ McpConfigResolver parses .mcp.json correctly\n✔ PersistentMemory adds, lists, and removes facts with metadata\n✔ Slash /doctor reports system diagnostics and daemon health\n✔ Theme Suite: all 6 themes are registered and have full color token definitions\n✔ Theme Suite: getActiveTheme resolves by ID but respects NO_COLOR strictly\n✔ Theme Suite: /theme slash command manages active themes\n✔ Budget Management: BudgetLedger reset clears records and counters\n✔ Budget Management: /budget set and /budget reset slash commands\n✔ DelegateTaskTool: validates tool definition and schema\n✔ DelegateTaskTool: recursion guard prevents delegate_task inside sub-agents\n✔ MCP Prompts & Resources: McpClientManager exposes methods\n✔ MCP ResourceCache: caches content and retrieves correctly\n...\nℹ tests 116\nℹ pass 116\nℹ fail 0\n```\n\n---\n\n## 📄 License\n\nHomogenous CLI is open-source software licensed under the [MIT License](LICENSE).\n\n---\n\n<p align=\"center\">\n  <b>✦ HOMOGENOUS CLI v4.3.1 — Code Faster. Deploy Safer. Local First. ✦</b>\n</p>\n","readmeFilename":"README.md"}