Skip to content
This repository was archived by the owner on Jun 5, 2025. It is now read-only.

Commit 01c9ac3

Browse files
authored
Merge branch 'main' into issue-929
2 parents 56f82b1 + 6f41eae commit 01c9ac3

16 files changed

+370
-96
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636

3737
- name: Load cached venv
3838
id: cached-poetry-dependencies
39-
uses: actions/cache@0c907a75c2c80ebcb7f088228285e798b750cf8f # v4
39+
uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4
4040
with:
4141
path: .venv
4242
key: venv-${{ runner.os }}-${{ matrix.python-version }}-${{ hashFiles('**/poetry.lock') }}

.github/workflows/image-build.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,12 @@ jobs:
2929
- name: Set up QEMU for cross-platform builds
3030
# Only set up QEMU if the platform is not linux/amd64
3131
if: ${{ inputs.platform != 'linux/amd64' }}
32-
uses: docker/setup-qemu-action@5964de0df58d5ad28b04d8fe2e6b80ad47105b91 # v3
32+
uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3
3333
- name: Set up Docker Buildx
3434
uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 # v3
3535
- name: Download artifact
3636
id: download-artifact
37-
uses: dawidd6/action-download-artifact@20319c5641d495c8a52e688b7dc5fada6c3a9fbc # v8
37+
uses: dawidd6/action-download-artifact@07ab29fd4a977ae4d2b275087cf67563dfdf0295 # v9
3838
with:
3939
github_token: ${{ github.token }}
4040
workflow: ".github/workflows/import_packages.yml"

.github/workflows/image-publish.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
- name: Checkout
2323
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
2424
- name: Set up QEMU for cross-platform builds
25-
uses: docker/setup-qemu-action@5964de0df58d5ad28b04d8fe2e6b80ad47105b91 # v3
25+
uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3
2626
- name: Set up Docker Buildx
2727
uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 # v3
2828
- name: Compute version number
@@ -57,7 +57,7 @@ jobs:
5757
type=semver,pattern=v{{major}}.{{minor}}
5858
- name: Download artifact
5959
id: download-artifact
60-
uses: dawidd6/action-download-artifact@20319c5641d495c8a52e688b7dc5fada6c3a9fbc # v8
60+
uses: dawidd6/action-download-artifact@07ab29fd4a977ae4d2b275087cf67563dfdf0295 # v9
6161
with:
6262
github_token: ${{ github.token }}
6363
workflow: ".github/workflows/import_packages.yml"

.github/workflows/integration-tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ jobs:
148148

149149
- name: Load cached venv
150150
id: cached-poetry-dependencies
151-
uses: actions/cache@0c907a75c2c80ebcb7f088228285e798b750cf8f # v4
151+
uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4
152152
with:
153153
path: .venv
154154
key: venv-${{ runner.os }}-${{ matrix.python-version }}-${{ hashFiles('**/poetry.lock') }}

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ COPY . /app
2727
RUN sed -i "s/_VERSION =.*/_VERSION = \"${CODEGATE_VERSION}\"/g" /app/src/codegate/__init__.py
2828

2929
# Build the webapp
30-
FROM docker.io/library/node:23-slim@sha256:59de3d6646e7b8d02637499e4f38b9f9c5fef6bef4965dbe95e37b640160900b AS webbuilder
30+
FROM docker.io/library/node:23-slim@sha256:dcacc1ee3b03a497c2096b0084d3a67b856e777b55ffccfcc76bcdab9cc65906 AS webbuilder
3131

3232

3333

README.md

Lines changed: 57 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -21,34 +21,36 @@
2121

2222
---
2323

24-
# CodeGate: secure AI code generation
24+
# CodeGate: Security, Workspaces and Muxing for AI Applications, coding assistants, and agentic frameworks.
2525

