{"_id":"boaclaw","_rev":"8-ab6fe0c071123064eae8bee1295e959f","name":"boaclaw","dist-tags":{"latest":"1.0.7"},"versions":{"1.0.0":{"name":"boaclaw","version":"1.0.0","keywords":["claude","claude-code","boa","bayofassets","factory","ai","llm","setup"],"license":"MIT","_id":"boaclaw@1.0.0","maintainers":[{"name":"exception-regret","email":"exceptionregret@gmail.com"}],"bin":{"boaclaw":"bin/boaclaw.js"},"dist":{"shasum":"1ff1c34868db943ef2fa1b1ffece5d757b4f6a2c","tarball":"https://registry.npmjs.org/boaclaw/-/boaclaw-1.0.0.tgz","fileCount":3,"integrity":"sha512-QS8UXR5VvNHbLfv1aRuIfCFEKXmUfGkcPyJTUDe6dxsK90EmkMRiRnREl/8beC1SKbKbYnS8/qjtBMZdZWqC7g==","signatures":[{"sig":"MEUCIQDgvX7DsbfNb8VfnHWjd7hNXPEzwsjKM3Y6EGDVw2uh4wIgVulX2gX4/YXFLcELNtAxIetTWL0XyGKdlPY3mLI+W1g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14058},"type":"module","engines":{"node":">=18"},"gitHead":"d5ec54626fb1d34bb2ad2eebfc2336d02b255de7","scripts":{"postinstall":"node bin/postinstall.mjs"},"_npmUser":{"name":"exception-regret","email":"exceptionregret@gmail.com"},"_npmVersion":"11.10.0","description":"BOA setup for Claude Code and Factory","directories":{},"_nodeVersion":"22.15.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/boaclaw_1.0.0_1775310497165_0.5945185013275769","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"boaclaw","version":"1.0.1","keywords":["claude","claude-code","boa","bayofassets","factory","ai","llm","setup"],"license":"MIT","_id":"boaclaw@1.0.1","maintainers":[{"name":"exception-regret","email":"exceptionregret@gmail.com"}],"bin":{"boaclaw":"bin/boaclaw.js"},"dist":{"shasum":"5e72fb03d274d6d509d2f3d175e64a4de08182c5","tarball":"https://registry.npmjs.org/boaclaw/-/boaclaw-1.0.1.tgz","fileCount":4,"integrity":"sha512-U4VlFfvDnaTwzXyHUx5y1b4SMroS6qal/3QpjJN/pqJU0Sg2KvRzjmHNFciiY+9j7hK61uez8s3F1wgdmb9g8Q==","signatures":[{"sig":"MEUCICkZHBMLNhSfUSi1su1/vv2JBwu7Qo/51lM21tRISNDaAiEApGa2CxcQsOyu4a99OdZ1LWTIpCcJ42zVXsQFsPR9ofk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23724},"type":"module","engines":{"node":">=18"},"gitHead":"6719a45e7dcd37dabf5f1f7ddcb9972ced3a99ce","scripts":{"postinstall":"node bin/postinstall.mjs"},"_npmUser":{"name":"exception-regret","email":"exceptionregret@gmail.com"},"_npmVersion":"11.10.0","description":"BOA setup for Claude Code and Factory","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/boaclaw_1.0.1_1775458377796_0.08492694674661605","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"boaclaw","version":"1.0.2","keywords":["claude","claude-code","boa","bayofassets","factory","ai","llm","setup"],"license":"MIT","_id":"boaclaw@1.0.2","maintainers":[{"name":"exception-regret","email":"exceptionregret@gmail.com"}],"bin":{"boaclaw":"bin/boaclaw.js"},"dist":{"shasum":"8690eb535d10707bb251462130d2a432645c9e30","tarball":"https://registry.npmjs.org/boaclaw/-/boaclaw-1.0.2.tgz","fileCount":4,"integrity":"sha512-UtVVzpGk4IiojCquFIj0IvyXXgOLspw3susMbUL2AA4FmKBXDmcAcq1B8YXmjoPKvqlxnGMllCJ9evbGmME6FA==","signatures":[{"sig":"MEUCIQCgKWk0anan+lxgz9dexhFeC91JdpHCp1JZ2ccrP00nnAIgaMrmNmNO3TQyv2jQyuYBxFcJufxg3gvIikP7nNBfifE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23715},"type":"module","engines":{"node":">=18"},"gitHead":"c86949766151d3e72474b8ca212a055cf6a79781","scripts":{"postinstall":"node bin/postinstall.mjs"},"_npmUser":{"name":"exception-regret","email":"exceptionregret@gmail.com"},"_npmVersion":"11.10.0","description":"BOA setup for Claude Code and Factory","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/boaclaw_1.0.2_1775684218196_0.5243276563261583","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"boaclaw","version":"1.0.3","keywords":["claude","claude-code","boa","bayofassets","factory","ai","llm","setup"],"license":"MIT","_id":"boaclaw@1.0.3","maintainers":[{"name":"exception-regret","email":"exceptionregret@gmail.com"}],"bin":{"boaclaw":"bin/boaclaw.js"},"dist":{"shasum":"9d76afeace509803c1361f76e0d62332c4ea3f7b","tarball":"https://registry.npmjs.org/boaclaw/-/boaclaw-1.0.3.tgz","fileCount":4,"integrity":"sha512-t8BkI+K07Mbw3DJZax3jBtsuvYE0AERkOx74GhYHpDn/pba8mHzmma15Eez7/XC2KzV1mm4F06ma2pJw06ozeQ==","signatures":[{"sig":"MEUCIQCur0tiHrK56nMdnFeaf2P6yUigs0Oo1i0pGvugM86McQIgY0A9BCav4L1gr87Vz5urn9fBgmdNGF2QOJ3AKbjNCO4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23715},"type":"module","engines":{"node":">=18"},"gitHead":"f73aa7ebb19e3562babbec9685a5a6f8d551aaa2","scripts":{"postinstall":"node bin/postinstall.mjs"},"_npmUser":{"name":"exception-regret","email":"exceptionregret@gmail.com"},"_npmVersion":"11.10.0","description":"BOA setup for Claude Code and Factory","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/boaclaw_1.0.3_1775684707762_0.7058885618470183","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"boaclaw","version":"1.0.4","keywords":["claude","claude-code","boa","bayofassets","factory","ai","llm","setup"],"license":"MIT","_id":"boaclaw@1.0.4","maintainers":[{"name":"exception-regret","email":"exceptionregret@gmail.com"}],"bin":{"boaclaw":"bin/boaclaw.js"},"dist":{"shasum":"fb2090b86c42be3038a228edb014699b8cb61346","tarball":"https://registry.npmjs.org/boaclaw/-/boaclaw-1.0.4.tgz","fileCount":4,"integrity":"sha512-/cEYcSLVXLV1jRE7q63cD4bx1Mx08ELOuHiVu8CLPVSYHNBCUpELpASSuJ7B92TMhSEDWhvDmOSgqns4FsFCgw==","signatures":[{"sig":"MEUCIAOQ5yYPoU/ZgqVMLv2tRGJtphe9l0BAh3S23PMdAxdIAiEAmKp7NCVzvteyPnhYHsAChOW3LpgwgmA0CqpCY7QRZow=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23724},"type":"module","engines":{"node":">=18"},"gitHead":"53f203b2bc078eced76f749ab0e94981a56874f9","scripts":{"postinstall":"node bin/postinstall.mjs"},"_npmUser":{"name":"exception-regret","email":"exceptionregret@gmail.com"},"_npmVersion":"11.10.0","description":"BOA setup for Claude Code and Factory","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/boaclaw_1.0.4_1775684936454_0.6595322191624218","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"boaclaw","version":"1.0.5","keywords":["claude","claude-code","boa","bayofassets","factory","ai","llm","setup"],"license":"MIT","_id":"boaclaw@1.0.5","maintainers":[{"name":"exception-regret","email":"exceptionregret@gmail.com"}],"bin":{"boaclaw":"bin/boaclaw.js"},"dist":{"shasum":"d96cb36da1f93e0f48c4016fb35a29735e64d77e","tarball":"https://registry.npmjs.org/boaclaw/-/boaclaw-1.0.5.tgz","fileCount":4,"integrity":"sha512-Wzsw5ZzF84lgj7dcpweVc2+AyoAkjEFbzgrJVP1+EXcYqw1ueC7bhJPKEXGB1T33au8h7sJfZO4GmaJ8UmZmlA==","signatures":[{"sig":"MEUCIG/aQdPBd1Vmq/LRqnjXKFkEiu9um8LZqUJUAfNRFI7kAiEAo4YwVG+NUk4SYKxV6cRQ9HJrlVDlhzrLYtVv6eQhwsQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23822},"type":"module","engines":{"node":">=18"},"gitHead":"8c9de30903c503afba3a1df65c27d544505481a1","scripts":{"postinstall":"node bin/postinstall.mjs"},"_npmUser":{"name":"exception-regret","email":"exceptionregret@gmail.com"},"_npmVersion":"11.10.0","description":"BOA setup for Claude Code and Factory","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/boaclaw_1.0.5_1776248030247_0.39077459349579313","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"boaclaw","version":"1.0.6","keywords":["claude","claude-code","boa","bayofassets","factory","ai","llm","setup"],"license":"MIT","_id":"boaclaw@1.0.6","maintainers":[{"name":"exception-regret","email":"exceptionregret@gmail.com"}],"bin":{"boaclaw":"bin/boaclaw.js"},"dist":{"shasum":"4e7b34b2a9c852045805eeb67e240a31119871eb","tarball":"https://registry.npmjs.org/boaclaw/-/boaclaw-1.0.6.tgz","fileCount":4,"integrity":"sha512-duBrpzeJeISQf1IYtkpF1KWuX1quvrwtjnv7rmXaKMSl2RVt/OucWE4mercCuOy2ycOYD2Bhot/TyGfPFz8e4w==","signatures":[{"sig":"MEQCIGUGF2SdIIlsZvILYmpQkS3p/jBcjE54BUEmYj4BHiKBAiB70kkExaKGgegS+8mAY0Nkmi1pwmy0DwUbcM9HcZ/wJg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23813},"type":"module","engines":{"node":">=18"},"gitHead":"70f0f0b8cf826365dac2916ef41ce6743796bd30","scripts":{"postinstall":"node bin/postinstall.mjs"},"_npmUser":{"name":"exception-regret","email":"exceptionregret@gmail.com"},"_npmVersion":"11.10.0","description":"BOA setup for Claude Code and Factory","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/boaclaw_1.0.6_1776615988883_0.9714054017418055","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"boaclaw","version":"1.0.7","description":"BOA setup for Claude Code and Factory","type":"module","bin":{"boaclaw":"bin/boaclaw.js"},"scripts":{"postinstall":"node bin/postinstall.mjs"},"keywords":["claude","claude-code","boa","bayofassets","factory","ai","llm","setup"],"license":"MIT","engines":{"node":">=18"},"gitHead":"b61f2873221f456c6f15e5b864ed7b6625af85be","_id":"boaclaw@1.0.7","_nodeVersion":"24.14.1","_npmVersion":"11.10.0","dist":{"integrity":"sha512-Ivb6tdBmWbBlRVkj4FpyJQaMQneTwSh1mSFGtw3uamUP766u2gfVdyCMdUYr/IPDgnmiXjRh7o7D+gCY8iaK9g==","shasum":"890545740927aca3bdc9e87e0cf4bf81bb4fc491","tarball":"https://registry.npmjs.org/boaclaw/-/boaclaw-1.0.7.tgz","fileCount":4,"unpackedSize":23813,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDHxE+gg5bj5w/tZrCmYruubspgviHuZqHuy9r2QP9bGwIgRjw8aV309cpWr6YGRQYcxTDUcbjInP86WJ4vaP1JeWM="}]},"_npmUser":{"name":"exception-regret","email":"exceptionregret@gmail.com"},"directories":{},"maintainers":[{"name":"exception-regret","email":"exceptionregret@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/boaclaw_1.0.7_1776624394443_0.41813054861103804"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-04T13:48:17.051Z","modified":"2026-04-19T18:46:34.687Z","1.0.0":"2026-04-04T13:48:17.304Z","1.0.1":"2026-04-06T06:52:57.935Z","1.0.2":"2026-04-08T21:36:58.323Z","1.0.3":"2026-04-08T21:45:07.909Z","1.0.4":"2026-04-08T21:48:56.637Z","1.0.5":"2026-04-15T10:13:50.395Z","1.0.6":"2026-04-19T16:26:29.000Z","1.0.7":"2026-04-19T18:46:34.585Z"},"license":"MIT","keywords":["claude","claude-code","boa","bayofassets","factory","ai","llm","setup"],"description":"BOA setup for Claude Code and Factory","maintainers":[{"name":"exception-regret","email":"exceptionregret@gmail.com"}],"readme":"<div align=\"center\">\n\n# boaclaw\n\n**BOA setup for Claude Code & Factory**\n\nConnect [Claude Code](https://docs.anthropic.com/en/docs/claude-code) and [Factory AI Droid](https://app.factory.ai) to [Bay of Assets](https://bayofassets.com) — access Claude, Gemini, and GPT models with a single API key.\n\n[![npm version](https://img.shields.io/npm/v/boaclaw?color=cb3837&label=npm&logo=npm&logoColor=white)](https://www.npmjs.com/package/boaclaw)\n[![node](https://img.shields.io/node/v/boaclaw?color=339933&logo=node.js&logoColor=white)](https://nodejs.org)\n[![license](https://img.shields.io/npm/l/boaclaw?color=blue)](./LICENSE)\n[![platform](https://img.shields.io/badge/platform-windows%20%7C%20macos%20%7C%20linux-lightgrey)](https://www.npmjs.com/package/boaclaw)\n\n</div>\n\n---\n\n## What You Get\n\n| Provider | Models |\n|:---------|:-------|\n| **Claude** | Sonnet 4.6, Opus 4.6 Thinking, Haiku 4.5 |\n| **Gemini** | 3.1 Pro, 3 Flash |\n| **GPT** | 5.1, 5.1 Codex, 5.1 Codex Max, 5.2, 5.2 Codex, 5.3 Codex |\n\n> All 11 models through one BOA API key. No separate accounts needed.\n\n---\n\n## Quick Start\n\n### Prerequisites\n\n| # | What | How |\n|:-:|:-----|:----|\n| 1 | **Node.js 18+** | [nodejs.org](https://nodejs.org) |\n| 2 | **BOA API key** | [bayofassets.com](https://bayofassets.com) |\n| 3 | **Factory AI** *(optional)* | See [Install Factory AI](#install-factory-ai-optional) below |\n\n### Install Node.js (first-time users)\n\nIf you don't have Node.js installed:\n\n**Windows:**\n```powershell\nwinget install OpenJS.NodeJS.LTS\n```\n\n**macOS:**\n```bash\nbrew install node\n```\n\n**Linux (Ubuntu/Debian):**\n```bash\ncurl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -\nsudo apt-get install -y nodejs\n```\n\nOr download directly from [nodejs.org](https://nodejs.org). Verify with:\n\n```bash\nnode -v   # should show v18+\nnpm -v    # should show v9+\n```\n\n### Install & Configure\n\n```bash\nnpx boaclaw@latest\n```\n\nThat's it. It will prompt for your API key and configure everything in one shot:\n\n```\n  boaclaw — BOA setup for Claude Code & Factory\n  ───────────────────────────────────────────────\n\n  Enter your BOA API key: █\n```\n\nOr pass the key directly:\n\n```bash\nnpx boaclaw@latest <your-boa-api-key>\n```\n\nWant the `boaclaw` command available globally for future use?\n\n```bash\nnpm i -g boaclaw\nboaclaw <your-boa-api-key>\n```\n\n### What it does\n\n- ✔ Backs up your Factory config to `~/.boaclaw/backup.json`\n- ✔ Adds all 11 models to Factory AI Droid\n- ✔ Sets env vars **system-wide** (all users) — falls back to current user if no admin rights\n- ✔ Works on Windows, macOS, and Linux\n\n### Restore Original Settings\n\nWant to undo everything?\n\n```bash\nboaclaw --restore\n```\n\nThis removes all env vars boaclaw set and restores your original Factory config from the backup.\n\n---\n\n## Using Claude Code\n\n### 1. Install Claude Code\n\n```bash\nnpm i -g @anthropic-ai/claude-code\n```\n\n### 2. Restart Your Terminal\n\n> **Important:** Environment variables are set persistently, but your current shell won't see them until you restart it.\n>\n> - **New terminal** — picks up automatically\n> - **Current terminal** — run `source ~/.zshrc` or `source ~/.bashrc`\n> - **VS Code / GUI apps** — restart the app or log out & back in\n\n### 3. Launch\n\n```bash\nclaude\n```\n\nClaude Code now routes all requests through Bay of Assets using your API key.\n\n---\n\n## Install Factory AI *(Optional)*\n\nIf you also want custom models inside Factory AI Droid:\n\n**Windows (PowerShell):**\n```powershell\nirm https://app.factory.ai/cli/windows | iex\n```\n\n**macOS / Linux:**\n```bash\ncurl -fsSL https://app.factory.ai/cli | sh\n```\n\nThen create an account at [app.factory.ai](https://app.factory.ai), run `droid` once to generate `~/.factory/settings.json`, then run `boaclaw` — it will detect the Factory config and inject all 11 models automatically.\n\n---\n\n## Environment Variables Set\n\n| Variable | Value |\n|:---------|:------|\n| `ANTHROPIC_BASE_URL` | `https://api.bayofassets.com/` |\n| `ANTHROPIC_AUTH_TOKEN` | *your BOA API key* |\n| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | `claude-haiku-4-5-20251001` |\n| `ANTHROPIC_DEFAULT_SONNET_MODEL` | `claude-sonnet-4-6-20250929` |\n| `ANTHROPIC_DEFAULT_OPUS_MODEL` | `claude-opus-4-6-thinking` |\n\n<details>\n<summary><b>Where are they stored?</b></summary>\n\n| OS | Location |\n|:---|:---------|\n| **Windows** | `HKLM\\...\\Environment` (system) or `HKCU\\Environment` (user) |\n| **macOS** | `~/.bashrc` and `~/.zshrc` (or `/etc/zshenv` with admin) |\n| **Linux** | `~/.bashrc` and `~/.zshrc` (or `/etc/environment` with admin) |\n\n</details>\n\n---\n\n## Models Reference\n\n| Model | Provider | Endpoint |\n|:------|:---------|:---------|\n| `claude-sonnet-4-6-20250929` | Anthropic | `https://api.bayofassets.com/` |\n| `claude-opus-4-6-thinking` | Anthropic | `https://api.bayofassets.com/` |\n| `claude-haiku-4-5-20251001` | Anthropic | `https://api.bayofassets.com/` |\n| `gemini-3.1-pro` | OpenAI-compat | `https://api.bayofassets.com/v1` |\n| `gemini-3-flash` | OpenAI-compat | `https://api.bayofassets.com/v1` |\n| `gpt-5.1` | OpenAI-compat | `https://api.bayofassets.com/v1` |\n| `gpt-5.1-codex` | OpenAI-compat | `https://api.bayofassets.com/v1` |\n| `gpt-5.1-codex-max` | OpenAI-compat | `https://api.bayofassets.com/v1` |\n| `gpt-5.2` | OpenAI-compat | `https://api.bayofassets.com/v1` |\n| `gpt-5.2-codex` | OpenAI-compat | `https://api.bayofassets.com/v1` |\n| `gpt-5.3-codex` | OpenAI-compat | `https://api.bayofassets.com/v1` |\n\n---\n\n## FAQ\n\n<details>\n<summary><b>Can I run it again with a different API key?</b></summary>\n\nYes. Just run `npx boaclaw@latest <new-key>` or `boaclaw <new-key>` again — it updates existing models and env vars without creating duplicates. A fresh backup is saved before every run.\n\n</details>\n\n<details>\n<summary><b>How do I restore my original settings?</b></summary>\n\n```bash\nboaclaw --restore\n```\n\nThis removes all env vars and restores your original Factory config from `~/.boaclaw/backup.json`.\n\n</details>\n\n<details>\n<summary><b>Do I need an Anthropic account?</b></summary>\n\nNo. Claude Code routes through Bay of Assets — you only need a BOA API key.\n\n</details>\n\n<details>\n<summary><b>What if Factory AI isn't installed?</b></summary>\n\n`boaclaw` detects whether `~/.factory/settings.json` exists. If not, it skips Factory setup and only configures Claude Code env vars.\n\n</details>\n\n<details>\n<summary><b>How do I uninstall?</b></summary>\n\n```bash\nboaclaw --restore\nnpm uninstall -g boaclaw\n```\n\n</details>\n\n---\n\n## License\n\nMIT\n","readmeFilename":"README.md"}