A code review agent optimized for following strict guidelines
Project description
Installation
uv tool install codeyak
CLI Usage
# Review local uncommitted changes
yak review
# Review a GitLab merge request
yak mr <MR_ID> <PROJECT_ID>
On first run, yak prompts for configuration (Azure OpenAI credentials, GitLab token).
GitLab CI
codeyak:
stage: review
image: python:3.12-slim
before_script:
- pip install uv && uv tool install codeyak
script:
- yak mr $CI_MERGE_REQUEST_IID $CI_PROJECT_ID
rules:
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
Required CI/CD variables: GITLAB_TOKEN, AZURE_OPENAI_API_KEY, AZURE_OPENAI_ENDPOINT, AZURE_DEPLOYMENT_NAME
Guidelines
CodeYak uses .codeyak/*.yaml files for review guidelines. Without custom files, it uses the default preset.
Built-in Presets
default- includes code-qualitysecurity- injection prevention, auth, cryptography, secretscode-quality- SRP, naming, organization, error handling
Custom Guidelines
.codeyak/my-rules.yaml:
guidelines:
- label: rate-limiting
description: All API endpoints must include rate limiting.
Include Presets
includes:
- builtin:security
- builtin:code-quality
guidelines:
- label: api-timeout
description: All external API calls must have timeout limits.
Environment Variables
# Required
AZURE_OPENAI_API_KEY=<key>
AZURE_OPENAI_ENDPOINT=<endpoint>
AZURE_DEPLOYMENT_NAME=gpt-4o
# For GitLab MR reviews
GITLAB_URL=https://gitlab.com # optional, defaults to gitlab.com
GITLAB_TOKEN=<token>
# Optional observability
LANGFUSE_SECRET_KEY=<key>
LANGFUSE_PUBLIC_KEY=<key>
LANGFUSE_HOST=https://cloud.langfuse.com
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file codeyak-0.0.14.tar.gz.
File metadata
- Download URL: codeyak-0.0.14.tar.gz
- Upload date:
- Size: 619.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5b364fa03319db08458e72de6d10ff43013ad73904bddf0c3aa5864805b04901
|
|
| MD5 |
5eaae232c95f02f8ea06dd9262146cbc
|
|
| BLAKE2b-256 |
2d5a7e451e179585ea85d9dd61ebef77dca496ab0653f60c4b16abe764ce25c6
|
File details
Details for the file codeyak-0.0.14-py3-none-any.whl.
File metadata
- Download URL: codeyak-0.0.14-py3-none-any.whl
- Upload date:
- Size: 80.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c62c7e2609ad3512daee8866eb0feca8e84652812e36901de798a1a74204db12
|
|
| MD5 |
77667cbc09e84ba09538e1106cccb065
|
|
| BLAKE2b-256 |
21ffeac7ca39cfbb0b28e7ac67c99aa03712ba867a2bc71fc90803eda4637ced
|