Codegate is a local gateway that makes AI coding assistants safer. Codegate ensures AI-generated recommendations adhere to best practices, while safeguarding your code's integrity, and protecting your individual privacy. With Codegate, you can confidently leverage AI in your development workflow without compromising security or productivity. Codegate is designed to work seamlessly with coding assistants, allowing you to safely enjoy all the benefits of AI code generation.
Codegate is developed by Stacklok, a group of security experts with many years of experience building developer friendly open source security software tools and platforms.
Codegate is experimental and undergoing fast iterations of development.
- Features may change frequently
- Expect possible bugs.
- Contributions, feedback, and testing are highly encouraged and welcomed!
In today's world where AI coding assistants are becoming ubiquitous, security can't be an afterthought. Codegate sits between you and AI, actively protecting your development process by:
- ๐ Preventing accidental exposure of secrets and sensitive data
- ๐ก๏ธ Ensuring AI suggestions follow secure coding practices
โ ๏ธ Blocking recommendations of known malicious or deprecated libraries- ๐ Providing real-time security analysis of AI suggestions
Codegate works seamlessly with leading AI providers:
- ๐ค Anthropic (Claude)
- ๐ง OpenAI
- โก vLLM
- ๐ป Local LLMs (run AI completely offline!)
- ๐ฎ Many more on the way!
We're starting with Continue VSCode extension support, with many more AI coding assistants coming soon!
Unlike E.T., your code never phones home! ๐ธ Codegate is designed with privacy at its core:
- ๐ Everything stays on your machine
- ๐ซ No external data collection
- ๐ No calling home or telemetry
- ๐ช Complete control over your data
Make sure you have these tools installed:
- ๐ณ Docker
- ๐ง Docker Compose
- ๐ ๏ธ jq
- ๐ป VSCode
chmod +x install.sh && ./install.sh
This script will:
- Install the Continue VSCode extension
- Set up your configuration
- Create and start necessary Docker services
Simply tap the Continue button in your VSCode editor to start chatting with your AI assistant - now protected by Codegate!
codegate serve
codegate serve --port 8989 --host localhost --log-level DEBUG
Create a config.yaml
:
port: 8989
host: "localhost"
log_level: "DEBUG"
Then run:
codegate serve --config config.yaml
export CODEGATE_APP_PORT=8989
export CODEGATE_APP_HOST=localhost
export CODEGATE_APP_LOG_LEVEL=DEBUG
codegate serve
# Get the code
git clone https://github.com/stacklok/codegate.git
cd codegate
# Set up virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dev dependencies
pip install -e ".[dev]"
By default weaviate is picking the default route as the ip for the cluster nodes. It may cause some issues when dealing with multiple interfaces. To make it work, localhost needs to be the default route:
sudo route delete default
sudo route add default 127.0.0.1
sudo route add -net 0.0.0.0/1 <public_ip_gateway>
sudo route add -net 128.0.0.0/1 <public_ip_gateway>
pytest
make image-build
# Basic usage
docker run -p 8989:8989 codegate:latest
# With persistent data
docker run -p 8989:8989 -v /path/to/volume:/app/weaviate_data codegate:latest
We welcome contributions! Whether it's bug reports, feature requests, or code contributions, please feel free to contribute to making Codegate better.
This project is licensed under the terms specified in the LICENSE file.