{"_id":"@eliyantosarage/leo-cli","_rev":"20-2ccede9419911b5d2597f2638fc190fd","name":"@eliyantosarage/leo-cli","dist-tags":{"latest":"0.6.0"},"versions":{"0.3.0":{"name":"@eliyantosarage/leo-cli","version":"0.3.0","keywords":["brave","leo","ai","cli","chat","claude-code","terminal","assistant","llm","brave-browser","mcp","plugins","skills","tui","agent","tools","memory","subscription","playwright"],"author":{"name":"eliyantosarage"},"license":"MIT","_id":"@eliyantosarage/leo-cli@0.3.0","maintainers":[{"name":"eliyantosarage","email":"officialelsa21@gmail.com"}],"homepage":"https://github.com/eliyantosarage/leo-cli#readme","bugs":{"url":"https://github.com/eliyantosarage/leo-cli/issues"},"bin":{"leo":"bin/leo.js","leo-cli":"bin/leo.js"},"dist":{"shasum":"2191038982fe5fcfb4378e4a18e039b91e61c2b3","tarball":"https://registry.npmjs.org/@eliyantosarage/leo-cli/-/leo-cli-0.3.0.tgz","fileCount":12,"integrity":"sha512-ELykfWWYuLlMyAY/HNJh0AS2y2oJK3dThijxD2zAxYtZQ9dA335Miu0w8ftWpC9LvzsmQdtE2foC1vnRQxvarg==","signatures":[{"sig":"MEQCIGCli9IsD3vQ75kVwTcFwezP/p82Ijm5FPWsrYljGwDTAiAdoPc4nSmRhgRAQ4uFujAA2lk2zSNou4a/fl1MDFBUQw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1816336},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js"}},"scripts":{"dev":"tsx src/cli/index.ts --help","test":"vitest run","build":"tsup","test:watch":"vitest","build:check":"tsc --noEmit","postinstall":"node scripts/postinstall.js","prepublishOnly":"npm run build && npm test --if-present || npm run build:check"},"_npmUser":{"name":"eliyantosarage","email":"officialelsa21@gmail.com"},"repository":{"url":"git+https://github.com/eliyantosarage/leo-cli.git","type":"git"},"_npmVersion":"12.0.1","description":"Brave Leo AI CLI — Claude Code-style agent with tools, skills, plugins, MCP, memory, todos","directories":{},"_nodeVersion":"26.2.0","dependencies":{"ora":"^8.0.0","zod":"^3.23.0","chalk":"^5.3.0","commander":"^12.1.0","node-forge":"^1.3.1","playwright":"^1.61.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0","@types/node":"^20.0.0","@modelcontextprotocol/sdk":"^1.12.0"},"optionalDependencies":{"terminal-kit":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/leo-cli_0.3.0_1784957795077_0.8273078673108922","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@eliyantosarage/leo-cli","version":"0.3.1","keywords":["brave","leo","ai","cli","chat","claude-code","terminal","assistant","llm","brave-browser","mcp","plugins","skills","tui","agent","tools","memory","subscription","playwright"],"author":{"name":"eliyantosarage"},"license":"MIT","_id":"@eliyantosarage/leo-cli@0.3.1","maintainers":[{"name":"eliyantosarage","email":"officialelsa21@gmail.com"}],"homepage":"https://github.com/eliyantosarage/leo-cli#readme","bugs":{"url":"https://github.com/eliyantosarage/leo-cli/issues"},"bin":{"leo":"bin/leo.js","leo-cli":"bin/leo.js"},"dist":{"shasum":"0a1c1d47f5a25cdf9ea4c79993ade989d8282db8","tarball":"https://registry.npmjs.org/@eliyantosarage/leo-cli/-/leo-cli-0.3.1.tgz","fileCount":12,"integrity":"sha512-cHxP2RuossRm8Lp/6xpVun7zJtb284ZcJBcrr+TY+k+CzQML45Jb+vg25RKgO7j0c/ADKMw6+xRm6lDtZZZbAg==","signatures":[{"sig":"MEUCIDr1pLeGbrm2qRND0/10t1Mspu+Usm/ToDvPsCqCYUSWAiEA8elajFq+bskRO+DOsN8Flm6+gUlQBCEBlrVbahoRKs0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1816336},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js"}},"scripts":{"dev":"tsx src/cli/index.ts --help","test":"vitest run","build":"tsup","test:watch":"vitest","build:check":"tsc --noEmit","postinstall":"node scripts/postinstall.js","prepublishOnly":"npm run build && npm test --if-present || npm run build:check"},"_npmUser":{"name":"eliyantosarage","email":"officialelsa21@gmail.com"},"repository":{"url":"git+https://github.com/eliyantosarage/leo-cli.git","type":"git"},"_npmVersion":"12.0.1","description":"Brave Leo AI CLI — Claude Code-style agent with tools, skills, plugins, MCP, memory, todos","directories":{},"_nodeVersion":"26.2.0","dependencies":{"ora":"^8.0.0","zod":"^3.23.0","chalk":"^5.3.0","commander":"^12.1.0","node-forge":"^1.3.1","playwright":"^1.61.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0","@types/node":"^20.0.0","@modelcontextprotocol/sdk":"^1.12.0"},"optionalDependencies":{"terminal-kit":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/leo-cli_0.3.1_1784958092897_0.570297526800043","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@eliyantosarage/leo-cli","version":"0.3.2","keywords":["brave","leo","ai","cli","chat","claude-code","terminal","assistant","llm","brave-browser","mcp","plugins","skills","tui","agent","tools","memory","subscription","playwright"],"author":{"name":"eliyantosarage"},"license":"MIT","_id":"@eliyantosarage/leo-cli@0.3.2","maintainers":[{"name":"eliyantosarage","email":"officialelsa21@gmail.com"}],"homepage":"https://github.com/eliyantosarage/leo-cli#readme","bugs":{"url":"https://github.com/eliyantosarage/leo-cli/issues"},"bin":{"leo":"bin/leo.js","leo-cli":"bin/leo.js"},"dist":{"shasum":"39fc0ab13400ab6069a0ea3725c3259112b4897f","tarball":"https://registry.npmjs.org/@eliyantosarage/leo-cli/-/leo-cli-0.3.2.tgz","fileCount":12,"integrity":"sha512-nl8P0JxxKjXaLQ/Zkjdub3c0N9CJpX1Eze8ZNlBcr/vCd/5Atl0iqxY0Jm3rkjZyr7C+Zy7ifPRTb7pA+a8xHw==","signatures":[{"sig":"MEQCIBOq/lniCliil0GIa7lKmwWQbJqRggNPM07yQL+xiNiyAiBy959LKn3rCNYxjX0p0QDBRkuDhsN55bIxNj/o5DEAzg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1817998},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js"}},"scripts":{"dev":"tsx src/cli/index.ts --help","test":"vitest run","build":"tsup","test:watch":"vitest","build:check":"tsc --noEmit","postinstall":"node scripts/postinstall.js","prepublishOnly":"npm run build && npm test --if-present || npm run build:check"},"_npmUser":{"name":"eliyantosarage","email":"officialelsa21@gmail.com"},"repository":{"url":"git+https://github.com/eliyantosarage/leo-cli.git","type":"git"},"_npmVersion":"12.0.1","description":"Brave Leo AI CLI — Claude Code-style agent with tools, skills, plugins, MCP, memory, todos","directories":{},"_nodeVersion":"26.2.0","dependencies":{"ora":"^8.0.0","zod":"^3.23.0","chalk":"^5.3.0","commander":"^12.1.0","node-forge":"^1.3.1","playwright":"^1.61.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0","@types/node":"^20.0.0","@modelcontextprotocol/sdk":"^1.12.0"},"optionalDependencies":{"terminal-kit":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/leo-cli_0.3.2_1784958477515_0.8385278571091503","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@eliyantosarage/leo-cli","version":"0.3.3","keywords":["brave","leo","ai","cli","chat","claude-code","terminal","assistant","llm","brave-browser","mcp","plugins","skills","tui","agent","tools","memory","subscription","playwright"],"author":{"name":"eliyantosarage"},"license":"MIT","_id":"@eliyantosarage/leo-cli@0.3.3","maintainers":[{"name":"eliyantosarage","email":"officialelsa21@gmail.com"}],"homepage":"https://github.com/eliyantosarage/leo-cli#readme","bugs":{"url":"https://github.com/eliyantosarage/leo-cli/issues"},"bin":{"leo":"bin/leo.js","leo-cli":"bin/leo.js"},"dist":{"shasum":"c3682ac35ef6e34f8d8fbfbdb3cbe12f094c84df","tarball":"https://registry.npmjs.org/@eliyantosarage/leo-cli/-/leo-cli-0.3.3.tgz","fileCount":12,"integrity":"sha512-WATl0/0oyHoVHnyBa6bENnnJa1wD7p+4ZIklJJ7IUrZdlai5L4YNNMaJ32D+NoYJux0a6ggI3kV1ydTaQZob3w==","signatures":[{"sig":"MEQCIHXpJ8r93kVL1GVkBY0roSpdCPhGuu1NyeqF7hSTs7n1AiAb/j9cgXdRkSkEIDCX1ia1bZvcdL/QsTe2/WFF44qTwQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1818351},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js"}},"scripts":{"dev":"tsx src/cli/index.ts --help","test":"vitest run","build":"tsup","test:watch":"vitest","build:check":"tsc --noEmit","postinstall":"node scripts/postinstall.js","prepublishOnly":"npm run build && npm test --if-present || npm run build:check"},"_npmUser":{"name":"eliyantosarage","email":"officialelsa21@gmail.com"},"repository":{"url":"git+https://github.com/eliyantosarage/leo-cli.git","type":"git"},"_npmVersion":"12.0.1","description":"Brave Leo AI CLI — Claude Code-style agent with tools, skills, plugins, MCP, memory, todos","directories":{},"_nodeVersion":"26.2.0","dependencies":{"ora":"^8.0.0","zod":"^3.23.0","chalk":"^5.3.0","commander":"^12.1.0","node-forge":"^1.3.1","playwright":"^1.61.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0","@types/node":"^20.0.0","@modelcontextprotocol/sdk":"^1.12.0"},"optionalDependencies":{"terminal-kit":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/leo-cli_0.3.3_1784958622237_0.5109081908517994","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@eliyantosarage/leo-cli","version":"0.4.0","keywords":["brave","leo","ai","cli","chat","claude-code","terminal","assistant","llm","brave-browser","mcp","plugins","skills","tui","agent","tools","memory","subscription","playwright"],"author":{"name":"eliyantosarage"},"license":"MIT","_id":"@eliyantosarage/leo-cli@0.4.0","maintainers":[{"name":"eliyantosarage","email":"officialelsa21@gmail.com"}],"homepage":"https://github.com/eliyantosarage/leo-cli#readme","bugs":{"url":"https://github.com/eliyantosarage/leo-cli/issues"},"bin":{"leo":"bin/leo.js","leo-cli":"bin/leo.js"},"dist":{"shasum":"1dd8336e39b072ebd5b74b1e21983ba72efb3bdc","tarball":"https://registry.npmjs.org/@eliyantosarage/leo-cli/-/leo-cli-0.4.0.tgz","fileCount":12,"integrity":"sha512-M4mtMyPH96Jl1YIG3ZqswAGysXg94mUwE/eSEnCr2o+i+5xRXllrwzURJPvIjmbmpGIrtXLCpwBAy24xR6KO/A==","signatures":[{"sig":"MEQCIBuvxw/nmwGuB9ix0sp3EOH+oSegrApqq4tCGfggeqSSAiAS4DRkBd8DOGltQAQQT3fevWEF/nc/pu121/8FuwMJjg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1795043},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js"}},"scripts":{"dev":"tsx src/cli/index.ts --help","test":"vitest run","build":"tsup","test:watch":"vitest","build:check":"tsc --noEmit","postinstall":"node scripts/postinstall.js","prepublishOnly":"npm run build && npm test --if-present || npm run build:check"},"_npmUser":{"name":"eliyantosarage","email":"officialelsa21@gmail.com"},"repository":{"url":"git+https://github.com/eliyantosarage/leo-cli.git","type":"git"},"_npmVersion":"12.0.1","description":"Brave Leo AI CLI — Claude Code-style agent with tools, skills, plugins, MCP, memory, todos","directories":{},"_nodeVersion":"26.2.0","dependencies":{"ora":"^8.0.0","zod":"^3.23.0","chalk":"^5.3.0","commander":"^12.1.0","node-forge":"^1.3.1","playwright":"^1.61.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0","@types/node":"^20.0.0","@modelcontextprotocol/sdk":"^1.12.0"},"optionalDependencies":{"terminal-kit":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/leo-cli_0.4.0_1784959035555_0.5873805328707897","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@eliyantosarage/leo-cli","version":"0.4.1","keywords":["brave","leo","ai","cli","chat","claude-code","terminal","assistant","llm","brave-browser","mcp","plugins","skills","tui","agent","tools","memory","subscription","playwright"],"author":{"name":"eliyantosarage"},"license":"MIT","_id":"@eliyantosarage/leo-cli@0.4.1","maintainers":[{"name":"eliyantosarage","email":"officialelsa21@gmail.com"}],"homepage":"https://github.com/eliyantosarage/leo-cli#readme","bugs":{"url":"https://github.com/eliyantosarage/leo-cli/issues"},"bin":{"leo":"bin/leo.js","leo-cli":"bin/leo.js"},"dist":{"shasum":"516baeac45e1b7b657ebf69b66db27701aa16f78","tarball":"https://registry.npmjs.org/@eliyantosarage/leo-cli/-/leo-cli-0.4.1.tgz","fileCount":12,"integrity":"sha512-TZ1Aa9vj8Q0mARwVM8pOGehTb27ogF3OA3/XHenOUtBl2QhcboJAVbWRN5gnvM8xVjbt9NIRJBV0oLYdvaYG3A==","signatures":[{"sig":"MEUCIQCMYcBqhSOV5Cqtt1dGE3ng0QnGgzlg4GytmEMbrZWBRwIgQHLqlSs5422g5NAFkEATcbqtEVv/dEatMcE6F4xZw/o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1786074},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js"}},"scripts":{"dev":"tsx src/cli/index.ts --help","test":"vitest run","build":"tsup","test:watch":"vitest","build:check":"tsc --noEmit","postinstall":"node scripts/postinstall.js","prepublishOnly":"npm run build && npm test --if-present || npm run build:check"},"_npmUser":{"name":"eliyantosarage","email":"officialelsa21@gmail.com"},"repository":{"url":"git+https://github.com/eliyantosarage/leo-cli.git","type":"git"},"_npmVersion":"12.0.1","description":"Brave Leo AI CLI — Claude Code-style agent with tools, skills, plugins, MCP, memory, todos","directories":{},"_nodeVersion":"26.2.0","dependencies":{"ora":"^8.0.0","zod":"^3.23.0","chalk":"^5.3.0","commander":"^12.1.0","node-forge":"^1.3.1","playwright":"^1.61.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0","@types/node":"^20.0.0","@modelcontextprotocol/sdk":"^1.12.0"},"optionalDependencies":{"terminal-kit":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/leo-cli_0.4.1_1784959332785_0.2517049524059043","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@eliyantosarage/leo-cli","version":"0.4.2","keywords":["brave","leo","ai","cli","chat","claude-code","terminal","assistant","llm","brave-browser","mcp","plugins","skills","tui","agent","tools","memory","subscription","playwright"],"author":{"name":"eliyantosarage"},"license":"MIT","_id":"@eliyantosarage/leo-cli@0.4.2","maintainers":[{"name":"eliyantosarage","email":"officialelsa21@gmail.com"}],"homepage":"https://github.com/eliyantosarage/leo-cli#readme","bugs":{"url":"https://github.com/eliyantosarage/leo-cli/issues"},"bin":{"leo":"bin/leo.js","leo-cli":"bin/leo.js"},"dist":{"shasum":"06b0762972c65c7d2648befea7a110f798d1ffe7","tarball":"https://registry.npmjs.org/@eliyantosarage/leo-cli/-/leo-cli-0.4.2.tgz","fileCount":12,"integrity":"sha512-uk3SIZxK7jGlm17emKT9P3+0J7ku1rACNM735wtsixjEOU1P9F9Leaww/H+lYX83mPgNEo3pD9fvebrBSyZzVA==","signatures":[{"sig":"MEQCIEVesCE266t0f3zxbC4Ki1mnXSvwqC1vpJAXbrBPmgOdAiAmOZ07CDBN2utZKTYM8yF2nPSDbN/2j6Ecb8jpjDEQ1w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1780021},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js"}},"scripts":{"dev":"tsx src/cli/index.ts --help","test":"vitest run","build":"tsup","test:watch":"vitest","build:check":"tsc --noEmit","postinstall":"node scripts/postinstall.js","prepublishOnly":"npm run build && npm test --if-present || npm run build:check"},"_npmUser":{"name":"eliyantosarage","email":"officialelsa21@gmail.com"},"repository":{"url":"git+https://github.com/eliyantosarage/leo-cli.git","type":"git"},"_npmVersion":"12.0.1","description":"Brave Leo AI CLI — Claude Code-style agent with tools, skills, plugins, MCP, memory, todos","directories":{},"_nodeVersion":"26.2.0","dependencies":{"ora":"^8.0.0","zod":"^3.23.0","chalk":"^5.3.0","commander":"^12.1.0","node-forge":"^1.3.1","playwright":"^1.61.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0","@types/node":"^20.0.0","@modelcontextprotocol/sdk":"^1.12.0"},"optionalDependencies":{"terminal-kit":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/leo-cli_0.4.2_1784959962389_0.09082628804623516","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@eliyantosarage/leo-cli","version":"0.4.3","keywords":["brave","leo","ai","cli","chat","claude-code","terminal","assistant","llm","brave-browser","mcp","plugins","skills","tui","agent","tools","memory","subscription","playwright"],"author":{"name":"eliyantosarage"},"license":"MIT","_id":"@eliyantosarage/leo-cli@0.4.3","maintainers":[{"name":"eliyantosarage","email":"officialelsa21@gmail.com"}],"homepage":"https://github.com/eliyantosarage/leo-cli#readme","bugs":{"url":"https://github.com/eliyantosarage/leo-cli/issues"},"bin":{"leo":"bin/leo.js","leo-cli":"bin/leo.js"},"dist":{"shasum":"cdab9d9e364c4a334ed4b450e159bfb0bef603dd","tarball":"https://registry.npmjs.org/@eliyantosarage/leo-cli/-/leo-cli-0.4.3.tgz","fileCount":12,"integrity":"sha512-V7TlVdr4lA94K3x5vqZjF5rrn9uSsANZHsUPwnuqbm8CuCn6IaHsn6OcIZAnXZfookodAx36P7nGNi2xhMI3xw==","signatures":[{"sig":"MEYCIQCVQ6E6lt1qPRO0UwD81Zm1ppaTXsk+dx6aJGHrDVWQ9QIhANlnKMyCOq1okxzlQkLxqJ3MOiOEpBRzztxQcXi7ypPU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1777736},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js"}},"scripts":{"dev":"tsx src/cli/index.ts --help","test":"vitest run","build":"tsup","test:watch":"vitest","build:check":"tsc --noEmit","postinstall":"node scripts/postinstall.js","prepublishOnly":"npm run build && npm test --if-present || npm run build:check"},"_npmUser":{"name":"eliyantosarage","email":"officialelsa21@gmail.com"},"repository":{"url":"git+https://github.com/eliyantosarage/leo-cli.git","type":"git"},"_npmVersion":"12.0.1","description":"Brave Leo AI CLI — Claude Code-style agent with tools, skills, plugins, MCP, memory, todos","directories":{},"_nodeVersion":"26.2.0","dependencies":{"ora":"^8.0.0","zod":"^3.23.0","chalk":"^5.3.0","commander":"^12.1.0","node-forge":"^1.3.1","playwright":"^1.61.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0","@types/node":"^20.0.0","@modelcontextprotocol/sdk":"^1.12.0"},"optionalDependencies":{"terminal-kit":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/leo-cli_0.4.3_1784960376817_0.8231159430580759","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"@eliyantosarage/leo-cli","version":"0.4.4","keywords":["brave","leo","ai","cli","chat","claude-code","terminal","assistant","llm","brave-browser","mcp","plugins","skills","tui","agent","tools","memory","subscription","playwright"],"author":{"name":"eliyantosarage"},"license":"MIT","_id":"@eliyantosarage/leo-cli@0.4.4","maintainers":[{"name":"eliyantosarage","email":"officialelsa21@gmail.com"}],"homepage":"https://github.com/eliyantosarage/leo-cli#readme","bugs":{"url":"https://github.com/eliyantosarage/leo-cli/issues"},"bin":{"leo":"bin/leo.js","leo-cli":"bin/leo.js"},"dist":{"shasum":"7ffa85213444d5e21040babcc75b1acdde6cf163","tarball":"https://registry.npmjs.org/@eliyantosarage/leo-cli/-/leo-cli-0.4.4.tgz","fileCount":12,"integrity":"sha512-GPWmKWCUePkAgWfVH/SOV/oz+leVhqFkh0pqdJfS1Wo6fB5L6SgBOLv69hEFj510kE93rxUzuF1qQR9lCwsHRQ==","signatures":[{"sig":"MEQCIDNkdoNIqlunIXjCggbAmMdOYLcORdcZJFOCaXR+DV/nAiAo/PhKjE7svFWM9jSWiLhVwJBgcM7u34aQWE1RFh1KTw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1776308},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js"}},"scripts":{"dev":"tsx src/cli/index.ts --help","test":"vitest run","build":"tsup","test:watch":"vitest","build:check":"tsc --noEmit","postinstall":"node scripts/postinstall.js","prepublishOnly":"npm run build && npm test --if-present || npm run build:check"},"_npmUser":{"name":"eliyantosarage","email":"officialelsa21@gmail.com"},"repository":{"url":"git+https://github.com/eliyantosarage/leo-cli.git","type":"git"},"_npmVersion":"12.0.1","description":"Brave Leo AI CLI — Claude Code-style agent with tools, skills, plugins, MCP, memory, todos","directories":{},"_nodeVersion":"26.2.0","dependencies":{"ora":"^8.0.0","zod":"^3.23.0","chalk":"^5.3.0","commander":"^12.1.0","node-forge":"^1.3.1","playwright":"^1.61.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0","@types/node":"^20.0.0","@modelcontextprotocol/sdk":"^1.12.0"},"optionalDependencies":{"terminal-kit":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/leo-cli_0.4.4_1784960590470_0.17379364816676768","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"@eliyantosarage/leo-cli","version":"0.4.5","keywords":["brave","leo","ai","cli","chat","claude-code","terminal","assistant","llm","brave-browser","mcp","plugins","skills","tui","agent","tools","memory","subscription","playwright"],"author":{"name":"eliyantosarage"},"license":"MIT","_id":"@eliyantosarage/leo-cli@0.4.5","maintainers":[{"name":"eliyantosarage","email":"officialelsa21@gmail.com"}],"homepage":"https://github.com/eliyantosarage/leo-cli#readme","bugs":{"url":"https://github.com/eliyantosarage/leo-cli/issues"},"bin":{"leo":"bin/leo.js","leo-cli":"bin/leo.js"},"dist":{"shasum":"a0eb985e65c2b6239c2e2f9b59b6b990775feaff","tarball":"https://registry.npmjs.org/@eliyantosarage/leo-cli/-/leo-cli-0.4.5.tgz","fileCount":12,"integrity":"sha512-kI9ZbVN6jOmpKBPPEddXbF2NiH6svpQrMTlPDtKAS5/wMtp52dJ2csISBfB6EZB8fH6R60DMNxo/I75L3Wg6nw==","signatures":[{"sig":"MEUCIDeDJGqpkUBmccn2A7i+JwQ6cTxK6krLAojDC4XR6JojAiEAznmskROVxEJrKJbvE3jMM16tzYrDM57FTS64D1IYZxY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1775545},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js"}},"scripts":{"dev":"tsx src/cli/index.ts --help","test":"vitest run","build":"tsup","test:watch":"vitest","build:check":"tsc --noEmit","postinstall":"node scripts/postinstall.js","prepublishOnly":"npm run build && npm test --if-present || npm run build:check"},"_npmUser":{"name":"eliyantosarage","email":"officialelsa21@gmail.com"},"repository":{"url":"git+https://github.com/eliyantosarage/leo-cli.git","type":"git"},"_npmVersion":"12.0.1","description":"Brave Leo AI CLI — Claude Code-style agent with tools, skills, plugins, MCP, memory, todos","directories":{},"_nodeVersion":"26.2.0","dependencies":{"ora":"^8.0.0","zod":"^3.23.0","chalk":"^5.3.0","commander":"^12.1.0","node-forge":"^1.3.1","playwright":"^1.61.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0","@types/node":"^20.0.0","@modelcontextprotocol/sdk":"^1.12.0"},"optionalDependencies":{"terminal-kit":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/leo-cli_0.4.5_1784960801121_0.15989024654017303","host":"s3://npm-registry-packages-npm-production"}},"0.4.6":{"name":"@eliyantosarage/leo-cli","version":"0.4.6","keywords":["brave","leo","ai","cli","chat","claude-code","terminal","assistant","llm","brave-browser","mcp","plugins","skills","tui","agent","tools","memory","subscription","playwright"],"author":{"name":"eliyantosarage"},"license":"MIT","_id":"@eliyantosarage/leo-cli@0.4.6","maintainers":[{"name":"eliyantosarage","email":"officialelsa21@gmail.com"}],"homepage":"https://github.com/eliyantosarage/leo-cli#readme","bugs":{"url":"https://github.com/eliyantosarage/leo-cli/issues"},"bin":{"leo":"bin/leo.js","leo-cli":"bin/leo.js"},"dist":{"shasum":"0f9073def78111c1f0911b2e1185f08d5e2b2936","tarball":"https://registry.npmjs.org/@eliyantosarage/leo-cli/-/leo-cli-0.4.6.tgz","fileCount":12,"integrity":"sha512-SBhpptTKBjkgKRQxM3MS4p2GFMAmQuXJ7pSNRAxruJGaBfgwBtwd39yrt8befY3Q21k786NlAf0DgBAjwBkf6w==","signatures":[{"sig":"MEYCIQDjodqCD+zKBSTIHugviiYhGmVWCUCPF2GbX9xth3+GegIhAPetdL1e7BR33dD+3YKfqbQ1Oym3MDmWdgRK0/aS2SPU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1778489},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js"}},"scripts":{"dev":"tsx src/cli/index.ts --help","test":"vitest run","build":"tsup","test:watch":"vitest","build:check":"tsc --noEmit","postinstall":"node scripts/postinstall.js","prepublishOnly":"npm run build && npm test --if-present || npm run build:check"},"_npmUser":{"name":"eliyantosarage","email":"officialelsa21@gmail.com"},"repository":{"url":"git+https://github.com/eliyantosarage/leo-cli.git","type":"git"},"_npmVersion":"12.0.1","description":"Brave Leo AI CLI — Claude Code-style agent with tools, skills, plugins, MCP, memory, todos","directories":{},"_nodeVersion":"26.2.0","dependencies":{"ora":"^8.0.0","zod":"^3.23.0","chalk":"^5.3.0","commander":"^12.1.0","node-forge":"^1.3.1","playwright":"^1.61.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0","@types/node":"^20.0.0","@modelcontextprotocol/sdk":"^1.12.0"},"optionalDependencies":{"terminal-kit":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/leo-cli_0.4.6_1784960979510_0.3644876131410957","host":"s3://npm-registry-packages-npm-production"}},"0.4.7":{"name":"@eliyantosarage/leo-cli","version":"0.4.7","keywords":["brave","leo","ai","cli","chat","claude-code","terminal","assistant","llm","brave-browser","mcp","plugins","skills","tui","agent","tools","memory","subscription","playwright"],"author":{"name":"eliyantosarage"},"license":"MIT","_id":"@eliyantosarage/leo-cli@0.4.7","maintainers":[{"name":"eliyantosarage","email":"officialelsa21@gmail.com"}],"homepage":"https://github.com/eliyantosarage/leo-cli#readme","bugs":{"url":"https://github.com/eliyantosarage/leo-cli/issues"},"bin":{"leo":"bin/leo.js","leo-cli":"bin/leo.js"},"dist":{"shasum":"019e37de8f58f99e49de068ca273570bf8772e62","tarball":"https://registry.npmjs.org/@eliyantosarage/leo-cli/-/leo-cli-0.4.7.tgz","fileCount":12,"integrity":"sha512-OdyZDnot5bgyzrZiK/IfHBSlx7E5+Laqi468PxSAMH+Jdr542JhOBeezTrPnEqRbQV+jKDxXxv199GX0lC61kw==","signatures":[{"sig":"MEUCIQCgeVWoe167ei2zwZXgW/GIlYNi97fpFu2n0IHU+5HtggIgde+m80kWQGIgKerdAWeOoYcFCyAsXorsrRw4GPXks8U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1779547},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js"}},"scripts":{"dev":"tsx src/cli/index.ts --help","test":"vitest run","build":"tsup","test:watch":"vitest","build:check":"tsc --noEmit","postinstall":"node scripts/postinstall.js","prepublishOnly":"npm run build && npm test --if-present || npm run build:check"},"_npmUser":{"name":"eliyantosarage","email":"officialelsa21@gmail.com"},"repository":{"url":"git+https://github.com/eliyantosarage/leo-cli.git","type":"git"},"_npmVersion":"12.0.1","description":"Brave Leo AI CLI — Claude Code-style agent with tools, skills, plugins, MCP, memory, todos","directories":{},"_nodeVersion":"26.2.0","dependencies":{"ora":"^8.0.0","zod":"^3.23.0","chalk":"^5.3.0","commander":"^12.1.0","node-forge":"^1.3.1","playwright":"^1.61.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0","@types/node":"^20.0.0","@modelcontextprotocol/sdk":"^1.12.0"},"optionalDependencies":{"terminal-kit":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/leo-cli_0.4.7_1784961124273_0.8184092047837321","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@eliyantosarage/leo-cli","version":"0.5.0","keywords":["brave","leo","ai","cli","chat","claude-code","terminal","assistant","llm","brave-browser","mcp","plugins","skills","tui","agent","tools","memory","subscription","playwright"],"author":{"name":"eliyantosarage"},"license":"MIT","_id":"@eliyantosarage/leo-cli@0.5.0","maintainers":[{"name":"eliyantosarage","email":"officialelsa21@gmail.com"}],"homepage":"https://github.com/eliyantosarage/leo-cli#readme","bugs":{"url":"https://github.com/eliyantosarage/leo-cli/issues"},"bin":{"leo":"bin/leo.js","leo-cli":"bin/leo.js"},"dist":{"shasum":"a797be22a616d4f1d57b21326c5598d7854f4b9a","tarball":"https://registry.npmjs.org/@eliyantosarage/leo-cli/-/leo-cli-0.5.0.tgz","fileCount":12,"integrity":"sha512-qS4HZvu5SKiYoBNN3TEt7jry26uov1CxYHkr6t0TsiPoKx5fwzaF7TDDyWbOZt5V1c1KKi7voJzbTtsSxXUB+A==","signatures":[{"sig":"MEUCIQDTDPBbj5vxR5y4FP49pGmSKm9YLhw5AR57H1+Xo/ODpAIgcRumFEMlkDYO4bIFCkfKGwyq44o2/g5e/sZTsAnobxc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1775911},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js"}},"scripts":{"dev":"tsx src/cli/index.ts --help","test":"vitest run","build":"tsup","test:watch":"vitest","build:check":"tsc --noEmit","postinstall":"node scripts/postinstall.js","prepublishOnly":"npm run build && npm test --if-present || npm run build:check"},"_npmUser":{"name":"eliyantosarage","email":"officialelsa21@gmail.com"},"repository":{"url":"git+https://github.com/eliyantosarage/leo-cli.git","type":"git"},"_npmVersion":"12.0.1","description":"Brave Leo AI CLI — Claude Code-style agent with tools, skills, plugins, MCP, memory, todos","directories":{},"_nodeVersion":"26.2.0","dependencies":{"ink":"^4.4.1","ora":"^8.0.0","zod":"^3.23.0","chalk":"^5.3.0","react":"^18.3.1","blessed":"^0.1.81","commander":"^12.1.0","react-dom":"^18.3.1","node-forge":"^1.3.1","playwright":"^1.61.0","ink-spinner":"^5.0.0","@types/react":"^18.3.31","@types/blessed":"^0.1.27","ink-text-input":"^2.0.0","@types/react-dom":"^18.3.7","ink-select-input":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0","@types/node":"^20.0.0","@modelcontextprotocol/sdk":"^1.12.0"},"optionalDependencies":{"terminal-kit":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/leo-cli_0.5.0_1784961578596_0.28132310846878084","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@eliyantosarage/leo-cli","version":"0.5.1","keywords":["brave","leo","ai","cli","chat","claude-code","terminal","assistant","llm","brave-browser","mcp","plugins","skills","tui","agent","tools","memory","subscription","playwright"],"author":{"name":"eliyantosarage"},"license":"MIT","_id":"@eliyantosarage/leo-cli@0.5.1","maintainers":[{"name":"eliyantosarage","email":"officialelsa21@gmail.com"}],"homepage":"https://github.com/eliyantosarage/leo-cli#readme","bugs":{"url":"https://github.com/eliyantosarage/leo-cli/issues"},"bin":{"leo":"bin/leo.js","leo-cli":"bin/leo.js"},"dist":{"shasum":"c905f5b35f5e9434a0921d404047ab9880a98ac2","tarball":"https://registry.npmjs.org/@eliyantosarage/leo-cli/-/leo-cli-0.5.1.tgz","fileCount":12,"integrity":"sha512-vveSzmQAtw5Ca6CCSNdDV1qHoWKRoiL86mZxEej2qcu5L3bimoZf9haOZI5mGn07vh+XpX6jjmUNBNT5RGtUXw==","signatures":[{"sig":"MEQCIGsODmOmm1bNQfbqOYxDYGciOa20Kl4hDXmaj/+xPWAeAiAvmjq6qQI52lvzZVCkzqkai8onUZqp1g6g52h/6Jezbw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1774232},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js"}},"scripts":{"dev":"tsx src/cli/index.ts --help","test":"vitest run","build":"tsup","test:watch":"vitest","build:check":"tsc --noEmit","postinstall":"node scripts/postinstall.js","prepublishOnly":"npm run build && npm test --if-present || npm run build:check"},"_npmUser":{"name":"eliyantosarage","email":"officialelsa21@gmail.com"},"repository":{"url":"git+https://github.com/eliyantosarage/leo-cli.git","type":"git"},"_npmVersion":"12.0.1","description":"Brave Leo AI CLI — Claude Code-style agent with tools, skills, plugins, MCP, memory, todos","directories":{},"_nodeVersion":"26.2.0","dependencies":{"ink":"^4.4.1","ora":"^8.0.0","zod":"^3.23.0","chalk":"^5.3.0","react":"^18.3.1","blessed":"^0.1.81","commander":"^12.1.0","react-dom":"^18.3.1","node-forge":"^1.3.1","playwright":"^1.61.0","ink-spinner":"^5.0.0","@types/react":"^18.3.31","@types/blessed":"^0.1.27","ink-text-input":"^2.0.0","@types/react-dom":"^18.3.7","ink-select-input":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0","@types/node":"^20.0.0","@modelcontextprotocol/sdk":"^1.12.0"},"optionalDependencies":{"terminal-kit":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/leo-cli_0.5.1_1784962615748_0.32197832882065236","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@eliyantosarage/leo-cli","version":"0.5.2","keywords":["brave","leo","ai","cli","chat","claude-code","terminal","assistant","llm","brave-browser","mcp","plugins","skills","tui","agent","tools","memory","subscription","playwright"],"author":{"name":"eliyantosarage"},"license":"MIT","_id":"@eliyantosarage/leo-cli@0.5.2","maintainers":[{"name":"eliyantosarage","email":"officialelsa21@gmail.com"}],"homepage":"https://github.com/eliyantosarage/leo-cli#readme","bugs":{"url":"https://github.com/eliyantosarage/leo-cli/issues"},"bin":{"leo":"bin/leo.js","leo-cli":"bin/leo.js"},"dist":{"shasum":"e74b6edc22459b8504e48bda263ff46f6ac1b095","tarball":"https://registry.npmjs.org/@eliyantosarage/leo-cli/-/leo-cli-0.5.2.tgz","fileCount":12,"integrity":"sha512-/pqmIkaI28WVSUsf+sNLO4fFEzlDykA3BURZPYWDLHSeca3xgvV6I4jWDrWXwlaINx1UbXx5jm0RSFvPtupJmg==","signatures":[{"sig":"MEUCIQCNKtAOZAyM6VZA3qWGz8i8U4gb0+21YPT9/kPCTU9aSAIgFJyFBBpsVEjA9oe5d8ZkXe2UleTkk8z9gRD2HCaTfRc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1763515},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js"}},"scripts":{"dev":"tsx src/cli/index.ts --help","test":"vitest run","build":"tsup","test:watch":"vitest","build:check":"tsc --noEmit","postinstall":"node scripts/postinstall.js","prepublishOnly":"npm run build && npm test --if-present || npm run build:check"},"_npmUser":{"name":"eliyantosarage","email":"officialelsa21@gmail.com"},"repository":{"url":"git+https://github.com/eliyantosarage/leo-cli.git","type":"git"},"_npmVersion":"12.0.1","description":"Brave Leo AI CLI — Claude Code-style agent with tools, skills, plugins, MCP, memory, todos","directories":{},"_nodeVersion":"26.2.0","dependencies":{"ink":"^4.4.1","ora":"^8.0.0","zod":"^3.23.0","chalk":"^5.3.0","react":"^18.3.1","blessed":"^0.1.81","commander":"^12.1.0","react-dom":"^18.3.1","node-forge":"^1.3.1","playwright":"^1.61.0","ink-spinner":"^5.0.0","@types/react":"^18.3.31","@types/blessed":"^0.1.27","ink-text-input":"^2.0.0","@types/react-dom":"^18.3.7","ink-select-input":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0","@types/node":"^20.0.0","@modelcontextprotocol/sdk":"^1.12.0"},"optionalDependencies":{"terminal-kit":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/leo-cli_0.5.2_1784963204208_0.6056627146981901","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"@eliyantosarage/leo-cli","version":"0.5.3","keywords":["brave","leo","ai","cli","chat","claude-code","terminal","assistant","llm","brave-browser","mcp","plugins","skills","tui","agent","tools","memory","subscription","playwright"],"author":{"name":"eliyantosarage"},"license":"MIT","_id":"@eliyantosarage/leo-cli@0.5.3","maintainers":[{"name":"eliyantosarage","email":"officialelsa21@gmail.com"}],"homepage":"https://github.com/eliyantosarage/leo-cli#readme","bugs":{"url":"https://github.com/eliyantosarage/leo-cli/issues"},"bin":{"leo":"bin/leo.js","leo-cli":"bin/leo.js"},"dist":{"shasum":"b71567806e2995df51021c160f2254d6625f9540","tarball":"https://registry.npmjs.org/@eliyantosarage/leo-cli/-/leo-cli-0.5.3.tgz","fileCount":12,"integrity":"sha512-/ST3Jo0Xd3PCf/Nie3rQZ/KsRx7HsB494wmjXxx+YHdsJjeGb16cVsW2K+Yf0yfzEGgqyhhu0L454OAv6iwMDw==","signatures":[{"sig":"MEUCIQC27pG8vMdFDN+DQvuiiL9GrMl2IeUOrx3DeGynW1ZHsAIgb/0cwlSNeA0r9Qu7So0VmMu5vLWy0VtVraGGUA1hG8A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1778420},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js"}},"scripts":{"dev":"tsx src/cli/index.ts --help","test":"vitest run","build":"tsup","test:watch":"vitest","build:check":"tsc --noEmit","postinstall":"node scripts/postinstall.js","prepublishOnly":"npm run build && npm test --if-present || npm run build:check"},"_npmUser":{"name":"eliyantosarage","email":"officialelsa21@gmail.com"},"repository":{"url":"git+https://github.com/eliyantosarage/leo-cli.git","type":"git"},"_npmVersion":"12.0.1","description":"Brave Leo AI CLI — Claude Code-style agent with tools, skills, plugins, MCP, memory, todos","directories":{},"_nodeVersion":"26.2.0","dependencies":{"ink":"^4.4.1","ora":"^8.0.0","zod":"^3.23.0","chalk":"^5.3.0","react":"^18.3.1","blessed":"^0.1.81","commander":"^12.1.0","react-dom":"^18.3.1","node-forge":"^1.3.1","playwright":"^1.61.0","ink-spinner":"^5.0.0","@types/react":"^18.3.31","@types/blessed":"^0.1.27","ink-text-input":"^2.0.0","@types/react-dom":"^18.3.7","ink-select-input":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0","@types/node":"^20.0.0","@modelcontextprotocol/sdk":"^1.12.0"},"optionalDependencies":{"terminal-kit":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/leo-cli_0.5.3_1784964243766_0.5578864309774485","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"name":"@eliyantosarage/leo-cli","version":"0.5.4","keywords":["brave","leo","ai","cli","chat","claude-code","terminal","assistant","llm","brave-browser","mcp","plugins","skills","tui","agent","tools","memory","subscription","playwright"],"author":{"name":"eliyantosarage"},"license":"MIT","_id":"@eliyantosarage/leo-cli@0.5.4","maintainers":[{"name":"eliyantosarage","email":"officialelsa21@gmail.com"}],"homepage":"https://github.com/eliyantosarage/leo-cli#readme","bugs":{"url":"https://github.com/eliyantosarage/leo-cli/issues"},"bin":{"leo":"bin/leo.js","leo-cli":"bin/leo.js"},"dist":{"shasum":"4941538237dfe02442436d3fd91d8e9fc94fbe30","tarball":"https://registry.npmjs.org/@eliyantosarage/leo-cli/-/leo-cli-0.5.4.tgz","fileCount":12,"integrity":"sha512-uTwrjLq5olYzmJ+nrlj62j9G+2O5dtRhP+iXNuWgH/gEdj7YMEXzuGyXIM8hLFaMkyXRSojP9pP98ptev98Pcg==","signatures":[{"sig":"MEUCIAPIvVydPg7nR/+Ho0hKm8sW9J5bxqD62unqyd9MefPTAiEAyMoivpq+VZUO9MRgIu81Xl9zZgVY8WiiZWisLLv5dF8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1773150},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js"}},"scripts":{"dev":"tsx src/cli/index.ts --help","test":"vitest run","build":"tsup","test:watch":"vitest","build:check":"tsc --noEmit","postinstall":"node scripts/postinstall.js","prepublishOnly":"npm run build && npm test --if-present || npm run build:check"},"_npmUser":{"name":"eliyantosarage","email":"officialelsa21@gmail.com"},"repository":{"url":"git+https://github.com/eliyantosarage/leo-cli.git","type":"git"},"_npmVersion":"12.0.1","description":"Brave Leo AI CLI — Claude Code-style agent with tools, skills, plugins, MCP, memory, todos","directories":{},"_nodeVersion":"26.2.0","dependencies":{"ink":"^4.4.1","ora":"^8.0.0","zod":"^3.23.0","chalk":"^5.3.0","react":"^18.3.1","blessed":"^0.1.81","commander":"^12.1.0","react-dom":"^18.3.1","node-forge":"^1.3.1","playwright":"^1.61.0","ink-spinner":"^5.0.0","@types/react":"^18.3.31","@types/blessed":"^0.1.27","ink-text-input":"^2.0.0","@types/react-dom":"^18.3.7","ink-select-input":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0","@types/node":"^20.0.0","@modelcontextprotocol/sdk":"^1.12.0"},"optionalDependencies":{"terminal-kit":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/leo-cli_0.5.4_1784964700716_0.4939336927319089","host":"s3://npm-registry-packages-npm-production"}},"0.5.5":{"name":"@eliyantosarage/leo-cli","version":"0.5.5","keywords":["brave","leo","ai","cli","chat","claude-code","terminal","assistant","llm","brave-browser","mcp","plugins","skills","tui","agent","tools","memory","subscription","playwright"],"author":{"name":"eliyantosarage"},"license":"MIT","_id":"@eliyantosarage/leo-cli@0.5.5","maintainers":[{"name":"eliyantosarage","email":"officialelsa21@gmail.com"}],"homepage":"https://github.com/eliyantosarage/leo-cli#readme","bugs":{"url":"https://github.com/eliyantosarage/leo-cli/issues"},"bin":{"leo":"bin/leo.js","leo-cli":"bin/leo.js"},"dist":{"shasum":"8a85c2ec4400b05c6fb954558a468a81b10351cb","tarball":"https://registry.npmjs.org/@eliyantosarage/leo-cli/-/leo-cli-0.5.5.tgz","fileCount":12,"integrity":"sha512-YX/DvprX/VtOHnLyqX6GUs7pcLt0ZWqt3Q+eji2dS5IuWsih6OtClaralTfZC1XVY8+RxIJffWzbykpBN4w9tg==","signatures":[{"sig":"MEQCIFh4MAiQHbsGe3W2KbfYDehTj1auY3p+wXc2uYLCh3J2AiAePvOe68N7xwjsGadjuAzPWyx9VWWHKJromP6Do8hMKA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1771911},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js"}},"scripts":{"dev":"tsx src/cli/index.ts --help","test":"vitest run","build":"tsup","test:watch":"vitest","build:check":"tsc --noEmit","postinstall":"node scripts/postinstall.js","prepublishOnly":"npm run build && npm test --if-present || npm run build:check"},"_npmUser":{"name":"eliyantosarage","email":"officialelsa21@gmail.com"},"repository":{"url":"git+https://github.com/eliyantosarage/leo-cli.git","type":"git"},"_npmVersion":"12.0.1","description":"Brave Leo AI CLI — Claude Code-style agent with tools, skills, plugins, MCP, memory, todos","directories":{},"_nodeVersion":"26.2.0","dependencies":{"ink":"^4.4.1","ora":"^8.0.0","zod":"^3.23.0","chalk":"^5.3.0","react":"^18.3.1","blessed":"^0.1.81","commander":"^12.1.0","react-dom":"^18.3.1","node-forge":"^1.3.1","playwright":"^1.61.0","ink-spinner":"^5.0.0","@types/react":"^18.3.31","@types/blessed":"^0.1.27","ink-text-input":"^2.0.0","@types/react-dom":"^18.3.7","ink-select-input":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0","@types/node":"^20.0.0","@modelcontextprotocol/sdk":"^1.12.0"},"optionalDependencies":{"terminal-kit":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/leo-cli_0.5.5_1784965311168_0.8064718709336942","host":"s3://npm-registry-packages-npm-production"}},"0.5.6":{"name":"@eliyantosarage/leo-cli","version":"0.5.6","keywords":["brave","leo","ai","cli","chat","claude-code","terminal","assistant","llm","brave-browser","mcp","plugins","skills","tui","agent","tools","memory","subscription","playwright"],"author":{"name":"eliyantosarage"},"license":"MIT","_id":"@eliyantosarage/leo-cli@0.5.6","maintainers":[{"name":"eliyantosarage","email":"officialelsa21@gmail.com"}],"homepage":"https://github.com/eliyantosarage/leo-cli#readme","bugs":{"url":"https://github.com/eliyantosarage/leo-cli/issues"},"bin":{"leo":"bin/leo.js","leo-cli":"bin/leo.js"},"dist":{"shasum":"78f1a4ee04059620a2c6efdecc224650c2373307","tarball":"https://registry.npmjs.org/@eliyantosarage/leo-cli/-/leo-cli-0.5.6.tgz","fileCount":12,"integrity":"sha512-00cRJ6Foe2QtyLsHqoq2NvVfwyIqJP2oT7c4awqANNd4bmy8kUeuzfPnMYZgwU/h4QUPSV0thjCbEwl+5CM9Ig==","signatures":[{"sig":"MEQCIB7QkvPJZFDAsfctEcWgVZVX8ZUimUJlqqIN/xyYBosrAiBJA5lAtnP6DTnMNp66ZOBMXaPW3sirVtDFa/1EIW9how==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1770954},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js"}},"scripts":{"dev":"tsx src/cli/index.ts --help","test":"vitest run","build":"tsup","test:watch":"vitest","build:check":"tsc --noEmit","postinstall":"node scripts/postinstall.js","prepublishOnly":"npm run build && npm test --if-present || npm run build:check"},"_npmUser":{"name":"eliyantosarage","email":"officialelsa21@gmail.com"},"repository":{"url":"git+https://github.com/eliyantosarage/leo-cli.git","type":"git"},"_npmVersion":"12.0.1","description":"Brave Leo AI CLI — Claude Code-style agent with tools, skills, plugins, MCP, memory, todos","directories":{},"_nodeVersion":"26.2.0","dependencies":{"ink":"^4.4.1","ora":"^8.0.0","zod":"^3.23.0","chalk":"^5.3.0","react":"^18.3.1","blessed":"^0.1.81","commander":"^12.1.0","react-dom":"^18.3.1","node-forge":"^1.3.1","playwright":"^1.61.0","ink-spinner":"^5.0.0","@types/react":"^18.3.31","@types/blessed":"^0.1.27","ink-text-input":"^2.0.0","@types/react-dom":"^18.3.7","ink-select-input":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0","@types/node":"^20.0.0","@modelcontextprotocol/sdk":"^1.12.0"},"optionalDependencies":{"terminal-kit":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/leo-cli_0.5.6_1784965699794_0.8241398777298967","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@eliyantosarage/leo-cli","version":"0.6.0","description":"Brave Leo AI CLI — Claude Code-style agent with tools, skills, plugins, MCP, memory, todos","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js"}},"bin":{"leo":"bin/leo.js","leo-cli":"bin/leo.js"},"scripts":{"dev":"tsx src/cli/index.ts --help","build":"tsup","build:check":"tsc --noEmit","test":"vitest run","test:watch":"vitest","postinstall":"node scripts/postinstall.js","prepublishOnly":"npm run build && npm test --if-present || npm run build:check"},"keywords":["brave","leo","ai","cli","chat","claude-code","terminal","assistant","llm","brave-browser","mcp","plugins","skills","tui","agent","tools","memory","subscription","playwright"],"author":{"name":"eliyantosarage"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/eliyantosarage/leo-cli.git"},"homepage":"https://github.com/eliyantosarage/leo-cli#readme","bugs":{"url":"https://github.com/eliyantosarage/leo-cli/issues"},"engines":{"node":">=18.0.0"},"dependencies":{"@types/blessed":"^0.1.27","@types/react":"^18.3.31","@types/react-dom":"^18.3.7","blessed":"^0.1.81","boxen":"^7.1.1","chalk":"^5.3.0","cli-table3":"^0.6.5","commander":"^12.1.0","ink":"^4.4.1","ink-select-input":"^2.0.0","ink-spinner":"^5.0.0","ink-text-input":"^2.0.0","node-forge":"^1.3.1","ora":"^8.0.1","playwright":"^1.61.0","react":"^18.3.1","react-dom":"^18.3.1","wrap-ansi":"^9.0.0","zod":"^3.23.0"},"devDependencies":{"@modelcontextprotocol/sdk":"^1.12.0","@types/node":"^20.0.0","tsup":"^8.0.0","tsx":"^4.7.0","typescript":"^5.5.0","vitest":"^2.0.0"},"optionalDependencies":{"terminal-kit":"^3.0.0"},"_id":"@eliyantosarage/leo-cli@0.6.0","_nodeVersion":"26.2.0","_npmVersion":"12.0.1","dist":{"integrity":"sha512-rnLRRpQfYa+R+xXEDkr7sjSuEJtowOaNONRl4VMj8k2b9SzssNClpkrSuDN7D5JHNqHo4Q0hMuzPu/nbq+STwA==","shasum":"708e46473617bdc0cb41e2edd2d42501b53915aa","tarball":"https://registry.npmjs.org/@eliyantosarage/leo-cli/-/leo-cli-0.6.0.tgz","fileCount":12,"unpackedSize":1782569,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIA6jAL3WJLuF3R+7+ZHBOzIpsB+g40F3CuLReLAMkO7nAiEAvQ7JFdbQduPIVBnQbqWuap3kEx17n+jS2DUB/FWr6hE="}]},"_npmUser":{"name":"eliyantosarage","email":"officialelsa21@gmail.com"},"directories":{},"maintainers":[{"name":"eliyantosarage","email":"officialelsa21@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/leo-cli_0.6.0_1784966815870_0.14187485481292006"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-25T05:36:34.873Z","modified":"2026-07-25T08:06:56.198Z","0.3.0":"2026-07-25T05:36:35.253Z","0.3.1":"2026-07-25T05:41:33.055Z","0.3.2":"2026-07-25T05:47:57.694Z","0.3.3":"2026-07-25T05:50:22.448Z","0.4.0":"2026-07-25T05:57:15.704Z","0.4.1":"2026-07-25T06:02:13.004Z","0.4.2":"2026-07-25T06:12:42.530Z","0.4.3":"2026-07-25T06:19:36.999Z","0.4.4":"2026-07-25T06:23:10.631Z","0.4.5":"2026-07-25T06:26:41.303Z","0.4.6":"2026-07-25T06:29:39.690Z","0.4.7":"2026-07-25T06:32:04.495Z","0.5.0":"2026-07-25T06:39:38.763Z","0.5.1":"2026-07-25T06:56:55.903Z","0.5.2":"2026-07-25T07:06:44.366Z","0.5.3":"2026-07-25T07:24:03.981Z","0.5.4":"2026-07-25T07:31:40.902Z","0.5.5":"2026-07-25T07:41:51.331Z","0.5.6":"2026-07-25T07:48:19.930Z","0.6.0":"2026-07-25T08:06:56.041Z"},"bugs":{"url":"https://github.com/eliyantosarage/leo-cli/issues"},"author":{"name":"eliyantosarage"},"license":"MIT","homepage":"https://github.com/eliyantosarage/leo-cli#readme","keywords":["brave","leo","ai","cli","chat","claude-code","terminal","assistant","llm","brave-browser","mcp","plugins","skills","tui","agent","tools","memory","subscription","playwright"],"repository":{"type":"git","url":"git+https://github.com/eliyantosarage/leo-cli.git"},"description":"Brave Leo AI CLI — Claude Code-style agent with tools, skills, plugins, MCP, memory, todos","maintainers":[{"name":"eliyantosarage","email":"officialelsa21@gmail.com"}],"readme":"# @eliyantosarage/leo-cli\n\n> Complex TypeScript CLI for Brave Leo AI — Claude Code-style architecture with agent system, tools, plugins, skills, MCP, TUI, memory, todos\n\n[![npm version](https://img.shields.io/npm/v/@eliyantosarage/leo-cli)](https://www.npmjs.com/package/@eliyantosarage/leo-cli)\n[![license](https://img.shields.io/npm/l/@eliyantosarage/leo-cli)](./LICENSE)\n[![node](https://img.shields.io/node/v/@eliyantosarage/leo-cli)](https://nodejs.org)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.5-blue)](https://www.typescriptlang.org/)\n\n## What is this?\n\n`leo-cli` brings Brave Leo AI (`chrome://leo-ai`) to your terminal via **Playwright + CDP** browser automation. v0.3.0 is a full **TypeScript rebuild** with **agentic tool calling** (Claude Code-style), memory, todos, permissions, MCP, plugins, and skills.\n\nPublish-ready: `npm i -g @eliyantosarage/leo-cli`\n\n## Installation\n\n```bash\nnpm i -g @eliyantosarage/leo-cli\n# verify\nleo --help\nleo doctor\n```\n\nRequirements: **Node.js >=18** + **Brave Browser** (Stable or Beta)\n\nPostinstall will install Playwright Chromium automatically (skips if already present).\n\n## Quick Start\n\n```bash\nleo                        # dedicated terminal if no args (Windows: new cmd), else chat\nleo chat                   # interactive chat\nleo chat --tui             # TUI mode (experimental)\nleo ask \"Apa itu Leo?\"     # single question\nleo status                 # Brave + CDP + sessions + context status\nleo doctor                 # health checks\nleo kill                   # kill tracked Brave PID (use --force for broad)\n```\n\n## Commands (22)\n\n```\n💬 Chat & Agent\n  chat (c)           Start interactive chat with agent tools\n  ask (a)            Ask single question\n  agent <prompt>     Run in agentic mode with tool calling (Claude Code-style)\n  tui                TUI chat mode\n\n🧠 Agent System (11 builtin tools)\n  agent tools        List available tools\n  Read/Write/Edit    File operations\n  Bash               Execute shell commands\n  Grep/Glob          Search code\n  WebFetch           Fetch URL content\n  TodoWrite          Manage task list\n  Task               Launch subagent (general|explorer|reviewer|builder|investigator)\n  Question           Ask user clarifying questions\n  Memory             Persistent cross-session memory\n\n📁 Sessions (8 subcommands)\n  sessions list\n  sessions resume <id>\n  sessions delete <id>\n  sessions export <id> -f md|json|html -o file\n  sessions import <file>\n  sessions clear\n  sessions search <query>\n  sessions fork <id> [--title]\n\n📎 Context\n  context add <file>\n  context remove|rm <file>\n  context list\n  context clear\n  context show <file>\n\n🧩 Memory & Todos\n  memory add/list/get/remove/clear/export\n  todo add/list/done/start/remove/clear/stats\n\n🔒 Permissions\n  permissions show/set/add-rule/remove-rule/reset\n\n⚙️ Config (hierarchy: defaults < global ~/.leo-cli/config.json < .leo/config.json < env LEO_CLI_* < CLI flags)\n  config list [--scope global|project|all]\n  config get <key>\n  config set <key> <value> [--scope global|project]\n  config reset [--scope] [--yes]\n\n  Legacy flags still work: leo config --list, -k <key> -v <value>\n\n🧩 Extensions\n  plugins list/add/remove/info\n  skills list/run/add/remove/info\n\n🔌 Integration\n  mcp start [--stdio|--sse --port <port>]\n  mcp config  (prints JSON snippet for Claude Code, supports --sse)\n  mcp list-tools  (22 tools: sessions, models, context, memory, todos, + 11 ToolManager tools)\n  completion [bash|zsh|fish|powershell]\n\n🩺 System\n  status [--json] [--port]\n  doctor [--json]\n  models [--json]     (from bundle analysis: automatic, deepseek-color, mistral-color, qwen-color)\n  update [--force] [--json]\n  init [--force] [--template basic] [--cwd path]\n  kill [--force]\n```\n\nGrouped help: `leo --help`, each subcommand has own help e.g. `leo sessions --help`.\n\nGlobal options: `--verbose`, `--json`, `--quiet`, `--port <port>`, `--cwd <path>`, `--no-update-check`, `--no-color`, `-V --version`, `-h --help`\n\n## Project Awareness (.leo/ directory)\n\n```bash\nleo init                    # creates .leo/ in current dir\nleo init --template basic   # same, with example skill explain.md\n```\n\nStructure created:\n\n```\nmy-project/\n├── .gitignore (appends .leo/cache/ if git repo)\n├── CLAUDE.md              # project instructions (auto-loaded by agent)\n├── AGENTS.md              # agent instructions (auto-loaded by agent)\n└── .leo/\n    ├── config.json       # project config (model, language, plugins disabled list etc)\n    ├── context/          # project context files\n    ├── plugins/          # local plugins\n    ├── skills/           # prompt templates / skills\n    │   └── explain.md\n    ├── memory.json       # project-scoped persistent memory\n    ├── todos.json        # project-scoped todo list\n    ├── cache/            # project cache\n    └── README.md\n```\n\nGlobal dirs remain: `~/.leo-cli/config.json`, `sessions/`, `context/`, `cache/`, `plugins/`, `skills/`, `memory.json`, `todos.json`, `permissions.json`\n\nConfig merge order: `defaults.ts` → global `~/.leo-cli/config.json` → project `.leo/config.json` → env `LEO_CLI_MODEL`, `LEO_CLI_PORT`, `LEO_CLI_VERBOSE`, etc → CLI flags (highest).\n\n## Agent System (Claude Code-style)\n\nLeo CLI v0.3.0 introduces an agentic mode with tool calling, inspired by Claude Code.\n\n### How It Works\n\n1. User sends prompt to `leo chat` or `leo agent <prompt>`\n2. System prompt is built from: CLAUDE.md + AGENTS.md + tools schema + context + memory + todos + project tree\n3. Leo AI receives the prompt and can respond with tool calls\n4. Tool calls are parsed from the response (supports XML-style, JSON code blocks, inline formats)\n5. Tools are executed locally with permission checks\n6. Results are fed back to Leo AI for continued reasoning\n7. Loop continues until Leo responds without tool calls (task complete)\n\n### Available Tools (11)\n\n| Tool | Category | Read-only | Description |\n|------|----------|-----------|-------------|\n| Read | filesystem | yes | Read files/directories with line numbers |\n| Write | filesystem | no | Write/overwrite files |\n| Edit | filesystem | no | Exact string replacement |\n| Bash | execute | no | Execute shell commands |\n| Grep | search | yes | Regex search file contents |\n| Glob | search | yes | Find files by glob pattern |\n| WebFetch | web | yes | Fetch URL content as markdown/text/html |\n| TodoWrite | task | no | Manage task list |\n| Task | task | no | Launch subagent for complex work |\n| Question | communication | yes | Ask user clarifying questions |\n| Memory | memory | no | Persistent cross-session memory |\n\n### Subagent Types\n\n- **general** — General-purpose autonomous agent\n- **explorer** — Fast code exploration, file:line references\n- **reviewer** — Code review, bugs, security, best practices\n- **builder** — Surgical 1-2 file edits for bounded changes\n- **investigator** — Read-only investigation, where-defined, callers\n\n### Slash Commands (in chat)\n\n```\n/help              Show all commands\n/quit              Exit chat\n/clear             Clear screen\n/compact           Compact conversation history\n/model [id]        Show or switch model\n/context [action]  Manage context\n/skills [action]   List or run skills\n/todo [action]     Manage todos\n/memory [action]   Manage memory\n/tools             List available tools\n/agents            Subagent info\n/permissions       Manage permissions\n/webfetch <url>    Fetch URL\n/session           Session info\n/init              Initialize project\n/status            System status\n/doctor            Health checks\n```\n\n### CLAUDE.md / AGENTS.md Auto-Loading\n\nThe agent system automatically loads instruction files from these locations (in order):\n\n1. `./CLAUDE.md`, `./AGENTS.md` (current directory)\n2. `./.claude/CLAUDE.md`, `./.agents/AGENTS.md`\n3. `.leo/CLAUDE.md`, `.leo/AGENTS.md` (project root)\n4. `~/.leo-cli/CLAUDE.md`, `~/.leo-cli/AGENTS.md` (global)\n5. `~/.claude/CLAUDE.md`, `~/.agents/AGENTS.md` (Claude Code compatibility)\n6. `~/.config/opencode/AGENTS.md` (opencode compatibility)\n\nAll found files are merged into the system prompt (max 50KB total, 100KB per file).\n\n### Memory System\n\nPersistent cross-session memory with types and scopes:\n\n```bash\nleo memory add \"auth-decision\" \"Use JWT not session cookies\" --type decision --scope project\nleo memory list\nleo memory get \"auth-decision\"\nleo memory query --search \"auth\" --type decision\nleo memory remove \"auth-decision\"\nleo memory export\n```\n\nTypes: `decision`, `pattern`, `preference`, `fact`, `bug`, `shortcut`, `architecture`, `other`\nScopes: `global`, `project`, `session`\n\n### Todo System\n\n```bash\nleo todo add \"Fix auth bug\" --priority high\nleo todo list\nleo todo start 1\nleo todo done 1\nleo todo remove 1\nleo todo clear\nleo todo stats\n```\n\nStatuses: `pending`, `in_progress`, `completed`, `cancelled`\nPriorities: `high`, `medium`, `low`\n\n### Permissions System\n\nControl which tools require user confirmation:\n\n```bash\nleo permissions show\nleo permissions set write allow      # auto-approve writes\nleo permissions set execute deny      # deny all execution\nleo permissions add-rule Bash system deny  # deny Bash system ops\nleo permissions reset\n```\n\nDefault modes:\n- `read` → allow (auto-approved)\n- `write`, `execute` → ask\n- `system` → deny\n- `interactive`, `subagent` → allow\n\n## Context Files\n\n```bash\nleo context add ./docs.md\nleo context list\nleo context show docs.md\nleo context clear\n\n# With validation and collision-avoid rename (no basename overwrite)\n# Combined context injected as first message in chat/ask with maxChars guard (default 15000 chars, truncates warning)\n```\n\nContext manager: `core/context-manager.ts` merges global + project context, validates size (<100KB per file, not binary), truncates if total > `LIMITS.MAX_CONTEXT_TOTAL_CHARS` (50000).\n\n## Sessions\n\n```bash\nleo sessions list\nleo sessions resume <id>\nleo sessions search \"quantum\"\nleo sessions export <id> -f md -o ./chat.md\nleo sessions export <id> -f html -o ./chat.html\nleo sessions import ./chat.json\nleo sessions fork <id> --title \"My fork\"\nleo sessions clear --yes\n\n# Legacy still works:\nleo sessions --list\nleo sessions --delete <id>\nleo sessions --resume <id>\n```\n\nSession store: `~/.leo-cli/sessions/*.json`, export formats md/json/html, search full-text title+messages, `forkedFrom` tracking, `listArray()` sorted by updated.\n\n## Skills / Prompt Templates\n\nBuiltin skills (from `src/skills/templates.ts`):\n\n- `explain` — Explain code\n- `refactor` — Refactor with requirements\n- `docs` — Generate documentation\n- `test-gen` — Generate tests\n- `review` — Code review\n\n```bash\nleo skills list\nleo skills run explain code=\"console.log('hi')\"\nleo skills run explain --ask code=\"const x = 1\"\nleo skills add ./my-skill.md --scope project\nleo skills remove my-skill\nleo skills info explain\n```\n\nSkill file format `.md` with optional frontmatter `--- name: ... description: ... variables: [code] ---` then template using `{{var}}` placeholders. Also JSON: `{\"name\":\"...\",\"template\":\"...\"}`.\n\n## Plugins\n\n```bash\nleo plugins list\nleo plugins add /path/to/my-plugin\nleo plugins remove my-plugin\nleo plugins info my-plugin\n```\n\nPlugin structure: dir with `plugin.json` manifest `{name,version,description,hooks[]}` or `package.json` with `leo` field. Hooks: `beforeChat`, `afterChat`, `beforeSend`, `afterResponse`, `onError`, `beforeSessionSave`, `onInit`, `onConfigLoad`. Manager at `src/plugins/`.\n\nBuiltins: `auto-context`, `export-hook` examples.\n\n## MCP Integration\n\nExpose Leo CLI as MCP server so Claude Code can use Brave Leo tools.\n\n```bash\nleo mcp list-tools\nleo mcp config   # prints JSON to add to Claude Code settings\nleo mcp start    # stdio transport\n```\n\nTools exposed via MCP: `list_sessions`, `get_session`, `search_sessions`, `list_models`, `get_status`, `list_context`.\n\nAdd to Claude Code:\n\n```json\n{\n  \"mcpServers\": {\n    \"leo\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@eliyantosarage/leo-cli\", \"mcp\", \"start\"]\n    }\n  }\n}\n```\n\n## TUI Mode\n\nExperimental full-screen chat TUI:\n\n```bash\nleo chat --tui\nleo tui\n```\n\nImplemented via `src/ui/tui/`: `TuiChatView`, frame helpers, keybindings (`Enter=send`, `Ctrl+C/D=quit`, `Ctrl+L=clear`). Streaming markdown rendering via `services/render/markdown.ts` `StreamingMarkdownRenderer`.\n\nFalls back to classic if TUI fails.\n\n## Doctor & Status\n\n```bash\nleo doctor\nleo doctor --json\nleo status\nleo status --json\n```\n\nDoctor checks (12): Node version, Brave binary, Brave version, profile dir, global/sessions/context/cache dirs writable, config validity, Playwright installed, Chromium executable exists, CDP port free or Brave, disk sessions size, project .leo/ detection.\n\nStatus panel: Brave path/version/running/PID, CDP connected/isBrave/browserVersion, Node, Playwright version, project root/hasDotLeo, config global/project sources, sessions count/dir, context counts/chars, cache dir.\n\n## Models — Auto-Discovered (17 total)\n\nFrom bundle `chat_ui.bundle.js` 193KB — auto-discovered via `core/model-discovery.ts` parsing `{\"chat-automatic\":\"product-brave-leo\",\"chat-claude-opus\":\"anthropic-color\",...}` map (17 keys). Cached at `~/.leo-cli/cache/models.json` 24h TTL.\n\n```bash\nleo models                     # auto-discovers from disk bundle + cache\nleo models --refresh           # force refresh ignoring cache\nleo models --json              # JSON with source + discoveredAt\nleo models --json | jq -r '.models[].id'\n```\n\nReal registry (discovered):\n\n```\nautomatic            Automatic (Server Routing) - Recommended default (product-brave-leo)\nclaude-opus          Claude Opus - most powerful\nclaude-sonnet        Claude Sonnet - balanced\nclaude-haiku         Claude Haiku - fast & light\nclaude-instant       Claude Instant (legacy fast)\ndeepseek-v3-2        DeepSeek V3.2 - coding/reasoning\nmistral-large        Mistral Large\nqwen-3-235b          Qwen 3 235B - large long-context\nqwen                 Qwen\nkimi-k2-5            Kimi K2.5\nglm-4-7-flash        GLM 4.7 Flash\nnear-glm-5           GLM 5 (NEAR)\nnear-glm-5-1         GLM 5.1 (NEAR)\ngpt-5-4-bedrock      GPT-5 Bedrock\ngrok-4-3-bedrock     Grok 4 Bedrock\nnemotron-nano-3-30b  Nemotron Nano 30B (Nvidia)\nbrave-summary        Brave Summary\n\n+ legacy aliases deepseek-color->deepseek-v3-2, mistral-color->mistral-large, qwen-color->qwen-3-235b\n```\n\nUse with: `leo chat --model claude-sonnet` or `leo ask --model deepseek-v3-2 \"explain quantum\"`\n\nDiscovery sources: cache (24h) > bundle-disk (searches `leo-analysis/chat_ui.bundle.js`, `../leo-analysis`, and research path) > dom (CDP page evaluation of `chrome://leo-ai` bundleMap) > hardcoded fallback.\n\n## Transports — CLI without opening Brave Browser\n\nBased on research `dns-capture.mjs` (MAP *.bsg.brave.com 127.0.0.1:9443 + forged TLS via node-forge) proved FULL request capture and `expiry-test` proved same-body replay 200 OK at t=0,1,5,10min with different AI completions.\n\nNow implemented 3 transports:\n\n**1. browser (default for chat)** - existing Playwright+CDP automation\n\n**2. direct** - uses cached credentials `~/.leo-cli/cache/leo-auth.json` captured via ephemeral Brave then direct https POST to premium endpoint with SSE parsing, no Brave UI staying open. Works for same-body replay, but for different prompt digest changes so signature invalid -> may 401, then needs fresh capture.\n\n**3. mitm (auto-signature capture)** - launches MITM TLS server on 127.0.0.1:9443+random + Brave with `--host-resolver-rules=MAP *.bsg.brave.com 127.0.0.1:PORT --ignore-certificate-errors`, sends prompt via page, intercepts real SSE response and returns. Brave opens briefly then closes, after that you have answer without keeping browser.\n\n**auto** (default for `ask`): tries direct cache first, then mitm proxy, then fallback browser.\n\n```bash\n# Manage credentials\nleo auth status                    # show cache exists/age/validUntil\nleo auth capture --force           # capture fresh via ephemeral Brave (opens briefly)\nleo auth clear\nleo auth test --prompt \"hi\"        # direct API test with cached creds\n\n# Use transports\nleo ask \"Hello\" --transport browser   # stable, opens Brave, polling body.innerText\nleo ask \"Hello\" --transport direct    # uses cached auth, fast if same prompt, may 401 if digest mismatch\nleo ask \"Hello\" --transport mitm      # MITM proxy auto fresh signature for exact body, closes Brave after\nleo ask \"Hello\" --transport auto      # auto: direct cache -> mitm -> browser fallback\n\n# Chat still uses browser by default (interactive polling needed), but future could stream via direct\nleo chat                              # browser\nleo chat --transport mitm             # currently logs info and uses browser (chat direct streaming planned)\n\n# Explain flow:\n# dns-capture proved SKU cookie time-limited-v2 valid >10min, signature NOT time-sensitive for same body\n# direct transport reuses x-brave-key static qztbjzBqJueQZLFkwTTJrieu8Vw3789u + SKU 691 chars + Authorization Signature hs2019\n# digest SHA-256(body) recomputed per prompt, but signature bound to digest so different prompt needs fresh capture\n# mitm solves this by letting C++ generate fresh signature for your exact body\n```\n\nCredentials cache: `~/.leo-cli/cache/leo-auth.json` TTL 12h, contains authorization, cookie, digest sample, xBraveKey, endpoint, validUntil parsed from SKU presentation inner JWT (validFrom/validTo).\n\n**For users wanting CLI without Brave open**: use `leo ask --transport direct` after first `leo auth capture`, or `leo ask --transport mitm \"prompt\"` for fresh capture per prompt (Brave briefly opens then closes, no need to keep open).\n\n## Models (legacy section replaced above)\nqwen-color      Qwen variant - multilingual long-context\n```\n\n```bash\nleo models\nleo chat --model automatic\n```\n\n## Completion\n\n```bash\nleo completion bash\nleo completion zsh\nleo completion fish\nleo completion powershell\n\n# Install example bash:\nleo completion bash > ~/.leo-completion.bash\necho 'source ~/.leo-completion.bash' >> ~/.bashrc\n```\n\nGenerates completion for 16 commands including subcommands for sessions/context/config/plugins/skills/mcp.\n\n## Update Checker\n\nNon-blocking fetch `https://registry.npmjs.org/@eliyantosarage%2Fleo-cli/latest` cached daily at `~/.leo-cli/cache/update-check.json`. Banner if newer version available.\n\n```bash\nleo update --force\n```\n\nDisable via `--no-update-check` or env `LEO_CLI_NO_UPDATE_CHECK=1` or `CI=1`.\n\n## How It Works\n\n```\nTerminal you > input\n  → Playwright types into [data-testid=\"leo-input\"] (span contenteditable=plaintext-only, light DOM)\n  → Click [data-testid=\"leo-submit-button\"] (shadow DOM button) + Enter fallback\n  → Leo JS sendMessage() via Svelte\n  → Mojo IPC ai_chat.mojom\n  → C++ browser process:\n      • ECDSA P-256 hs2019 signature keyId windows-151-beta (Windows CNG private key non-exportable)\n      • Injects __Secure-sku#brave-leo-premium (691 chars, time-limited-v2 JWT, per-account, browser-level storage)\n      • digest SHA-256(body)\n      • x-brave-key qztbjzBqJueQZLFkwTTJrieu8Vw3789u (static, shared all users)\n  → POST https://ai-chat-premium.bsg.brave.com/v1/chat/completions (SSE text/event-stream)\n      Request: brave_capability [\"chat\"], messages [{content:[{text,type:text}],role:user}], model automatic, stream true, system_language id_ID, tools [code_execution_tool, tab_management, memory_storage_tool]\n  → SSE streaming → DOM body.innerText grows → polling stable >=6 ticks → extractFinalAnswer (noise filter + prompt position detection)\n  → Display + save to session ~/.leo-cli/sessions/*.json\n```\n\nDirect API replay **not stable**: signature per-request bound to body digest via CNG non-exportable key; SKU is browser-level storage not JS-accessible. DNS host-resolver capture method `MAP *.bsg.brave.com 127.0.0.1:9443` + TLS SNI forged certs via node-forge successfully captured FULL request (URL, headers, 5882 byte body, 691 char SKU) and response, proven signature NOT time-sensitive (>10min valid) and SKU valid >10min, but still requires fresh C++-generated sig. So browser automation remains most stable approach.\n\nFor deep analysis: see `SUMMARY.md` in original research repo.\n\n## Architecture\n\n```\nbin/leo.js (thin wrapper file:// import)\n  → dist/cli/index.js createProgram()\n    → middleware: project detection, configStore.load (hierarchy), logger, update check fire-and-forget, plugin load\n\nsrc/ structure:\n  cli/        index.ts (factory), middleware.ts, errors.ts, help.ts, completion/ (bash/zsh/fish)\n  commands/   chat, ask, sessions/*, context/*, config/*, status, kill, models, doctor, init, completion, update, plugins/*, skills/*, mcp/*\n  core/       brave-service.ts (find, launch pid tracking, kill pid-aware, CDP), leo-driver.ts (real page.evaluate fns), leo-service.ts (send+wait+extract), chat-engine.ts (orchestration), session-store.ts (CRUD+search+export/import/fork), config-store.ts (hierarchy+validation), project.ts (.leo/ init/detect), context-manager.ts (merge+validate+truncate)\n  plugins/    index.ts Manager, loader.ts, registry.ts HookRegistry, builtins/ auto-context, export-hook\n  skills/     index.ts Manager, loader.ts, executor.ts interpolate, templates.ts builtins\n  mcp/        server.ts LeoMcpServer stdio, tools.ts 6 tools, index.ts\n  services/   update-checker.ts daily cache, render/ markdown streaming, code, stream buffer, capture/parser.ts\n  ui/         colors.ts, banner.ts, logger.ts leveled json support, spinner.ts ora wrapper, table.ts, prompts.ts dedup readline, markdown.ts, components/ status-panel, session-list, doctor-report, model-list, plugin-list, tui/ chat-view, frame, keybindings, index.ts startTuiChat\n  utils/      platform.ts, paths.ts XDG+project walkup, fs.ts atomic writeJson, format.ts, validation.ts, semver.ts, env.ts LEO_CLI_* parse, sleep.ts\n  constants/  defaults.ts DEFAULT_CONFIG TIMEOUTS LIMITS NOISE_FILTER, endpoints.ts API_ENDPOINT KNOWN_MODELS X_BRAVE_KEY, errors.ts ExitCode ErrorCode, selectors.ts SELECTORS fallbacks + real fns extractFinalAnswer, index.ts barrel\n  types/      config.ts ConfigSchema zod, session.ts Session Message, brave.ts, leo.ts LeoModel DoctorCheck StatusInfo, plugin.ts PluginManifest SkillDefinition, mcp.ts, cli.ts, index.ts barrel\n\nBC shims retained at src/brave/paths.ts, launcher.ts, leo/selectors.ts, session.ts, client.ts, ui/terminal.ts, utils/config.ts re-exporting new core to keep old JS import paths alive.\n\nBuild: tsup entry src/index.ts + src/cli/index.ts → dist/ ESM + .d.ts + maps, tsc. Postinstall smart: checks ms-playwright cache before downloading chromium.\n```\n\n## Configuration\n\n`~/.leo-cli/config.json` example:\n\n```json\n{\n  \"model\": \"automatic\",\n  \"language\": \"id_ID\",\n  \"port\": 9222,\n  \"headless\": false,\n  \"timeout\": 120000,\n  \"maxContextChars\": 15000,\n  \"plugins\": { \"disabled\": [], \"autoLoad\": true }\n}\n```\n\nProject `.leo/config.json` similar plus `projectName`.\n\nEnv vars: `LEO_CLI_MODEL`, `LEO_CLI_LANGUAGE`, `LEO_CLI_PORT`, `LEO_CLI_VERBOSE`, `LEO_CLI_NO_UPDATE_CHECK`, `LEO_CLI_BRAVE_PATH`, etc.\n\nCLI flags highest precedence.\n\n## Development\n\n```bash\ngit clone https://github.com/eliyantosarage/leo-cli.git\ncd leo-cli\nnpm install\nnpm run build\nnode bin/leo.js --help\nnode bin/leo.js doctor\nnode bin/leo.js models\nnpm run build:check   # tsc --noEmit\nnpm test              # vitest (if added)\n```\n\nBuild output: `dist/index.js 79KB`, `dist/cli/index.js 147KB`, plus d.ts.\n\nPublish files: `bin/`, `dist/`, `scripts/`, `README.md`, `LICENSE`, `CHANGELOG.md` (size ~158KB tgz).\n\n## API Findings (from research)\n\n| Item | Value |\n|------|-------|\n| Endpoint | `https://ai-chat-premium.bsg.brave.com/v1/chat/completions` |\n| Method | POST SSE `text/event-stream` |\n| Model | `automatic` (server routing) |\n| x-brave-key | `qztbjzBqJueQZLFkwTTJrieu8Vw3789u` static | \n| SKU | `__Secure-sku#brave-leo-premium=eyJ0eXBl...` 691 chars time-limited-v2 per-account browser-level |\n| Auth | ECDSA P-256 hs2019 keyId windows-151-beta + digest SHA-256(body) CNG non-exportable |\n| Tools | `code_execution_tool`, `tab_management`, `memory_storage_tool` |\n| Expiry | Signature NOT time-sensitive (>10min), SKU valid >10min |\n\n## Troubleshooting\n\n**Brave not found**\n```\n✗ Brave Browser: NOT FOUND\n```\nInstall from https://brave.com/download/ — CLI looks in ProgramFiles/BraveSoftware/Brave-Browser*/Application/brave.exe + LOCALAPPDATA etc, plus Mac/Linux candidates.\n\n**Connection failed**\n```bash\nleo kill --force\nleo chat\nleo doctor\n```\n\n**Leo AI not loading**\n- Wait longer (page needs 12*2s retries)\n- `leo kill && leo chat`\n- Manually open `chrome://leo-ai` in Brave to verify Leo works\n- `leo doctor` checks selectors/browser\n\n**Port in use**\n```bash\nleo config set port 9223\nleo config get port\n```\n\n**Completion not working**\n```bash\nleo completion bash > ~/.leo-completion.sh\nsource ~/.leo-completion.sh\n```\n\n## Changelog\n\nSee [CHANGELOG.md](./CHANGELOG.md)\n\n## License\n\nMIT — see [LICENSE](./LICENSE)\n\n## Credits\n\n- Built with Playwright, Commander, Chalk, Ora, Zod, TypeScript, tsup\n- MCP SDK optional: @modelcontextprotocol/sdk\n- TUI optional: terminal-kit\n- Inspired by Claude Code architecture\n- Brave Leo AI by Brave Software\n\n## Publish\n\n```bash\nnpm i -g @eliyantosarage/leo-cli   # users\n# maintainer:\nnpm run build\nnpm pack\nnpm publish --access public\n```\n","readmeFilename":"README.md"}