2626
**By [Stacklok](https://stacklok.com)**
2727

28-
CodeGate is a **local gateway** that makes AI agents and coding assistants safer. It
29-
ensures AI-generated recommendations adhere to best practices while safeguarding
30-
your code's integrity and protecting your privacy. With CodeGate, you can
31-
confidently leverage AI in your development workflow without sacrificing
32-
security or productivity.
28+
CodeGate 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.
29+
30+
With CodeGate, you can configure all your AI coding assistants and agents to use a single workspace
31+
and benefit from a unified view of all the interactions between your AI coding assistants and your
32+
models.
3333

3434
<picture>
3535
<source media="(prefers-color-scheme: dark)" srcset="./static/diagram-dark.png">
3636
<img alt="CodeGate dashboard" src="./static/diagram-light.png" width="1100px" style="max-width: 100%;">
3737
</picture>
3838

3939
---
40-
## Why choose CodeGate?
40+
## Why choose CodeGate?
4141

42-
AI coding assistants are powerful, but they can inadvertently introduce risks.
43-
CodeGate protects your development process by:
42+
AI coding assistants are powerful, but they can inadvertently introduce risks and configurations
43+
can 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.
4444

45-
- 🔒 Preventing accidental exposure of secrets and sensitive data
46-
- 🛡️ Ensuring AI suggestions follow secure coding practices
47-
- ⚠️ Blocking recommendations of known malicious or deprecated libraries
48-
- 🔍 Providing real-time security analysis of AI suggestions
45+
- Centralize and manage all your AI coding assistants in one place
46+
- Mux / Route prompts to different AI models based on workspaces or file types
47+
- Centrally configure and manage your provider credentials and API keys
48+
- Protect your development process from accidental exposure of secrets and sensitive personal data to the cloud
49+
- Ensure that the recommendations provided by your AI coding assistants follow secure coding practices
50+
- Prevent malicious or deprecated libraries from being recommended to you by an LLM
4951

5052
---
51-
## 🚀 Quickstart
53+
## Quickstart
5254

5355
### Prerequisites
5456

@@ -81,7 +83,7 @@ Now it's time to configure your preferred AI coding assistant to use CodeGate
8183
documentation.
8284

8385
---
84-
## 🖥️ Dashboard
86+
## Dashboard
8587

8688
CodeGate includes a web dashboard that provides:
8789

@@ -102,15 +104,35 @@ To learn more, visit the
102104
[CodeGate Dashboard documentation](https://docs.codegate.ai/how-to/dashboard).
103105

104106
---
105-
## 🔐 Features
107+
## Features
108+
109+
### Workspace management
110+
111+
CodeGate allows you to create workspaces, each with its own set of AI
112+
models, configurations, prompts and chat history to help you manage your AI application
113+
and development environment more effectively. [Learn more](https://docs.codegate.ai/features/workspaces)
114+
115+
### Model Muxing
106116

107-
### Secrets encryption
117+
CodeGate lets you route traffic between multiple AI models using a configurable
118+
model muxer. This feature is useful when you want to use different models for
119+
different purposes, such as code generation, summarization, documentation, etc.
120+
[Learn more](https://docs.codegate.ai/features/model-muxing)
121+
122+
### Secrets Redaction
108123

109124
CodeGate helps you protect sensitive information from being accidentally exposed
110125
to AI models and third-party AI provider systems by redacting detected secrets
111-
from your prompts using encryption.
126+
from your prompts.
112127
[Learn more](https://docs.codegate.ai/features/secrets-encryption)
113128

129+
### Personal Identifiable Information (PII) detection and redaction
130+
131+
CodeGate helps you protect personal data from being accidentally exposed to AI
132+
models and third-party AI provider systems by redacting detected PII from your prompts.
133+
134+
Should 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.
135+
114136
### Dependency risk awareness
115137

116138
LLMs’ knowledge cutoff date is often months or even years in the past. They
@@ -165,19 +187,27 @@ or potential vulnerabilities to help you adopt more secure coding practices.
165187
- The Copilot plugin works with **Visual Studio Code (VS Code)** (JetBrains is
166188
coming soon!)
167189

190+
### OpenIntepreter
191+
192+
- **Local / self-managed:**
193+
- Ollama
194+
- **Hosted:**
195+
- Anthropic
196+
- OpenAI and compatible APIs
197+
168198
---
169-
## 🛡️ Privacy first
199+
## Privacy first
170200

171201
Unlike other tools, with CodeGate **your code never leaves your machine**.
172202
CodeGate is built with privacy at its core:
173203

174-
- 🏠 **Everything stays local**
175-
- 🚫 **No external data collection**
176-
- 🔐 **No calling home or telemetry**
177-
- 💪 **Complete control over your data**
204+
- **Everything stays local**
205+
- **No external data collection**
206+
- **No calling home or telemetry**
207+
- **Complete control over your data**
178208

179209
---
180-
## 🛠️ Development
210+
## Development
181211

182212
Are you a developer looking to contribute? Dive into our technical resources:
183213

@@ -187,21 +217,21 @@ Are you a developer looking to contribute? Dive into our technical resources:
187217
- [Logging system](https://github.com/stacklok/codegate/blob/main/docs/logging.md)
188218

189219
---
190-
## 📜 License
220+
## License
191221

192222
CodeGate is licensed under the terms specified in the
193223
[LICENSE file](https://github.com/stacklok/codegate/blob/main/LICENSE).
194224

195225
---
196-
## 🌟 Support us
226+
## Support us
197227

198228
Love CodeGate? Starring this repository and sharing it with others helps
199229
CodeGate grow 🌱
200230

201231
[![Star on GitHub](https://img.shields.io/github/stars/stacklok/codegate.svg?style=social)](https://github.com/stacklok/codegate)
202232

203233
---
204-
## 🤝 Contributing
234+
## Contributing
205235

206236
We welcome contributions! Whether you're submitting bug reports, feature
207237
requests, or code contributions, your input makes CodeGate better for everyone.

0 commit comments

Comments
 (0)