https://github.com/kodustech/kodus-ai
AI Code Review with Full Control Over Model Choice and Costs.
https://github.com/kodustech/kodus-ai
ai ai-agents ai-code-review ai-coding-tools code-review coding-assistant generative-ai hacktoberfest
Last synced: 3 days ago
JSON representation
AI Code Review with Full Control Over Model Choice and Costs.
- Host: GitHub
- URL: https://github.com/kodustech/kodus-ai
- Owner: kodustech
- License: other
- Created: 2025-03-28T17:05:19.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2026-03-07T21:04:18.000Z (7 days ago)
- Last Synced: 2026-03-08T00:43:21.323Z (7 days ago)
- Topics: ai, ai-agents, ai-code-review, ai-coding-tools, code-review, coding-assistant, generative-ai, hacktoberfest
- Language: TypeScript
- Homepage: https://kodus.io
- Size: 91.1 MB
- Stars: 965
- Watchers: 7
- Forks: 88
- Open Issues: 34
-
Metadata Files:
- Readme: README-SETUP.md
- Contributing: CONTRIBUTING.md
- License: license.md
- Codeowners: .github/CODEOWNERS
- Agents: AGENTS.md
Awesome Lists containing this project
- awesome-AI-driven-development - kodus - Open source AI code reviews — just like your senior dev would do. (Code Review & Collaboration / Other IDEs)
- awesome - kodustech/kodus-ai - AI code reviews — just like your senior dev would do. (<a name="TypeScript"></a>TypeScript)
README
# 🚀 Kodus AI - Quick Setup Guide
This guide helps you run the Kodus monorepo locally (backend + web) in a few minutes.
## Prerequisites
- Node.js 22.x
- Yarn or NPM
- Docker
- OpenSSL (usually pre-installed on macOS/Linux)
## Quick Start (Recommended)
For first-time setup, simply run:
```bash
yarn setup
```
This automated script will:
- ✅ Check all dependencies
- 📦 Install project dependencies
- 🔧 Create and configure your `.env` file
- 🔐 Generate secure keys automatically
- 🐳 Set up Docker networks
After setup, start the stack:
```bash
yarn docker:start
```
`yarn docker:start` already runs backend migrations and seed automatically during API startup.
## Validate `.env` with Doctor
After editing `.env`, run:
```bash
yarn env:doctor
```
Scope-specific checks:
```bash
yarn env:doctor:backend
yarn env:doctor:web
```
The doctor validates required variables and shows warnings for optional OAuth fields used only when those integrations are enabled.
## Manual Configuration
If you prefer manual setup or need to customize settings:
1. **Install dependencies:**
```bash
yarn install
```
2. **Configure environment:**
```bash
cp .env.example .env
```
3. **Add your OpenAI API key to `.env`:**
```env
API_OPEN_AI_API_KEY=your_api_key_here
```
4. **Start services:**
```bash
yarn docker:start
```
5. **Migrations + seed (automatic with `yarn docker:start`):**
no manual command needed in the default Docker flow.
### Conectar aos bancos de QA/Prod
1. Gere o arquivo de variáveis do ambiente desejado (`aws ssm` requerido):
```bash
./scripts/dev/fetch-env-qa.sh qa # ou ./scripts/dev/fetch-env-prod.sh prod
```
2. Suba os serviços (por padrão o compose usa o `.env` da raiz). Se preferir outro arquivo, exporte `ENV_FILE` antes do comando:
```bash
docker compose -f docker-compose.dev.yml up
# ou, para usar o arquivo baixado via fetch:
ENV_FILE=.env.qa docker compose -f docker-compose.dev.yml up
```
3. Caso queira incluir os bancos locais no mesmo comando, habilite o perfil `local-db`:
```bash
ENV_FILE=.env.qa docker compose --profile local-db -f docker-compose.dev.yml up
```
Esse perfil também sobe o RabbitMQ local para desenvolvimento.
O perfil pode ser combinado com `down`, `logs` e demais subcomandos do Docker Compose.
Se estiver usando apenas o `.env` principal, remova o prefixo `ENV_FILE=...`.
> Prefere um atalho? Rode `yarn docker:start:env qa` ou `yarn docker:start:env prod` para ajustar `API_DATABASE_ENV` e subir o compose (usando o `.env` por padrão).
> Preferindo manter apenas o `.env`, defina manualmente as credenciais remotas e exporte `API_DATABASE_ENV=production` ou `API_DATABASE_ENV=homolog` antes de subir:
> ```bash
> API_DATABASE_ENV=production docker compose -f docker-compose.dev.yml up
> ```
> Assim o serviço usa os hosts remotos mesmo carregando o `.env` padrão.
## Available Scripts
| Command | Description |
|---------|-------------|
| `yarn setup` | Complete first-time setup |
| `yarn env:doctor` | Validate required `.env` variables (backend + web) |
| `yarn env:doctor:backend` | Validate only backend required variables |
| `yarn env:doctor:web` | Validate only web required variables |
| `yarn dev:health-check` | Verify all services are running |
| `yarn docker:start` | Start backend + web + local infrastructure |
| `yarn dev:restart` | Restart all services |
| `yarn dev:stop` | Stop all services |
| `yarn dev:logs` | View service logs |
| `yarn dev:clean` | Clean restart (removes Docker cache) |
| `yarn web:dev` | Run only web app locally (without Docker) |
## Health Check
To verify everything is working:
```bash
yarn dev:health-check
```
## Service Endpoints
Once running, you can access:
- **Web App:** http://localhost:3000
- **API Health:** http://localhost:3001/health
- **API Base:** http://localhost:3001
- **RabbitMQ Management UI:** http://localhost:15672 (default user/pass: `dev` / `devpass`)
## Troubleshooting
If you encounter issues:
1. **Check service status:**
```bash
yarn dev:health-check
```
2. **View logs:**
```bash
yarn dev:logs
```
3. **Clean restart:**
```bash
yarn dev:clean
```
4. **Manual container check:**
```bash
docker ps
```
## Getting API Keys
- **OpenAI:** https://platform.openai.com/api-keys
- **Google AI:** https://cloud.google.com/docs/authentication/api-keys
- **Anthropic:** https://docs.anthropic.com/claude/reference/getting-started-with-the-api
## Need Help?
If you're still having trouble, check our [full documentation](./CONTRIBUTING.md) or open an issue.