{"id":23253716,"url":"https://github.com/stacklok/codegate","last_synced_at":"2025-05-15T09:02:30.632Z","repository":{"id":268620173,"uuid":"886698771","full_name":"stacklok/codegate","owner":"stacklok","description":"CodeGate: Security, Workspaces and Muxing for AI Applications, coding assistants, and agentic frameworks.","archived":false,"fork":false,"pushed_at":"2025-03-25T06:37:02.000Z","size":45802,"stargazers_count":568,"open_issues_count":113,"forks_count":69,"subscribers_count":19,"default_branch":"main","last_synced_at":"2025-03-25T07:31:16.759Z","etag":null,"topics":["ai","ai-gateway","aisecurity","artificial-intelligence","claude","cline","codegen","copilot","developer-productivity","developer-tools","generative-ai","ide","jetbrains","llm","ollama","openai","privacy","python","security","vscode"],"latest_commit_sha":null,"homepage":"https://codegate.ai","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/stacklok.png","metadata":{"files":{"readme":"README.md","changelog":null,"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}},"created_at":"2024-11-11T12:53:47.000Z","updated_at":"2025-03-25T06:32:50.000Z","dependencies_parsed_at":"2025-03-25T07:25:37.471Z","dependency_job_id":"c6b51231-90a0-45cd-95bc-4b537b53378f","html_url":"https://github.com/stacklok/codegate","commit_stats":null,"previous_names":["stacklok/codegate"],"tags_count":32,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stacklok%2Fcodegate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stacklok%2Fcodegate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stacklok%2Fcodegate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stacklok%2Fcodegate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stacklok","download_url":"https://codeload.github.com/stacklok/codegate/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246531986,"owners_count":20792735,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["ai","ai-gateway","aisecurity","artificial-intelligence","claude","cline","codegen","copilot","developer-productivity","developer-tools","generative-ai","ide","jetbrains","llm","ollama","openai","privacy","python","security","vscode"],"created_at":"2024-12-19T11:05:25.468Z","updated_at":"2025-04-01T11:01:46.657Z","avatar_url":"https://github.com/stacklok.png","language":"Python","readme":"\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"./static/codegate-logo-white.svg\"\u003e\n  \u003cimg alt=\"CodeGate logo\" src=\"./static/codegate-logo-dark.svg\" width=\"800px\" style=\"max-width: 100%;\"\u003e\n\u003c/picture\u003e\n\n---\n\n[![Release](https://img.shields.io/github/v/release/stacklok/codegate?style=flat\u0026label=Latest%20version)](https://github.com/stacklok/codegate/releases)\n|\n[![CI](https://github.com/stacklok/codegate/actions/workflows/run-on-push.yml/badge.svg?event=push)](https://github.com/stacklok/codegate/actions/workflows/run-on-push.yml)\n|\n[![License: Apache 2.0](https://img.shields.io/badge/License-Apache2.0-brightgreen.svg?style=flat)](https://opensource.org/licenses/Apache-2.0)\n|\n[![Star on GitHub](https://img.shields.io/github/stars/stacklok/codegate.svg?style=flat\u0026logo=github\u0026label=Stars)](https://github.com/stacklok/codegate)\n|\n[![Discord](https://img.shields.io/discord/1184987096302239844?style=flat\u0026logo=discord\u0026label=Discord)](https://discord.gg/stacklok)\n\n[Website](https://codegate.ai) | [Documentation](https://docs.codegate.ai) |\n[YouTube](https://www.youtube.com/playlist?list=PLYBL38zBWVIhrDgKwAMjAwOYZeP-ZH64n)\n| [Discord](https://discord.gg/stacklok)\n\n---\n\n# CodeGate: Security, Workspaces and Muxing for AI Applications, coding assistants, and agentic frameworks.\n\n**By [Stacklok](https://stacklok.com)**\n\nCodeGate is an agent designed to make AI applications, coding assistants and agentic frameworks, safer and easier to consume and manage. It provides a centralized, abstracted environment for managing prompts, model provider configurations, model muxing, and more. Additionally, CodeGate offers security analysis of AI-generated code, ensuring that recommendations follow best practices and safeguard your code's integrity.\n\nWith CodeGate, you can configure all your AI coding assistants and agents to use a single workspace\nand benefit from a unified view of all the interactions between your AI coding assistants and your\nmodels.\n\n\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"./static/diagram-dark.png\"\u003e\n  \u003cimg alt=\"CodeGate dashboard\" src=\"./static/diagram-light.png\" width=\"1100px\" style=\"max-width: 100%;\"\u003e\n\u003c/picture\u003e\n\n---\n## Why choose CodeGate?\n\nAI coding assistants are powerful, but they can inadvertently introduce risks and configurations\ncan sprawl across multiple IDE extensions, plugins and agent systems. CodeGate simplifies the management of AI model and provider configurations and provides additional features to help you keep your development process safe.\n\n-  Centralize and manage all your AI coding assistants in one place\n-  Mux / Route prompts to different AI models based on workspaces or file types \n-  Centrally configure and manage your provider credentials and API keys\n-  Protect your development process from accidental exposure of secrets and sensitive personal data to the cloud\n-  Ensure that the recommendations provided by your AI coding assistants follow secure coding practices\n-  Prevent malicious or deprecated libraries from being recommended to you by an LLM\n\n---\n##  Quickstart\n\n### Prerequisites\n\nCodeGate is distributed as a Docker container. You need a container runtime like\nDocker Desktop or Docker Engine. Podman and Podman Desktop are also supported.\nCodeGate works on Windows, macOS, and Linux operating systems with x86_64 and\narm64 (ARM and Apple Silicon) CPU architectures.\n\nThese instructions assume the `docker` CLI is available. If you use Podman,\nreplace `docker` with `podman` in all commands.\n\n### Installation\n\nTo start CodeGate, run this simple command:\n\n```bash\ndocker run --name codegate -d -p 8989:8989 -p 9090:9090 -p 8990:8990 \\\n  --mount type=volume,src=codegate_volume,dst=/app/codegate_volume \\\n  --restart unless-stopped ghcr.io/stacklok/codegate:latest\n```\n\nThat’s it! CodeGate is now running locally. \n\n### Get into action\nNow it's time to configure your preferred AI coding assistant to use CodeGate\n[See supported AI Coding Assistants and providers](#-supported-ai-coding-assistants-and-providers)\n\n⚙️ For advanced configurations and parameter references, check out the\n[CodeGate Install and Upgrade](https://docs.codegate.ai/how-to/install)\ndocumentation.\n\n---\n##  Dashboard\n\nCodeGate includes a web dashboard that provides:\n\n- A view of **security risks** detected by CodeGate\n- A **history of interactions** between your AI coding assistant and your LLM\n\n\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"./static/dashboard-dark.webp\"\u003e\n  \u003cimg alt=\"CodeGate dashboard\" src=\"./static/dashboard-light.webp\" width=\"1200px\" style=\"max-width: 100%;\"\u003e\n\u003c/picture\u003e\n\n### Accessing the dashboard\n\nOpen [http://localhost:9090](http://localhost:9090) in your web browser to\naccess the dashboard.\n\nTo learn more, visit the\n[CodeGate Dashboard documentation](https://docs.codegate.ai/how-to/dashboard).\n\n---\n## Features\n\n### Workspace management\n\nCodeGate allows you to create workspaces, each with its own set of AI\nmodels, configurations, prompts and chat history to help you manage your AI application\nand development environment more effectively. [Learn more](https://docs.codegate.ai/features/workspaces)\n\n### Model Muxing\n\nCodeGate lets you route traffic between multiple AI models using a configurable\nmodel muxer. This feature is useful when you want to use different models for\ndifferent purposes, such as code generation, summarization, documentation, etc.\n[Learn more](https://docs.codegate.ai/features/model-muxing)\n\n### Secrets Redaction\n\nCodeGate helps you protect sensitive information from being accidentally exposed\nto AI models and third-party AI provider systems by redacting detected secrets\nfrom your prompts.\n[Learn more](https://docs.codegate.ai/features/secrets-encryption)\n\n### Personal Identifiable Information (PII) detection and redaction\n\nCodeGate helps you protect personal data from being accidentally exposed to AI\nmodels and third-party AI provider systems by redacting detected PII from your prompts.\n\nShould CodeGate sense that a prompt contains PII, such as credit card numbers, social security numbers, or other sensitive information, it will automatically redact the PII from the prompt before sending it to the AI model, to then unredact the response before sending it back to the client.\n\n### Dependency risk awareness\n\nLLMs’ knowledge cutoff date is often months or even years in the past. They\nmight suggest outdated, vulnerable, or non-existent packages (hallucinations),\nexposing you and your users to security risks.\n\nCodeGate scans direct, transitive, and development dependencies in your package\ndefinition files, installation scripts, and source code imports that you supply\nas context to an LLM.\n[Learn more](https://docs.codegate.ai/features/dependency-risk)\n\n### Security reviews\n\nCodeGate performs security-centric code reviews, identifying insecure patterns\nor potential vulnerabilities to help you adopt more secure coding practices.\n[Learn more](https://docs.codegate.ai/features/security-reviews)\n\n---\n## 🤖 Supported AI coding assistants and providers\n\n### [Aider](https://docs.codegate.ai/how-to/use-with-aider)\n\n- **Local / self-managed:**\n  - Ollama\n- **Hosted:**\n  - OpenAI and compatible APIs\n\n🔥 Getting started with CodeGate and aider -\n[watch on YouTube](https://www.youtube.com/watch?v=VxvEXiwEGnA)\n\n### [Cline](https://docs.codegate.ai/how-to/use-with-cline)\n\n- **Local / self-managed:**\n  - Ollama\n  - LM Studio\n- **Hosted:**\n  - Anthropic\n  - OpenAI and compatible APIs\n\n### [Continue](https://docs.codegate.ai/how-to/use-with-continue)\n\n- **Local / self-managed:**\n  - Ollama\n  - llama.cpp\n  - vLLM\n- **Hosted:**\n  - Anthropic\n  - OpenAI and compatible APIs\n\n### [GitHub Copilot](https://docs.codegate.ai/how-to/use-with-copilot)\n\n- The Copilot plugin works with **Visual Studio Code (VS Code)** (JetBrains is\n  coming soon!)\n\n### OpenIntepreter\n\n- **Local / self-managed:**\n  - Ollama\n- **Hosted:**\n  - Anthropic\n  - OpenAI and compatible APIs\n\n---\n## Privacy first\n\nUnlike other tools, with CodeGate **your code never leaves your machine**.\nCodeGate is built with privacy at its core:\n\n-  **Everything stays local**\n-  **No external data collection**\n-  **No calling home or telemetry**\n-  **Complete control over your data**\n\n---\n## Development\n\nAre you a developer looking to contribute? Dive into our technical resources:\n\n- [Development guide](https://github.com/stacklok/codegate/blob/main/docs/development.md)\n- [CLI commands and flags](https://github.com/stacklok/codegate/blob/main/docs/cli.md)\n- [Configuration system](https://github.com/stacklok/codegate/blob/main/docs/configuration.md)\n- [Logging system](https://github.com/stacklok/codegate/blob/main/docs/logging.md)\n\n---\n## License\n\nCodeGate is licensed under the terms specified in the\n[LICENSE file](https://github.com/stacklok/codegate/blob/main/LICENSE).\n\n---\n## Support us\n\nLove CodeGate? Starring this repository and sharing it with others helps\nCodeGate grow 🌱\n\n[![Star on GitHub](https://img.shields.io/github/stars/stacklok/codegate.svg?style=social)](https://github.com/stacklok/codegate)\n\n---\n## Contributing\n\nWe welcome contributions! Whether you're submitting bug reports, feature\nrequests, or code contributions, your input makes CodeGate better for everyone.\nWe thank you ❤️!\n\nStart by reading our\n[Contributor guidelines](https://github.com/stacklok/codegate/blob/main/CONTRIBUTING.md).\n\n### Thank you!\n\n\u003ca href=\"https://github.com/stacklok/codegate/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=stacklok/codegate\" /\u003e\n\u003c/a\u003e\n\nMade with [contrib.rocks](https://contrib.rocks).\n\n\u003c!-- markdownlint-disable-file first-line-heading no-inline-html --\u003e\n","funding_links":[],"categories":["security","Python","Testing \u0026 Security","AI code security","Chatbots","📚 Tools","ai"],"sub_categories":["Other IDEs","🌟 What You'll Find Here:"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstacklok%2Fcodegate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstacklok%2Fcodegate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstacklok%2Fcodegate/lists"}