{"id":47596622,"url":"https://github.com/fusionaize/faigate","last_synced_at":"2026-05-09T01:17:29.375Z","repository":{"id":341104777,"uuid":"1168866594","full_name":"fusionAIze/faigate","owner":"fusionAIze","description":"Local OpenAI-compatible AI gateway for OpenClaw and other AI-native clients.","archived":false,"fork":false,"pushed_at":"2026-04-02T15:20:53.000Z","size":2410,"stargazers_count":1,"open_issues_count":10,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-03T00:39:26.748Z","etag":null,"topics":["fastapi","foundrygate","llm-gateway","llm-router","multi-provider","openai-compatible","openclaw","self-hosted"],"latest_commit_sha":null,"homepage":"https://fusionaize.com","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fusionAIze.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-02-27T22:16:07.000Z","updated_at":"2026-04-02T15:18:08.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/fusionAIze/faigate","commit_stats":null,"previous_names":["typelicious/clawgate","fusionaize/faigate","typelicious/foundrygate"],"tags_count":53,"template":false,"template_full_name":null,"purl":"pkg:github/fusionAIze/faigate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fusionAIze%2Ffaigate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fusionAIze%2Ffaigate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fusionAIze%2Ffaigate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fusionAIze%2Ffaigate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fusionAIze","download_url":"https://codeload.github.com/fusionAIze/faigate/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fusionAIze%2Ffaigate/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31562697,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fastapi","foundrygate","llm-gateway","llm-router","multi-provider","openai-compatible","openclaw","self-hosted"],"created_at":"2026-04-01T18:13:01.892Z","updated_at":"2026-05-09T01:17:29.368Z","avatar_url":"https://github.com/fusionAIze.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# fusionAIze Gate\n\n[![CI](https://github.com/fusionAIze/faigate/actions/workflows/ci.yml/badge.svg)](https://github.com/fusionAIze/faigate/actions/workflows/ci.yml)\n[![CodeQL](https://github.com/fusionAIze/faigate/actions/workflows/codeql.yml/badge.svg)](https://github.com/fusionAIze/faigate/actions/workflows/codeql.yml)\n[![Release](https://img.shields.io/github/v/release/fusionAIze/faigate?display_name=tag)](https://github.com/fusionAIze/faigate/releases)\n[![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](./LICENSE)\n[![OpenAI-compatible](https://img.shields.io/badge/OpenAI-compatible-0ea5e9.svg)](./docs/API.md)\n[![OpenClaw-friendly](https://img.shields.io/badge/OpenClaw-friendly-111827.svg)](https://openclaw.ai/)\n[![Workstations](https://img.shields.io/badge/workstations-linux%20%7C%20macOS%20%7C%20windows-0f766e.svg)](./docs/WORKSTATIONS.md)\n[![Homebrew](https://img.shields.io/badge/homebrew-formula-fbbf24?logo=homebrew\u0026logoColor=black)](https://github.com/fusionAIze/homebrew-tap)\n[![Docker](https://img.shields.io/badge/docker-ready-2496ED?logo=docker\u0026logoColor=white)](./Dockerfile)\n[![Python](https://img.shields.io/badge/python-3.10%2B-blue.svg)](./pyproject.toml)\n\nLocal OpenAI-compatible AI gateway for 🦞 [OpenClaw](https://openclaw.ai/) and other AI-native clients.\n\nfusionAIze Gate gives OpenClaw, n8n, CLI tools, and custom apps one local endpoint and routes each request to the best configured provider or local worker. It keeps routing, fallback, onboarding, and operator visibility under your control instead of scattering provider logic across every client.\n\nRuns locally on Linux, macOS, and Windows, with first-class workstation guidance for `systemd`, `launchd`, Task Scheduler, and Homebrew-driven macOS installs.\n\n## Quick Navigation\n\n- [Quickstart](#quickstart)\n- [Why fusionAIze Gate](#why-fusionaize-gate)\n- [How It Works](#how-it-works)\n- [Anthropic Bridge](#anthropic-bridge-optional)\n- [API Surface](#api-surface)\n- [How fusionAIze Gate Compares](#how-fusionaize-gate-compares)\n- [Deployment](#deployment)\n- [More Resources](#more-resources)\n- [Community And Security](#community-and-security)\n\n## Why fusionAIze Gate\n\n- Single local endpoint for many upstreams: cloud providers, proxy providers, and local workers can sit behind the same base URL.\n- OpenAI-compatible runtime: chat completions, model discovery, image generation, and image editing use familiar OpenAI-style paths.\n- Better routing than simple first-match proxying: policies, static rules, heuristics, client profiles, hooks, and route-fit scoring all participate.\n- Strong operator visibility: `/health`, provider inventory, route previews, traces, stats, update checks, and dashboard views are built in, including per-client usage highlights.\n- Practical rollout controls: fallback chains, maintenance windows, rollout rings, provider scopes, and post-update verification gates are already there.\n- Copy/paste onboarding: OpenClaw, n8n, CLI, delegated-agent traffic, provider templates, and env starter files ship with the repo.\n- Shell parity \u0026 intelligence: CLI deep‑links, suggestions, and safe config workflows keep dashboard and shell views synchronized (v2.0.0+).\n- Curated provider-catalog checks catch stale model choices, volatile free-tier picks, and source-confidence gaps before local configs quietly age out.\n- Provider discovery can stay transparent: catalog entries can expose official or operator-configured signup links, while recommendation ranking stays performance-led and link-neutral.\n- The onboarding report and doctor CLI can surface those links with disclosure, so operators can share a signup path without turning discovery into biased ranking.\n\n## Quickstart\n\nThe fastest local path is the helper-driven bootstrap.\n\nPlatform quick starts:\n\n- Linux or generic source checkout: use the helper/bootstrap flow below, then `systemd` if you want a long-running service.\n- macOS workstation: use the helper flow below or jump to [Homebrew](./docs/WORKSTATIONS.md#homebrew-on-macos) for `brew services`.\n- Windows workstation: use the source checkout flow below, then the PowerShell and Task Scheduler examples in [docs/WORKSTATIONS.md](./docs/WORKSTATIONS.md).\n\n```bash\ngit clone https://github.com/fusionAIze/faigate.git faigate\ncd faigate\ncp .env.example .env\n./scripts/faigate-bootstrap\n$EDITOR .env\n./scripts/faigate-doctor\npython3 -m venv .venv\n. .venv/bin/activate\npip install -r requirements.txt\npython -m faigate\n```\n\nIn another terminal:\n\n```bash\ncurl -fsS http://127.0.0.1:8090/health\ncurl -fsS http://127.0.0.1:8090/v1/models\n```\n\nThen use the onboarding helpers to move from “the server starts” to “real clients are ready”:\n\n```bash\n./scripts/faigate-provider-catalog --refresh\n./scripts/faigate-doctor --refresh-catalog\n./scripts/faigate-provider-probe --refresh-catalog\n```\n\n`faigate-provider-catalog` mirrors selected official provider sources into the\nlocal Gate DB so operators can compare global model/pricing snapshots against\nlocal key and route readiness. The same summary now shows up in Dashboard and\nQuick Setup, and Gate can re-check due sources on a conservative background\ninterval.\n\nGate v1.16+ extends the metadata system with additional catalogs for **offerings**\n(model-provider-price mappings) and **packages** (provider credit packages, quotas,\nand subscriptions). These enable cost-aware routing decisions and operator alerts\nfor expiring credits. Catalogs are loaded from the external `fusionaize-metadata`\nrepository and cached locally.\n\n```bash\n./scripts/faigate-menu\n./scripts/faigate-config-wizard --help\n./scripts/faigate-config-wizard --purpose general --client generic \u003e config.yaml\n./scripts/faigate-onboarding-report\n./scripts/faigate-provider-discovery\n./scripts/faigate-provider-discovery --json --offer-track free\n./scripts/faigate-onboarding-validate\n```\n\n`./scripts/faigate-menu` now also gives you one Gate-native shell entrypoint for `Quick Setup`, the performance `Dashboard`, provider setup, API keys, HTTP settings, routing modes, client quickstarts, client-scoped wizard flows, validation helpers, service control, and update checks.\n\nThe main menu now starts with compact summary cards for gateway, config, providers, and clients so the current local state is readable before you drill into any helper. Once live traffic exists, the new `Dashboard` view gives you the first operator-facing view of requests, success rate, latency, spend, token volume, provider hotspots, client hotspots, and actionable alerts.\n\nThe `Client Scenarios` layer now also explains each template in more human terms:\n\n- `budget` posture\n- `best when` guidance\n- `tradeoff` to expect\n\nThat keeps the choice closer to real operator intent such as “opencode but cheaper” or “n8n but more reliable” instead of only exposing raw routing-mode names.\n\nInside `Configure`, the control center now follows a clearer split:\n\n- `Current Config` for a concise Gate snapshot\n- `Guided Setup` for full or client-scoped wizard flows\n- `Direct Settings` for API keys, bind settings, and routing defaults\n\n`Quick Setup` is now the fastest happy path for first use:\n\n- Provider Setup\n- Provider Probe\n- API Keys\n- Full Config Wizard\n- Validate\n- Client Scenarios\n- Restart + Verify\n- Client Quickstarts\n\n`Provider Setup` is the new source-onboarding layer in that flow:\n\n- `Known Providers` lets you add curated providers from the catalog and optionally capture keys or upstream overrides right there\n- `Custom Provider` adds an OpenAI-compatible upstream that is not in the curated list yet\n- `Local Worker` adds a local or LAN worker with `contract: local-worker` so the rest of Gate can route against it like any other source\n\nRight after that, `Provider Probe` gives one compact readiness view over:\n\n- config present vs missing\n- key/env coverage\n- current `/health` state when the gateway is already running\n- common failure classes such as missing key, unhealthy, rate-limited, quota-exhausted, or model-unavailable\n\n`Client Scenarios` then turns the next decision into named templates such as:\n\n- `opencode / eco`\n- `opencode / balanced`\n- `opencode / quality`\n- `opencode / free`\n\nThe main menu and the service/config submenus now also show compact runtime snapshots plus short inline tips, so the shell UX stays orienting even before you drill into a helper.\n\nIf you want the client quickstarts or the current profile matrix without stepping through the full menu, use:\n\n```bash\n./scripts/faigate-client-integrations\n./scripts/faigate-client-integrations --recommended\n./scripts/faigate-client-integrations --matrix\n./scripts/faigate-client-integrations --json --client openclaw\n./scripts/faigate-client-integrations --client opencode\n./scripts/faigate-config-overview\n./scripts/faigate-config-overview --json\n```\n\nFor service operations, the control-center flow now matches the standalone helpers more closely:\n\n```bash\n./scripts/faigate-status\n./scripts/faigate-logs --lines 80\n./scripts/faigate-logs --follow\n./scripts/faigate-restart --timeout 15\n```\n\nTo review and selectively adopt multiple candidates during first setup or a later update:\n\n```bash\n./scripts/faigate-config-wizard --purpose free --client n8n --list-candidates\n./scripts/faigate-config-wizard --current-config config.yaml --purpose free --client n8n\n./scripts/faigate-config-wizard --purpose free --client n8n \\\n  --select kilocode,blackbox-free,gemini-flash-lite \u003e config.yaml\n./scripts/faigate-config-wizard --current-config config.yaml --merge-existing \\\n  --select openrouter-fallback,anthropic-claude --write config.yaml\n./scripts/faigate-config-wizard --current-config config.yaml --purpose free --client n8n \\\n  --apply recommended_add,recommended_replace,recommended_mode_changes \\\n  --select kilocode,openrouter-fallback --select-profiles n8n --write config.yaml\n./scripts/faigate-config-wizard --current-config config.yaml --purpose free --client n8n \\\n  --apply recommended_add,recommended_replace,recommended_mode_changes \\\n  --select kilocode,openrouter-fallback --select-profiles n8n --dry-run-summary\n./scripts/faigate-config-wizard --current-config config.yaml --purpose free --client n8n \\\n  --apply recommended_add,recommended_replace,recommended_mode_changes \\\n  --select kilocode,openrouter-fallback --select-profiles n8n \\\n  --write config.yaml --write-backup --backup-suffix .before-wizard\n```\n\nIf you prefer a packaged or service-driven install, jump to [Deployment](#deployment) or the fuller [Operations guide](./docs/OPERATIONS.md).\n\nMinimal Homebrew flow on macOS:\n\n```bash\nbrew tap fusionAIze/homebrew-tap https://github.com/fusionAIze/homebrew-tap\nbrew install fusionAIze/homebrew-tap/faigate\n# or, after the tap is present:\nbrew install faigate\nbrew services start fusionAIze/homebrew-tap/faigate\n```\n\nIf you already have an active Python virtualenv, check which binary you are calling before testing the Brew install:\n\n```bash\nwhich -a faigate\n/opt/homebrew/bin/faigate --version\n/opt/homebrew/bin/faigate-menu --help\n```\n\n## How It Works\n\n```text\n                                 fusionAIze Gate\n\n    +---------------------+   +--------------------+   +--------------------+\n    | Claude-native       |   | OpenAI-native      |   | Automation / CLI   |\n    | clients             |   | clients            |   | clients            |\n    |                     |   |                    |   |                    |\n    | Claude Code         |   | OpenClaw           |   | n8n                |\n    | Claude Desktop      |   | opencode           |   | curl / scripts     |\n    | Anthropic SDK tools |   | OpenAI SDK apps    |   | custom apps        |\n    +---------------------+   +--------------------+   +--------------------+\n               \\                        |                       /\n                v                       v                      v\n         +-------------------------------------------------------------+\n         | One local endpoint                                          |\n         |                                                             |\n         | http://127.0.0.1:8090                                       |\n         | OpenAI-compatible + Anthropic-compatible bridge             |\n         +-------------------------------------------------------------+\n                                        |\n                                        v\n         +-------------------------------------------------------------+\n         | Routing core - Chooses the best route for the job           |\n         |                                                             |\n         | - quality / cost / speed / heuristics / policies            |\n         | - client profiles / routing modes / hooks                   |\n         | - health / readiness / fallback                             |\n         +-------------------------------------------------------------+\n                                        |\n               +------------------------+------------------------+\n               |                        |                        |\n               v                        v                        v\n+------------------------+ +------------------------+ +------------------------+\n| Direct providers       | | Aggregators / mirrors  | | Local workers / models |\n| Anthropic              | | Kilo                   | | Ollama                 |\n| OpenAI                 | | BLACKBOX               | | vLLM                   |\n| Google                 | | OpenRouter             | | LM Studio              |\n| DeepSeek               | |                        | | LAN GPU workers        |\n+------------------------+ +------------------------+ +------------------------+\n\n    +----------------------------------------------------------------------+\n    | Stable session continuity                                            |\n    |                                                                      |\n    | Keep one local endpoint across Claude-native, OpenAI-native, and     |\n    | automation-driven workflows. When Anthropic quota, one provider      |\n    | account, or one route path is exhausted, Gate can continue through   |\n    | another healthy direct route, aggregator route, or local worker      |\n    | without retooling clients. Hooks, health checks, readiness, and      |\n    | fallback stay in one gateway core.                                   |\n    +----------------------------------------------------------------------+\n```\n\nRouting is layered on purpose:\n\n1. Policies can enforce locality, capability, cost, or compliance preferences.\n2. Static and heuristic rules catch known patterns without needing a classifier call.\n3. Request hooks can inject bounded routing hints before the final decision.\n4. Routing modes expose stable virtual model ids like `auto`, `eco`, `premium`, or custom names.\n5. Client profiles can choose their own default routing mode before the final scoring step.\n6. Provider scoring considers health, latency, context headroom, token limits, cache hints, and recent failures.\n\nFor OpenClaw specifically, both one-agent and many-agent traffic can use the same endpoint. fusionAIze Gate can distinguish delegated traffic through request headers such as `x-openclaw-source` when they are present.\n\n## Anthropic Bridge (Optional)\n\nfusionAIze Gate can also expose a small Anthropic-/Claude-compatible bridge surface for clients that speak `POST /v1/messages` instead of OpenAI chat completions.\n\nThe bridge stays intentionally narrow:\n\n- it validates and normalizes Anthropic-style requests\n- it maps them into Gate's internal canonical request model\n- the existing Gate core still owns hooks, policies, routing, health checks, and fallback\n- responses are mapped back into Anthropic-compatible message envelopes\n\nThat makes the bridge useful when a Claude-oriented client should keep one stable local endpoint while Gate decides whether the request should stay on a direct Anthropic route, move to an Anthropic-capable aggregator, or step sideways to a similar coding-capable route or local worker.\n\nOperationally, this helps in two common cases:\n\n- Anthropic subscription or account limits are exhausted, but you still want the session to continue through another route with similar coding or context characteristics.\n- Anthropic-capable aggregator routes such as Kilo or BLACKBOX are available, but you want Gate health checks and fallback rules to decide whether they are actually usable.\n\nDo not assume every aggregator route escapes Anthropic limits. Some routes may still rely on a BYOK Anthropic key from the same account. Keep those paths probeable, degradeable, and out of the top fallback position if they share the same exhausted quota domain.\n\nThe same pattern also helps when the best fallback is not Anthropic at all. Gate can route the same Claude-oriented session toward a coding-capable OpenAI-, Gemini-, DeepSeek-, or local-worker lane when that is the healthiest path with acceptable context and tool fit.\n\nMinimal bridge config:\n\n```yaml\napi_surfaces:\n  anthropic_messages: true\n\nanthropic_bridge:\n  enabled: true\n  allow_claude_code_hints: true\n  model_aliases:\n    claude-code: auto\n    claude-code-fast: eco\n    claude-code-premium: premium\n```\n\nKnown v1 limits:\n\n- non-streaming only\n- text blocks plus basic `tool_use` / `tool_result`\n- `count_tokens` is a local estimate, not provider-exact accounting\n- the optional `claude-code-router` hook only adds routing hints; it is not the protocol bridge\n\nLocal smoke test:\n\n```bash\n./docs/examples/anthropic-bridge-smoke.sh\n```\n\nClient-near validation before release:\n\n```bash\n./docs/examples/anthropic-bridge-validation.sh\n```\n\nFor a fuller operator view, see [docs/anthropic-bridge.md](./docs/anthropic-bridge.md) and [docs/API.md](./docs/API.md).\n\nLocal Claude Code testing, where the client supports Anthropic gateway overrides, follows the same pattern Anthropic documents for LLM gateways:\n\n```bash\nexport ANTHROPIC_BASE_URL=http://127.0.0.1:8090\nexport ANTHROPIC_AUTH_TOKEN=dummy-local-token\n```\n\nKeep the model alias stable and let Gate move the real route behind it. If your local Gate does not enforce auth, the token can be a harmless placeholder. If your setup does enforce client auth, use the token expected by that layer instead.\n\n## API Surface\n\nfusionAIze Gate keeps the primary surface compact and OpenAI-compatible. The full endpoint reference lives in [docs/API.md](./docs/API.md).\n\n| Endpoint | Purpose |\n| --- | --- |\n| `GET /health` | Service health, provider status, and capability coverage |\n| `GET /v1/models` | OpenAI-compatible model list |\n| `POST /v1/chat/completions` | OpenAI-compatible chat routing |\n| `POST /v1/messages` | Optional Anthropic-/Claude-compatible bridge route |\n| `POST /v1/messages/count_tokens` | Optional Anthropic-compatible token estimate |\n| `POST /v1/images/generations` | OpenAI-compatible image generation |\n| `POST /v1/images/edits` | OpenAI-compatible image editing |\n| `POST /api/route` | Chat routing dry-run with decision details |\n| `POST /api/route/image` | Image routing dry-run |\n| `GET /api/providers` | Provider inventory and filterable coverage view |\n| `GET /api/update` | Update status, guardrails, and rollout advice |\n\nQuick checks:\n\n```bash\ncurl -fsS http://127.0.0.1:8090/health\ncurl -fsS http://127.0.0.1:8090/v1/models\ncurl -fsS http://127.0.0.1:8090/v1/chat/completions \\\n  -H 'Content-Type: application/json' \\\n  -d '{\n    \"model\": \"auto\",\n    \"messages\": [\n      {\"role\": \"user\", \"content\": \"Summarize why a local AI gateway is useful.\"}\n    ]\n  }'\n```\n\n## How fusionAIze Gate Compares\n\nThe useful comparison is not “router vs router”, but how much routing and operator burden each approach leaves with you.\n\n| Capability | Direct provider wiring | Hosted remote router | fusionAIze Gate |\n| --- | --- | --- | --- |\n| One local endpoint for many clients | No | Varies | Yes |\n| Local workers and cloud providers in one route set | Manual | Varies | Yes |\n| Policy routing, client profiles, and hooks | Manual | Varies | Yes |\n| Operator-owned health, traces, and update controls | Partial | Varies | Yes |\n| Can stay fully under local operator control | Yes | Varies | Yes |\n| Copy/paste onboarding for OpenClaw, n8n, and CLI tools | Manual | Varies | Yes |\n\nfusionAIze Gate is a local-first gateway. That means you can keep traffic, fallback policy, rollout controls, and provider selection logic close to the clients that actually depend on them.\n\n## Deployment\n\nfusionAIze Gate can stay small in development and still scale into a more repeatable operator setup:\n\n- Local Python run: quickest path for development and testing.\n- `systemd` on Linux: recommended for long-running generic host installs.\n- Workstation runtimes: macOS `launchd`, Linux `systemd`, and Windows task-scheduler style installs are documented separately.\n- Homebrew path: the project-owned tap formula now lives in [`fusionAIze/homebrew-tap`](https://github.com/fusionAIze/homebrew-tap) for macOS-oriented installs and `brew services`.\n- Docker and GHCR path: tagged releases build container artifacts through the release workflow.\n- Python package path: release workflows build `sdist` and `wheel`.\n- Separate npm CLI package: `packages/faigate-cli` gives CLI-facing environments a small Node entry point without changing the Python service runtime.\n\nStart here for the deeper deployment details:\n\n- [Configuration reference](./docs/CONFIGURATION.md)\n- [Operations guide](./docs/OPERATIONS.md)\n- [Workstations guide](./docs/WORKSTATIONS.md)\n- [Publishing and release flow](./docs/PUBLISHING.md)\n\n## More Resources\n\n- [Architecture](./docs/ARCHITECTURE.md)\n- [AI-native client matrix](./docs/AI-NATIVE-MATRIX.md)\n- [API reference](./docs/API.md)\n- [Configuration reference](./docs/CONFIGURATION.md)\n- [Operations guide](./docs/OPERATIONS.md)\n- [Workstations guide](./docs/WORKSTATIONS.md)\n- [Homebrew tap](https://github.com/fusionAIze/homebrew-tap)\n- [Homebrew formula directory](https://github.com/fusionAIze/homebrew-tap/tree/main/Formula)\n- [Integrations](./docs/INTEGRATIONS.md)\n- [Onboarding](./docs/ONBOARDING.md)\n- [Examples](./docs/examples)\n- [macOS LaunchAgent example](./docs/examples/com.fusionaize.faigate.plist)\n- [OpenClaw integration starter](./openclaw-integration.jsonc)\n- [Full OpenClaw example](./docs/examples/openclaw-faigate-full.jsonc)\n- [Multi-provider stack example](./docs/examples/faigate-multi-provider-stack.yaml)\n- [First-wave AI-native starters](./docs/AI-NATIVE-MATRIX.md#first-wave-template-set-for-v110)\n- [Second-wave AI-native starters](./docs/AI-NATIVE-MATRIX.md#second-wave-template-set)\n- [Third-wave AI-native starters](./docs/AI-NATIVE-MATRIX.md#third-wave-template-set)\n- [Security review for `v1.0.0`](./docs/SECURITY-REVIEW-v1.0.0.md)\n- [Publishing](./docs/PUBLISHING.md)\n- [Troubleshooting](./docs/TROUBLESHOOTING.md)\n- [Adaptive model orchestration](./docs/ADAPTIVE-ORCHESTRATION.md)\n- [Dashboard IA](./docs/DASHBOARD-IA.md)\n- [Roadmap](./docs/FAIGATE-ROADMAP.md)\n- [Implementation plan](./docs/IMPLEMENTATION-PLAN.md)\n- [Claude Desktop feasibility](./docs/CLAUDE-DESKTOP-FEASIBILITY.md)\n- [Releases](./RELEASES.md)\n\n## Community And Security\n\n- [Contributing](./CONTRIBUTING.md)\n- [Security policy](./SECURITY.md)\n- [Code of conduct](./CODE_OF_CONDUCT.md)\n- [Repo safety and CI](./.github/workflows)\n\nfusionAIze Gate ships with repo-safety checks for `.ssh/`, `*.db*`, `*.sqlite*`, and `*.log`, plus CodeQL, Dependabot, secret scanning, and documented release review steps.\n\n## License\n\nApache-2.0. See [LICENSE](./LICENSE).\n\n⭐ If fusionAIze Gate saves you time or money, feel free to star the repo. ❤️\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffusionaize%2Ffaigate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffusionaize%2Ffaigate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffusionaize%2Ffaigate/lists"}