{"_id":"freellmapi","_rev":"4-61371a66a836691fdd0e42535bcbe381","name":"freellmapi","dist-tags":{"latest":"0.5.1"},"versions":{"0.3.0":{"name":"freellmapi","version":"0.3.0","keywords":["freellmapi","llm","openai-compatible","claude-code","codex","aider","cline","coding-agent","cli"],"license":"MIT","_id":"freellmapi@0.3.0","maintainers":[{"name":"theneusoftware","email":"theneusoftware@gmail.com"}],"homepage":"https://github.com/tashfeenahmed/freellmapi/tree/main/cli#readme","bugs":{"url":"https://github.com/tashfeenahmed/freellmapi/issues"},"bin":{"freellmapi":"dist/index.js"},"dist":{"shasum":"93f63cc8001e48439a3b721aa81fa18bd61ee859","tarball":"https://registry.npmjs.org/freellmapi/-/freellmapi-0.3.0.tgz","fileCount":12,"integrity":"sha512-XfQ4HTSmZrQzXMuFDKsihkLrr6WGThlv88raaKn5MDqdAzQor304fd4BY2iY32reKN9KJN+QbZuWDjuuXXPqvg==","signatures":[{"sig":"MEUCIG4rGw2ZnbvvgHUOJl8qKwU2ctJ5uo4+mXELHyKXUd6DAiEApaEHW4kI1MMeH5DhB3n7lOx2/2F4bBRT03hwgmuvkbU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50621},"type":"module","engines":{"node":">=20.18.0 <25.0.0"},"exports":{".":"./dist/index.js","./tools":"./dist/tools.js"},"gitHead":"f5f86081cd6f79eadc1e66945837ba3ae57146db","scripts":{"test":"vitest run","build":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"theneusoftware","email":"theneusoftware@gmail.com"},"repository":{"url":"git+https://github.com/tashfeenahmed/freellmapi.git","type":"git","directory":"cli"},"_npmVersion":"11.16.0","description":"Set up coding agents to use a FreeLLMAPI gateway","directories":{},"_nodeVersion":"24.18.0","dependencies":{"jsonc-parser":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.3","typescript":"~6.0.2","@types/node":"^24.12.2"},"_npmOperationalInternal":{"tmp":"tmp/freellmapi_0.3.0_1785402853090_0.5693173474549924","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"freellmapi","version":"0.4.0","keywords":["freellmapi","llm","openai-compatible","claude-code","codex","aider","cline","coding-agent","cli"],"license":"MIT","_id":"freellmapi@0.4.0","maintainers":[{"name":"theneusoftware","email":"theneusoftware@gmail.com"}],"homepage":"https://github.com/tashfeenahmed/freellmapi/tree/main/cli#readme","bugs":{"url":"https://github.com/tashfeenahmed/freellmapi/issues"},"bin":{"freellmapi":"dist/index.js"},"dist":{"shasum":"16a673480fe8f9fcc633da9b5f083ec4085e22d8","tarball":"https://registry.npmjs.org/freellmapi/-/freellmapi-0.4.0.tgz","fileCount":16,"integrity":"sha512-RojLMI1RH5xUEI7CsrDTliYIMN8QvWj6hjKCcYPDOGXxMlQiLVLvXU3uuaw6lF3H+Z1oh1UEXthkMSjvV2qe2A==","signatures":[{"sig":"MEUCIQDYViLoimZ5zKB6KkhUzdGb1Mja6OGe2dFM0PMELb3T5AIgU4EpJjw1HFaJn9oKz8/n1EV7bWtRXz4PwUNi5n02UxI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/freellmapi@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":87928},"type":"module","engines":{"node":">=20.18.0 <25.0.0"},"exports":{".":"./dist/index.js","./tools":"./dist/tools.js"},"gitHead":"d8ba550c57ff9e30506d3f8de3d2b24706189bad","scripts":{"test":"vitest run","build":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5c994641-fa58-43b7-b3df-4505a1d24855"}},"repository":{"url":"git+https://github.com/tashfeenahmed/freellmapi.git","type":"git","directory":"cli"},"_npmVersion":"11.17.0","description":"Set up coding agents to use a FreeLLMAPI gateway","directories":{},"_nodeVersion":"24.19.0","dependencies":{"jsonc-parser":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.3","typescript":"~6.0.2","@types/node":"^24.12.2"},"_npmOperationalInternal":{"tmp":"tmp/freellmapi_0.4.0_1787131403486_0.6263038225814568","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"freellmapi","version":"0.5.0","keywords":["freellmapi","llm","openai-compatible","claude-code","codex","aider","cline","coding-agent","cli"],"license":"MIT","_id":"freellmapi@0.5.0","maintainers":[{"name":"theneusoftware","email":"theneusoftware@gmail.com"}],"homepage":"https://github.com/tashfeenahmed/freellmapi/tree/main/cli#readme","bugs":{"url":"https://github.com/tashfeenahmed/freellmapi/issues"},"bin":{"freellmapi":"dist/index.js"},"dist":{"shasum":"b06533c5ae4813a2743a150abad982aa196ec39e","tarball":"https://registry.npmjs.org/freellmapi/-/freellmapi-0.5.0.tgz","fileCount":16,"integrity":"sha512-9M6qkCZDdjszOOqwRhsQ8a+B3nPeYG4gn3k8icPo5/8XyYFt7oqNsm4VSk/WmBZR/ySMuOHFXScrSmlkIyU9MA==","signatures":[{"sig":"MEYCIQCgXuo9FNNnvea0mxb8NUFQgPlSWgiJJGBpz+BlpUbgWQIhAMFeUILmc5bVGv+Xru5jODy/y5lLfWGkcuSkW7eQS0XM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/freellmapi@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":94369},"type":"module","engines":{"node":">=20.18.0 <25.0.0"},"exports":{".":"./dist/index.js","./tools":"./dist/tools.js"},"gitHead":"db0b1b650e531f6b61316d58a8d85eb420b6b69e","scripts":{"test":"vitest run","build":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5c994641-fa58-43b7-b3df-4505a1d24855"}},"repository":{"url":"git+https://github.com/tashfeenahmed/freellmapi.git","type":"git","directory":"cli"},"_npmVersion":"11.17.0","description":"Set up coding agents to use a FreeLLMAPI gateway","directories":{},"_nodeVersion":"24.19.0","dependencies":{"yaml":"^2.9.0","jsonc-parser":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.3","typescript":"~6.0.2","@types/node":"^24.12.2"},"_npmOperationalInternal":{"tmp":"tmp/freellmapi_0.5.0_1787488345880_0.42254275018994236","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"freellmapi","version":"0.5.1","description":"Set up coding agents to use a FreeLLMAPI gateway","license":"MIT","repository":{"type":"git","url":"git+https://github.com/tashfeenahmed/freellmapi.git","directory":"cli"},"homepage":"https://github.com/tashfeenahmed/freellmapi/tree/main/cli#readme","bugs":{"url":"https://github.com/tashfeenahmed/freellmapi/issues"},"keywords":["freellmapi","llm","openai-compatible","claude-code","codex","aider","cline","coding-agent","cli"],"type":"module","bin":{"freellmapi":"dist/index.js"},"exports":{".":"./dist/index.js","./tools":"./dist/tools.js"},"scripts":{"build":"tsc","test":"vitest run","prepublishOnly":"npm run build && npm test"},"engines":{"node":">=20.18.0 <25.0.0"},"dependencies":{"jsonc-parser":"^3.3.1","yaml":"^2.9.0"},"devDependencies":{"@types/node":"^24.12.2","typescript":"~6.0.2","vitest":"^3.1.3"},"gitHead":"461c6566f9f47930a72270fb1bd20f28f7f1b6a9","_id":"freellmapi@0.5.1","_nodeVersion":"24.20.0","_npmVersion":"11.19.0","dist":{"integrity":"sha512-I6CWXvh54E2keaPhS0yoLeV9XqKsfmaxyMhwEDzmMmyrPPyhUPiWN4pPvA6K/gJyCabHdx9AXdxiT4nQEF1lVA==","shasum":"cc48cbec2c22822a19ca0b0f344b904869faa57b","tarball":"https://registry.npmjs.org/freellmapi/-/freellmapi-0.5.1.tgz","fileCount":16,"unpackedSize":99723,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/freellmapi@0.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDi3QxotVWZtg/JzoDr/rqQAOBmyawF1axP74t8tBqX+gIgP2RIqcmt8DD6JGaHUEGjUd3NzS6xBaXLOX2jHsoJuOg="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5c994641-fa58-43b7-b3df-4505a1d24855"}},"directories":{},"maintainers":[{"name":"theneusoftware","email":"theneusoftware@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/freellmapi_0.5.1_1788428019078_0.953646540323507"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-30T09:14:12.961Z","modified":"2026-09-03T09:33:39.561Z","0.3.0":"2026-07-30T09:14:13.238Z","0.4.0":"2026-08-19T09:23:23.639Z","0.5.0":"2026-08-23T12:32:26.037Z","0.5.1":"2026-09-03T09:33:39.249Z"},"bugs":{"url":"https://github.com/tashfeenahmed/freellmapi/issues"},"license":"MIT","homepage":"https://github.com/tashfeenahmed/freellmapi/tree/main/cli#readme","keywords":["freellmapi","llm","openai-compatible","claude-code","codex","aider","cline","coding-agent","cli"],"repository":{"type":"git","url":"git+https://github.com/tashfeenahmed/freellmapi.git","directory":"cli"},"description":"Set up coding agents to use a FreeLLMAPI gateway","maintainers":[{"name":"theneusoftware","email":"theneusoftware@gmail.com"}],"readme":"# freellmapi\n\nPoint your coding agent at a [FreeLLMAPI](https://github.com/tashfeenahmed/freellmapi)\ngateway in one command. The generators read the models your server is actually\nserving and write the config file each tool expects.\n\n```bash\nnpx freellmapi setup-claude --url http://localhost:3001 --api-key <your-key>\n```\n\nNo install step, no account. The unified API key comes from your FreeLLMAPI\ndashboard (or the tray popover in the desktop app).\n\n## Commands\n\n| Command | Tool |\n| --- | --- |\n| `setup-claude` | Claude Code |\n| `setup-codex` | Codex CLI |\n| `setup-cline` | Cline |\n| `setup-continue` | Continue |\n| `setup-aider` | Aider |\n| `setup-opencode` | OpenCode |\n| `setup-goose` | Goose |\n| `setup-qwen` | Qwen Code |\n| `setup-roo` | Roo Code |\n| `setup-kilo` | Kilo Code |\n| `setup-crush` | Crush |\n| `setup-dsh` | DeepSeek Harness (`dsh`) |\n| `setup-mimo` | MiMo Code (`mimo`) |\n| `setup-cursor` | Cursor |\n| `setup-generic` | Any OpenAI-compatible client |\n| `launch` | Run Claude Code with credentials injected into the child process |\n| `launch-codex` | Run Codex the same way |\n| `list` | Print the supported tools and their base URLs |\n\n## Options\n\n| Flag | Meaning |\n| --- | --- |\n| `--url URL` | Gateway base URL (default `http://localhost:3001`) |\n| `--api-key KEY` | Unified API key |\n| `--profile NAME` | Name the generated profile/provider entry |\n| `--model ID` | Pin a specific model instead of the catalog default |\n| `--dry-run` | Print the diff and write nothing |\n\n`FREELLMAPI_URL` and `FREELLMAPI_API_KEY` work in place of `--url` / `--api-key`.\n\n## Safety\n\nEvery generator is non-destructive: it merges into your existing configuration\nrather than replacing it, and takes a timestamped backup before touching a file\nthat already exists. `--dry-run` shows the exact diff first.\n\nThe two `launch` commands never write credentials to disk at all — they inject\nthem into the child process environment for that run only.\n\n## Requirements\n\nNode.js >= 20.18. A running FreeLLMAPI gateway\n([install guide](https://github.com/tashfeenahmed/freellmapi/blob/main/docs/install.md)).\n\n## Links\n\n- [Clients & coding agents guide](https://github.com/tashfeenahmed/freellmapi/blob/main/docs/clients/01-agent-clients.md)\n- [Issue tracker](https://github.com/tashfeenahmed/freellmapi/issues)\n\nMIT © Tashfeen Ahmed\n","readmeFilename":"README.md"}