{"_id":"@cypress-cc/ffable-code-linux-arm64-musl","name":"@cypress-cc/ffable-code-linux-arm64-musl","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@cypress-cc/ffable-code-linux-arm64-musl","version":"0.1.0","description":"Ffable Code binary for Linux ARM64 (musl)","license":"MIT","os":["linux"],"cpu":["arm64"],"libc":["musl"],"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"gitHead":"de278a2c5359b70f9b04debc24423c435be239fc","_id":"@cypress-cc/ffable-code-linux-arm64-musl@0.1.0","_nodeVersion":"25.8.0","_npmVersion":"11.11.0","dist":{"integrity":"sha512-5hVp60AMUYounKUcKRhGt/fsLm/30EyaxNuG/Ah5jB6SkyLbBSlLNuMYSzfQdgLmbj/bsHX265/y/yRrJVj91A==","shasum":"dc88bf117f5767feef7a93fef67b55320a27c937","tarball":"https://registry.npmjs.org/@cypress-cc/ffable-code-linux-arm64-musl/-/ffable-code-linux-arm64-musl-0.1.0.tgz","fileCount":4,"unpackedSize":102038674,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDBpS/ty56VLOwMcKem9CsQLBX2U1GNE86PuRR0UvbD7wIhAJBJMfHw7+ns+xcoPG0ZHHPKKlMnyVGhtSpohmYnod70"}]},"_npmUser":{"name":"cypress-cc","email":"jdtoo@icloud.com"},"directories":{},"maintainers":[{"name":"cypress-cc","email":"jdtoo@icloud.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ffable-code-linux-arm64-musl_0.1.0_1784739702011_0.9009606324785595"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-22T17:01:41.771Z","0.1.0":"2026-07-22T17:01:42.610Z","modified":"2026-07-22T17:01:42.823Z"},"maintainers":[{"name":"cypress-cc","email":"jdtoo@icloud.com"}],"description":"Ffable Code binary for Linux ARM64 (musl)","license":"MIT","readme":"<div align=\"center\">\n\n# FFABLE CODE SOURCE :)\n\n### ⚡ The Complete Ffable Code CLI Source Code ⚡\n<br/>\n\n<img src=\"https://i.ibb.co/WvY1XBkz/image.png\" alt=\"Ffable Code\" width=\"700\"/>\n\n<br/><br/>\n<a href=\"LICENSE\">\n<img src=\"https://img.shields.io/badge/LICENSE-MIT-3DA639?style=for-the-badge&logo=opensourceinitiative&logoColor=white\" alt=\"MIT License\" height=\"35\"/>\n</a>\n<br/><br/>\n[![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge&logo=typescript&logoColor=white)](https://www.typescriptlang.org/)\n[![Bun](https://img.shields.io/badge/Bun-000000?style=for-the-badge&logo=bun&logoColor=white)](https://bun.sh/)\n[![React](https://img.shields.io/badge/React-20232A?style=for-the-badge&logo=react&logoColor=61DAFB)](https://reactjs.org/)\n<br/>\n<img src=\"https://img.shields.io/badge/OPEN_SOURCE-2EA44F?style=for-the-badge\" alt=\"Open Source\"/>\n<img src=\"https://img.shields.io/badge/512K+_LINES_OF_CODE-purple?style=for-the-badge\" alt=\"Lines of Code\"/>\n<img src=\"https://img.shields.io/badge/1900+_FILES-orange?style=for-the-badge\" alt=\"Files\"/>\n\n---\n\n### 🚀 **FFABLE CODE CLI** 🚀\n\n**AI-powered coding assistant for your terminal**\n\n<br/>\n\n[📂 Browse Source](#-directory-structure) • [🔧 Architecture](#️-architecture-overview) • [🛠️ Tools](#-tool-system) • [⚡ Commands](#-command-system) • [📊 Tech Stack](#-tech-stack)\n\n</div>\n\n---\n\n## 🔥 What Is This?\n\n> **This repository contains the source code of Ffable Code** — the AI-powered CLI for your terminal.\n\n---\n\n## Build and Safe First Run\n\nThe source snapshot did not include its original package manifest. This repository now uses a locked pnpm dependency tree and Bun 1.3.14 to produce a standalone executable.\n\nRequirements: Node.js 20 or newer, pnpm 11.10.0, and ripgrep (`brew install ripgrep` on macOS).\n\n```bash\npnpm install --frozen-lockfile\npnpm audit --prod\npnpm build\n./dist/ffable --version\n```\n\nThe build output is `dist/ffable`. On macOS, the build script applies and verifies a local ad-hoc code signature.\n\nFor the first full-module smoke test, isolate the CLI from telemetry, updates, marketplace downloads, hooks, plugins, Keychain access, and other background traffic:\n\n```bash\nDISABLE_TELEMETRY=1 \\\nDISABLE_AUTOUPDATER=1 \\\nFFABLE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 \\\nFFABLE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL=1 \\\n./dist/ffable --bare --help\n```\n\n`--bare` is the recommended starting mode while evaluating the code. It limits the available tools and requires credentials to be provided explicitly instead of reading OAuth credentials from Keychain.\n\nTo open the interactive TUI directly:\n\n```bash\nFFABLE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL=1 \\\n./dist/ffable --bare --no-chrome\n```\n\nThis standalone build disables the upstream OAuth login commands and\nconnectivity preflight. It can enter the TUI without credentials; configure an\nAPI key or a supported third-party provider before sending model requests.\n\nRun `/exit` inside the TUI to return to the shell. Once you trust the full startup behavior, `./dist/ffable` opens the same TUI with the standard integrations enabled.\n\n## Public npm Distribution\n\nThe publishable dispatcher is `@cypress-cc/ffable-code`. It selects one public optional binary package for the current operating system, CPU, and Linux C library, so an install does not download binaries for other platforms.\n\nSupported targets:\n\n- macOS Apple Silicon and Intel\n- Linux ARM64 and x64, with separate glibc and musl builds\n- Windows x64\n\nBuild and inspect all public packages without publishing:\n\n```bash\npnpm run pack:npm\nls -lh artifacts/npm\n```\n\nAuthenticate as `cypress-cc`, then publish. The command requires the explicit\nconfirmation flag, refuses any other npm identity, rebuilds every target,\npublishes binary packages first, and publishes the dispatcher last. A retry\nskips packages whose exact version was already published:\n\n```bash\nnpm login\nnpm whoami\npnpm run publish:npm -- --confirm\n```\n\nInstall from any machine; public packages do not require an npm login:\n\n```bash\nnpm install -g @cypress-cc/ffable-code\nffable --version\n```\n\nUpgrade the npm-installed CLI with npm as well; the standalone build does not\nregister the upstream OAuth or native self-update commands:\n\n```bash\nnpm install -g @cypress-cc/ffable-code@latest\n```\n\nEvery package sets `publishConfig.access` to `public`, and the publishing script\nrefuses to publish if any platform package is not public. Publishing still\nrequires the `cypress-cc` npm identity and a write token with npm's required 2FA\nauthorization. Do not commit an npm token. On Alpine Linux, install the standard\nC++ runtime before using the musl build:\n\n```bash\napk add --no-cache libstdc++ libgcc\n```\n\n## Third-Party Providers\n\nOpen `/provider` in the TUI to add, edit, test, delete, or switch API profiles. Ffable Code supports both Anthropic Messages and OpenAI-compatible Chat Completions endpoints. Adding a profile activates it for the current session; connection tests run only when you explicitly choose **Test connection** or use `/provider test`.\n\n```text\n/provider\n/provider list\n/provider add\n/provider edit <id>\n/provider use <id>\n/provider use builtin\n/provider test <id>\n/provider delete <id>\n```\n\nFor Anthropic-compatible APIs, the Base URL may be the service root, end in `/v1`, or be the full `/v1/messages` endpoint. For OpenAI-compatible APIs, use a Base URL ending in `/v1` or the full `/chat/completions` endpoint.\n\nProvider metadata is stored in `~/.ffable/providers.json`. API keys are stored separately in `~/.ffable/.env`, using stable per-profile environment variable names. Both files are created with mode `0600`, and `~/.ffable` is mode `0700`. Session sidecars are named `<session-id>.provider.json` beside the session transcript and contain only the Provider ID, protocol, Base URL, and model, never the API key.\n\nSwitching Provider or model does not delete chat history, tasks, todos, tool results, other Provider profiles, or stored keys. Resuming a session restores the Provider and model recorded for that session. Deleting a profile is the only `/provider` operation that removes that profile's stored key.\n\n## Fable5 + Sol Agent Runtime\n\nThe Fable5 + Sol execution runtime is enabled by default. It builds a host-owned TaskFrame for each user turn, guides the model through risk-first probing and execution, records tool request/result digests, prevents read-only tasks from mutating the workspace, and checks for post-change evidence before accepting completion. It does not expose private chain-of-thought; user-visible responses contain decisions, actions, evidence, and blockers.\n\nTask mode and risk are normally inferred from the request. They can be raised or made explicit for automation:\n\n```bash\nFFABLE_AGENT_TASK_MODE=build \\\nFFABLE_AGENT_PROFILE=strict \\\nFFABLE_AGENT_RUNTIME_MAX_CONTINUATIONS=2 \\\n./dist/ffable --bare --no-chrome\n```\n\nSupported task modes are `answer`, `diagnose`, `review`, `build`, `research`, `creative`, `operations`, and `monitor`. Profiles are `lite`, `standard`, and `strict`; an override can raise the inferred risk floor but cannot lower it. Set `FFABLE_AGENT_RUNTIME=0` only for regression comparison with the previous loop.\n\nThe current implementation is turn-scoped. Durable approvals, idempotency, cumulative cost/retry limits, and a protected cross-process audit ledger remain on the [Agent Runtime roadmap](docs/agent-runtime-update-roadmap.md).\n\n## Security Review\n\nThe repository was reviewed before its first full startup on July 22, 2026:\n\n- All 1,902 source files were scanned for executable payloads, persistence, reverse shells, credential access, obfuscated execution, and suspicious outbound endpoints. No malware or backdoor indicator was found.\n- All 552 embedded source maps decoded successfully. Comparing their source content with the visible files did not reveal hidden shell, Keychain, persistence, or network behavior.\n- npm production dependency audit reports no known vulnerabilities. Patched transitive versions are pinned for `tmp` and `@hono/node-server`.\n- Dependency install scripts are denied by default. Bun is explicitly allowed; the unnecessary `protobufjs` postinstall is explicitly disabled.\n- The isolated `--version` and `--bare --help` smoke tests completed without creating config or credential files.\n\nThis review reduces risk; it is not proof that a large codebase is harmless. The repository has only an unsigned initial import commit, so Git history alone cannot authenticate the source.\n\nSome private/internal files referenced by the snapshot were absent. The public build uses explicit disabled fallbacks for those paths, including Ffable in Chrome, Tungsten, the assistant installer, context collapse, cached/snip compaction, and internal verification content. Do not install similarly named private packages from a public registry.\n\nThe official plugin marketplace path downloads ZIP archives from `downloads.ffable.ai` and restores executable bits without a separately pinned artifact signature or checksum. Keep `FFABLE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL=1` set until that distribution channel is trusted, and install only reviewed plugins.\n\n---\n\n## ⭐ Why This Matters\n\n| Feature | Details |\n|---------|---------|\n| 🤖 **AI Agent Architecture** | See exactly how Ffable Code's agentic system works |\n| 🔧 **40+ AI Tools** | File editing, web search, code execution, and more |\n| 💬 **50+ Commands** | Full slash command implementation |\n| 🔌 **MCP Protocol** | Model Context Protocol integration |\n| 🌐 **IDE Bridge** | VS Code & JetBrains integration code |\n| 🧠 **Multi-Agent System** | Agent swarm orchestration |\n| 🎤 **Voice Mode** | Voice input implementation |\n| 📊 **512,000+ Lines** | Production-grade TypeScript |\n\n---\n\n## 📂 Directory Structure\n\n```\n📦 source code/\n├── 🚀 main.tsx                 # CLI entrypoint\n├── 📋 commands.ts              # Command registry\n├── 🔧 tools.ts                 # Tool registry  \n├── 🤖 QueryEngine.ts           # LLM query engine (46K lines!)\n├── 📊 cost-tracker.ts          # Token cost tracking\n│\n├── 📁 commands/                # 50+ slash commands\n├── 📁 tools/                   # 40+ AI agent tools\n├── 📁 components/              # 140+ React/Ink UI components\n├── 📁 services/                # API, MCP, OAuth, LSP integrations\n├── 📁 bridge/                  # IDE communication layer\n├── 📁 coordinator/             # Multi-agent orchestration\n├── 📁 plugins/                 # Plugin system\n├── 📁 skills/                  # Skill system\n├── 📁 voice/                   # Voice input\n├── 📁 vim/                     # Vim mode\n└── 📁 ... and 20+ more directories\n```\n\n---\n\n## 🏗️ Architecture Overview\n\n## 🛠️ Tool System\n\n> **Every capability Ffable Code has is implemented as a modular tool**\n\n| Tool | Description | Category |\n|------|-------------|----------|\n| 🖥️ `BashTool` | Shell command execution | System |\n| 📖 `FileReadTool` | Read files, images, PDFs, notebooks | Files |\n| ✏️ `FileWriteTool` | Create and overwrite files | Files |\n| 🔧 `FileEditTool` | Partial file modification | Files |\n| 🔍 `GlobTool` | File pattern matching | Search |\n| 🔎 `GrepTool` | Content search (ripgrep) | Search |\n| 🌐 `WebFetchTool` | Fetch URL content | Web |\n| 🔍 `WebSearchTool` | Web search | Web |\n| 🤖 `AgentTool` | Spawn sub-agents | Agents |\n| ⚡ `SkillTool` | Execute skills | Skills |\n| 🔌 `MCPTool` | MCP server integration | Protocol |\n| 📡 `LSPTool` | Language Server Protocol | Protocol |\n| 📓 `NotebookEditTool` | Jupyter notebook editing | Files |\n| 📋 `TaskCreateTool` | Task management | Tasks |\n| 👥 `TeamCreateTool` | Team agent management | Agents |\n| 🗺️ `EnterPlanModeTool` | Planning mode | Modes |\n| 🌳 `EnterWorktreeTool` | Git worktree isolation | Git |\n| ⏰ `CronCreateTool` | Scheduled triggers | Automation |\n| 🎯 `SyntheticOutputTool` | Structured output | Output |\n\n---\n\n## ⚡ Command System\n\n> **50+ slash commands for power users**\n\n| Command | Description |\n|---------|-------------|\n| `/commit` | 📝 Create git commits with AI-generated messages |\n| `/review` | 🔍 AI-powered code review |\n| `/compact` | 📦 Compress conversation context |\n| `/mcp` | 🔌 MCP server management |\n| `/config` | ⚙️ Settings management |\n| `/doctor` | 🏥 Environment diagnostics |\n| `/login` / `/logout` | 🔐 Authentication |\n| `/memory` | 🧠 Persistent memory management |\n| `/skills` | ⚡ Skill management |\n| `/tasks` | 📋 Task management |\n| `/vim` | ⌨️ Vim mode toggle |\n| `/diff` | 📊 View changes |\n| `/cost` | 💰 Check usage cost |\n| `/theme` | 🎨 Change theme |\n| `/pr_comments` | 💬 View PR comments |\n| `/resume` | ⏮️ Restore previous session |\n| `/share` | 🔗 Share session |\n| `/desktop` | 🖥️ Desktop app handoff |\n\n---\n\n## 🔌 Service Layer\n\n> **External integrations and core services**\n\n| Service | Description |\n|---------|-------------|\n| 🔗 `api/` | API client & bootstrap |\n| 🔌 `mcp/` | Model Context Protocol integration |\n| 🔐 `oauth/` | OAuth 2.0 authentication |\n| 📡 `lsp/` | Language Server Protocol |\n| 📊 `analytics/` | Feature flags (GrowthBook) |\n| 🔌 `plugins/` | Plugin loader |\n| 📦 `compact/` | Context compression |\n| 🧠 `extractMemories/` | Auto memory extraction |\n| 👥 `teamMemorySync/` | Team memory sync |\n\n---\n\n## 🌉 Bridge System\n\n> **IDE integration layer for VS Code & JetBrains**\n\n```\n┌─────────────────┐     ┌─────────────────┐\n│   VS Code /     │◄───►│  Ffable Code    │\n│   JetBrains     │     │     CLI         │\n└─────────────────┘     └─────────────────┘\n         │                      │\n         └──────────┬───────────┘\n                    │\n         ┌──────────▼──────────┐\n         │   Bridge Protocol   │\n         │  - JWT Auth         │\n         │  - Message Protocol │\n         │  - Permission CB    │\n         └─────────────────────┘\n```\n\n---\n\n## 🔒 Permission System\n\n> **Security-first design with granular permissions**\n\nChecks permissions on every tool invocation:\n- ✅ `default` - Ask for approval\n- 📋 `plan` - Plan mode restrictions\n- ⚡ `auto` - Automatic approval\n- 🔓 `bypassPermissions` - Skip checks\n\n---\n\n## 🚀 Feature Flags\n\nDead code elimination via Bun's `bun:bundle`:\n\n```typescript\nimport { feature } from 'bun:bundle'\n\n// Inactive code is completely stripped at build time\nconst voiceCommand = feature('VOICE_MODE')\n  ? require('./commands/voice/index.js').default\n  : null\n```\n\n**Notable flags:** `PROACTIVE`, `KAIROS`, `BRIDGE_MODE`, `DAEMON`, `VOICE_MODE`, `AGENT_TRIGGERS`, `MONITOR_TOOL`\n\n---\n\n## 📊 Key Files\n\n| File | Lines | Description |\n|------|-------|-------------|\n| 🧠 `QueryEngine.ts` | **~46,000** | Core LLM engine - streaming, tool loops, retry logic |\n| 🔧 `Tool.ts` | **~29,000** | Tool interfaces & permission models |\n| 📋 `commands.ts` | **~25,000** | Command registry & execution |\n| 🚀 `main.tsx` | - | CLI entrypoint with parallel prefetch |\n\n---\n\n## 💻 Tech Stack\n\n<table>\n<tr>\n<td align=\"center\"><img src=\"https://raw.githubusercontent.com/devicons/devicon/master/icons/bun/bun-original.svg\" width=\"40\"/><br/><b>Bun</b></td>\n<td align=\"center\"><img src=\"https://raw.githubusercontent.com/devicons/devicon/master/icons/typescript/typescript-original.svg\" width=\"40\"/><br/><b>TypeScript</b></td>\n<td align=\"center\"><img src=\"https://raw.githubusercontent.com/devicons/devicon/master/icons/react/react-original.svg\" width=\"40\"/><br/><b>React</b></td>\n<td align=\"center\"><img src=\"https://zod.dev/logo.svg\" width=\"40\"/><br/><b>Zod</b></td>\n</tr>\n</table>\n\n| Category | Technology |\n|----------|------------|\n| ⚡ **Runtime** | [Bun](https://bun.sh) - Ultra-fast JavaScript runtime |\n| 📝 **Language** | TypeScript (strict mode) |\n| 🖥️ **Terminal UI** | [React](https://react.dev) + [Ink](https://github.com/vadimdemedes/ink) |\n| 🔧 **CLI Parsing** | [Commander.js](https://github.com/tj/commander.js) |\n| ✅ **Validation** | [Zod v4](https://zod.dev) |\n| 🔍 **Code Search** | [ripgrep](https://github.com/BurntSushi/ripgrep) |\n| 🔌 **Protocols** | MCP SDK, LSP |\n| 🤖 **API** | AI SDK |\n| 📊 **Telemetry** | OpenTelemetry + gRPC |\n| 🚩 **Feature Flags** | GrowthBook |\n| 🔐 **Auth** | OAuth 2.0, JWT, macOS Keychain |\n\n---\n\n## 🎯 Notable Design Patterns\n\n### ⚡ Parallel Prefetch\n```typescript\n// main.tsx — blazing fast startup\nstartMdmRawRead()      // MDM settings\nstartKeychainPrefetch() // Keychain reads\n// All run in parallel before heavy imports!\n```\n\n### 📦 Lazy Loading\nHeavy modules loaded only when needed:\n- OpenTelemetry\n- gRPC\n- Analytics\n- Feature-gated subsystems\n\n### 🤖 Agent Swarms\nMulti-agent orchestration via `coordinator/` — spawn sub-agents with `AgentTool`, create teams with `TeamCreateTool`\n\n### ⚡ Skill System\nReusable workflows in `skills/` executed via `SkillTool` — extensible with custom skills\n\n### 🔌 Plugin Architecture\nFull plugin system in `plugins/` for built-in and third-party extensions\n\n---\n\n## 🔗 Quick Links\n\n<div align=\"center\">\n\n| Resource | Link |\n|----------|------|\n| 📂 Source Code | [`source code/`](source%20code/) |\n| 🔧 Tools | [`source code/tools/`](source%20code/tools/) |\n| ⚡ Commands | [`source code/commands/`](source%20code/commands/) |\n| 🎨 Components | [`source code/components/`](source%20code/components/) |\n| 🌉 Bridge | [`source code/bridge/`](source%20code/bridge/) |\n\n</div>\n\n---\n\n## 📄 License\n\n<div align=\"center\">\n\nThis project is **open source** and free to use for any purpose.\nSee the [LICENSE](LICENSE) file for details.\n\n</div>\n\n---\n\n<div align=\"center\">\n\n### 🔍 Keywords / Tags\n\n`ffable` `ffable-code` `ai` `ai-coding` `cli` `typescript` `bun` `react` `ink` `terminal` `open-source`\n\n</div>\n","readmeFilename":"README.md","_rev":"1-9b38b3642ed5bfbc1e868b72d84342c0"}