Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
12d1a6c
feat(database): implement ORM models and Alembic config for Supabase
Yosoyepa Nov 27, 2025
6d9b6fc
feat(database): add Alembic migration for initial tables
Yosoyepa Nov 27, 2025
520ecee
docs(readme): add Supabase badge and Sprint 2 progress update
Yosoyepa Nov 27, 2025
f95c460
Merge pull request #16 from Yosoyepa/feature/SupabaseIntegration
Yosoyepa Nov 27, 2025
1b20e6b
feat(styleagent): primer borrador de StyleAgent y analisis PEP8
DavidFBM Dec 1, 2025
87cd1a4
style: aplicar formato black en styleagent y analysis service
DavidFBM Dec 1, 2025
dfff558
style: ordenar imports con isort (perfil black)
DavidFBM Dec 1, 2025
bdb5031
fix: ajustar flake8 (noqa C901, quitar imports sin uso)
DavidFBM Dec 1, 2025
2d60d47
style: aplicar formato black en styleagent y analysis service despues…
DavidFBM Dec 1, 2025
abd30ca
Correcion para Run Tests & Coverage
DavidFBM Dec 1, 2025
9d05e91
Correcin import recomendad por flake8
DavidFBM Dec 1, 2025
6f4e32e
feat(auth): implement Clerk JWT authentication with Supabase user sync
Yosoyepa Dec 1, 2025
ae736b6
feat(ci): add environment variables for Clerk and database in Docker …
Yosoyepa Dec 1, 2025
c7d5456
feat(ci): add environment variables for Clerk and database to test wo…
Yosoyepa Dec 1, 2025
6c8093b
Merge pull request #17 from Yosoyepa/feature/CGAI-auth-clerk
Yosoyepa Dec 1, 2025
e001ea7
test(coverage): add tests for user_repo, user model, and auth router
Yosoyepa Dec 1, 2025
5856549
test(coverage): increase coverage to 97.46% with 175 tests
Yosoyepa Dec 1, 2025
350c505
Merge pull request #19 from Yosoyepa/feature/CGAI-increase-coverage
Yosoyepa Dec 1, 2025
23d2fe6
Merge remote-tracking branch 'origin/develop' into feature/CGAI-29-St…
Yosoyepa Dec 1, 2025
c63e2ce
feat(CGAI-29): implementar StyleAgent con análisis integral PEP 8
Yosoyepa Dec 1, 2025
a2f3294
feat(agents): finalizada implementación y limpieza de QualityAgent
jpastor1649 Dec 2, 2025
c5e2905
Delete scripts directory
jpastor1649 Dec 2, 2025
8ea5ea6
check code formatting with black
jpastor1649 Dec 2, 2025
65b94b9
Merge branch 'feature/CGAI-30-QualityAgent-code-quality-analysis' of …
jpastor1649 Dec 2, 2025
af98598
fix(style): Corregir orden de imports en analysis_service.py
jpastor1649 Dec 2, 2025
fd0cde9
fix(style): Corregir orden de imports en analysis_service.py
jpastor1649 Dec 2, 2025
e71f751
style: Aplicar formateo automático (Black/Isort) para pasar CI
jpastor1649 Dec 2, 2025
336be87
style: Aplicar formateo automático (Black/Isort) para pasar CI
jpastor1649 Dec 2, 2025
e5c5db8
style: Aplicar formateo automático (Black/Isort) para pasar CI
jpastor1649 Dec 2, 2025
259eaed
style: Aplicar formateo automático (Black/Isort) para pasar CI
jpastor1649 Dec 2, 2025
e227003
style: Aplicar formateo automático (Black/Isort) para pasar CI, se cr…
jpastor1649 Dec 2, 2025
8c688b7
checking tests, auth middleware etc
jpastor1649 Dec 2, 2025
1c701fd
formatting files with black,flake and isort
jpastor1649 Dec 2, 2025
cae3328
formatting files with black,flake and isort
jpastor1649 Dec 2, 2025
6206fc2
updated test analysis service
jpastor1649 Dec 2, 2025
64b3519
added new dependence mock
jpastor1649 Dec 2, 2025
523a044
ayuda
jpastor1649 Dec 2, 2025
4650728
solved problem with mock and other dependencies
jpastor1649 Dec 2, 2025
dcc0b30
feat(quality-agent): finalizar implementación, refactorizar tests y c…
jpastor1649 Dec 2, 2025
d5f8bf2
Update backend/src/services/analysis_service.py
jpastor1649 Dec 2, 2025
657d596
Update backend/src/agents/quality_agent.py
jpastor1649 Dec 2, 2025
69eac88
Update backend/src/agents/quality_agent.py
jpastor1649 Dec 2, 2025
3c452e7
new docstrings for quality agent's functions
jpastor1649 Dec 2, 2025
549bb6c
Update backend/src/agents/quality_agent.py
jpastor1649 Dec 2, 2025
c78a756
Update backend/src/repositories/code_review_repository.py
jpastor1649 Dec 2, 2025
785613b
StyleAgent ahora utiliza los analizadores de pylint y flake8 para un …
DavidFBM Dec 2, 2025
a537d72
Merge pull request #22 from Yosoyepa/feature/CGAI-29-StyleAgent-anali…
Yosoyepa Dec 4, 2025
5bc5601
Refactor(repositorioes) logging for unsupported severity in CodeRevie…
Yosoyepa Dec 4, 2025
336ed95
Merge branch 'develop' into feature/CGAI-30-QualityAgent-code-quality…
Yosoyepa Dec 4, 2025
56c316d
Refactor(analysis_service): update comments to reflect all agents use…
Yosoyepa Dec 4, 2025
016c87d
Refactor(quality_agent, code_review_repository, test_analysis_service…
Yosoyepa Dec 4, 2025
15c3a20
Merge pull request #20 from Yosoyepa/feature/CGAI-30-QualityAgent-cod…
Yosoyepa Dec 4, 2025
61fed0f
new branch created and first test for performance agent
jpastor1649 Dec 4, 2025
403506e
performance agent added and new tests
jpastor1649 Dec 4, 2025
b328627
new test integration for performance agent
jpastor1649 Dec 4, 2025
3d34d3f
changes in performance_agent and integration tests
jpastor1649 Dec 4, 2025
9f50791
updated tests and updated performance_agent
jpastor1649 Dec 4, 2025
25a1c38
integration of the agent in the main app
jpastor1649 Dec 4, 2025
2f85ffa
feat(Orqueschator): implementar clase inicial OrchestratorAgent
Yosoyepa Dec 4, 2025
830dc5e
feat(PerformanceAgent): implementar PerformanceAgent para análisis de…
jpastor1649 Dec 4, 2025
4c6e5a3
arreglado problema de complejidad
jpastor1649 Dec 4, 2025
82e3680
Merge pull request #23 from Yosoyepa/feature/CGAI-31-PerformanceAgent…
Yosoyepa Dec 4, 2025
2dce25e
Implementación de OrchestratorAgent para gestionar la ejecución de mú…
DavidFBM Dec 4, 2025
885c3ff
Correción de test para prueba de SecurityAgent(unitario) al integrar …
DavidFBM Dec 4, 2025
b965293
Corrección tests unitarios(SecurityAgent) para reflejar cambios en la…
DavidFBM Dec 4, 2025
f87d173
Merge branch 'develop' into feature/CGAI-13-Orchestator
Yosoyepa Dec 4, 2025
2506519
Replace multiple agents with OrchestratorAgent
DavidFBM Dec 4, 2025
73bdcdc
Remove Performance Agent analysis from analysis service
DavidFBM Dec 4, 2025
80a5ab6
Merge pull request #24 from Yosoyepa/feature/CGAI-13-Orchestator
Yosoyepa Dec 4, 2025
ef0873f
feat(ai): integrate Vertex AI Gemini with MCP for code analysis
Yosoyepa Dec 4, 2025
585a2ec
Merge remote-tracking branch 'origin/develop' into feature/CGAI-32-In…
juanandradeu Dec 4, 2025
161b9a4
fix(agents): correct severity case mismatch in PerformanceAgent
Yosoyepa Dec 4, 2025
0ad0f7e
fix(tests): standardize severity case in PerformanceAgent tests and i…
Yosoyepa Dec 4, 2025
4167084
Merge pull request #25 from Yosoyepa/feature/CGAI-32-Integration-Gene…
Yosoyepa Dec 4, 2025
d12676a
Merge branch 'main' into develop
Yosoyepa Dec 4, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .coverage
Binary file not shown.
98 changes: 49 additions & 49 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
@@ -1,49 +1,49 @@
name: Docker Build

on:
push:
branches: [main, develop]
paths:
- "backend/Dockerfile"
- "backend/docker-compose.yml"
- "backend/requirements.txt"
- ".github/workflows/docker.yml"
pull_request:
branches: [main]

jobs:
build:
name: Build Docker Image
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Install docker-compose
run: |
sudo apt-get update
sudo apt-get install -y docker-compose

- name: Build backend image
run: |
cd backend
docker build --tag codeguard-backend:${{ github.sha }} .

- name: Test Docker image
run: |
docker run --rm codeguard-backend:${{ github.sha }} python --version

- name: Test Docker Compose (validation only)
run: |
cd backend
docker-compose config

- name: Summary
if: success()
run: |
echo " Docker image built successfully!"
echo " Image: codeguard-backend:${{ github.sha }}"
name: Docker Build
on:
push:
branches: [main, develop]
paths:
- "backend/Dockerfile"
- "backend/docker-compose.yml"
- "backend/requirements.txt"
- ".github/workflows/docker.yml"
pull_request:
branches: [main]
jobs:
build:
name: Build Docker Image
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Install docker-compose
run: |
sudo apt-get update
sudo apt-get install -y docker-compose
- name: Build backend image
run: |
cd backend
docker build --tag codeguard-backend:${{ github.sha }} .
- name: Test Docker image
run: |
docker run --rm codeguard-backend:${{ github.sha }} python --version
- name: Test Docker Compose (validation only)
run: |
cd backend
docker-compose config
- name: Summary
if: success()
run: |
echo " Docker image built successfully!"
echo " Image: codeguard-backend:${{ github.sha }}"
112 changes: 56 additions & 56 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -1,56 +1,56 @@
name: Lint & Format Check

on:
push:
branches: [main, develop, "feature/**"]
paths:
- "backend/**/*.py"
- ".github/workflows/lint.yml"
pull_request:
branches: [main, develop]
paths:
- "backend/**/*.py"

jobs:
lint:
name: Code Quality Check
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
cache: "pip"

- name: Install linting dependencies
run: |
python -m pip install --upgrade pip
pip install black>=23.0.0 flake8>=7.0.0 isort>=5.13.0

- name: Check code formatting with Black
run: |
cd backend
black src/ --line-length=100 --check

- name: Check import sorting with isort
run: |
cd backend
isort src/ --profile=black --line-length=100 --check-only

- name: Lint with Flake8
run: |
cd backend
flake8 src/ --count --select=E9,F63,F7,F82 --show-source --statistics
flake8 src/ --count --max-complexity=10 --max-line-length=100 --statistics

- name: Summary
if: success()
run: |
echo "= All code quality checks passed!"
echo "- Black formatting: ✓"
echo "- Import sorting (isort): ✓"
echo "- Linting (flake8): ✓"
name: Lint & Format Check
on:
push:
branches: [main, develop, "feature/**"]
paths:
- "backend/**/*.py"
- ".github/workflows/lint.yml"
pull_request:
branches: [main, develop]
paths:
- "backend/**/*.py"
jobs:
lint:
name: Code Quality Check
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
cache: "pip"
- name: Install linting dependencies
run: |
python -m pip install --upgrade pip
pip install black>=23.0.0 flake8>=7.0.0 isort>=5.13.0
- name: Check code formatting with Black
run: |
cd backend
black src/ --line-length=100 --check
- name: Check import sorting with isort
run: |
cd backend
isort src/ --profile=black --line-length=100 --check-only
- name: Lint with Flake8
run: |
cd backend
flake8 src/ --count --select=E9,F63,F7,F82 --show-source --statistics
flake8 src/ --count --max-complexity=10 --max-line-length=100 --statistics
- name: Summary
if: success()
run: |
echo "= All code quality checks passed!"
echo "- Black formatting: ✓"
echo "- Import sorting (isort): ✓"
echo "- Linting (flake8): ✓"
135 changes: 70 additions & 65 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -1,65 +1,70 @@
name: Tests & Coverage

on:
push:
branches: [main, develop, "feature/**"]
paths:
- "backend/**/*.py"
- "backend/tests/**"
- ".github/workflows/test.yml"
pull_request:
branches: [main, develop]
paths:
- "backend/**/*.py"
- "backend/tests/**"

jobs:
test:
name: Run Tests & Coverage
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
cache: "pip"

- name: Install dependencies
run: |
cd backend
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install pytest>=8.0.0 pytest-asyncio>=0.23.0 pytest-cov>=4.1.0

- name: Run tests with coverage
run: |
cd backend
pytest tests/ --cov=src --cov-report=html --cov-report=term-missing --cov-report=xml --cov-fail-under=75 -v
continue-on-error: false

- name: Upload coverage report
if: always()
uses: actions/upload-artifact@v4
with:
name: coverage-report
path: backend/htmlcov/
retention-days: 30

- name: Upload coverage to Codecov (optional)
if: always()
uses: codecov/codecov-action@v4
with:
file: backend/coverage.xml
flags: unittests
name: codecov-umbrella
fail_ci_if_error: false

- name: Summary
if: success()
run: |
echo "All tests passed with >75% coverage!"
echo "Coverage report uploaded as artifact"
name: Tests & Coverage

on:
push:
branches: [main, develop, "feature/**"]
paths:
- "backend/**/*.py"
- "backend/tests/**"
- ".github/workflows/test.yml"
pull_request:
branches: [main, develop]
paths:
- "backend/**/*.py"
- "backend/tests/**"

jobs:
test:
name: Run Tests & Coverage
runs-on: ubuntu-latest

env:
CLERK_SECRET_KEY: ${{ secrets.CLERK_SECRET_KEY }}
CLERK_PUBLISHABLE_KEY: ${{ secrets.CLERK_PUBLISHABLE_KEY }}
DATABASE_URL: ${{ secrets.DATABASE_URL }}

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
cache: "pip"

- name: Install dependencies
run: |
cd backend
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install pytest>=8.0.0 pytest-asyncio>=0.23.0 pytest-cov>=4.1.0

- name: Run tests with coverage
run: |
cd backend
pytest tests/ --cov=src --cov-report=html --cov-report=term-missing --cov-report=xml --cov-fail-under=75 -v
continue-on-error: false

- name: Upload coverage report
if: always()
uses: actions/upload-artifact@v4
with:
name: coverage-report
path: backend/htmlcov/
retention-days: 30

- name: Upload coverage to Codecov (optional)
if: always()
uses: codecov/codecov-action@v4
with:
file: backend/coverage.xml
flags: unittests
name: codecov-umbrella
fail_ci_if_error: false

- name: Summary
if: success()
run: |
echo "All tests passed with >75% coverage!"
echo "Coverage report uploaded as artifact"
10 changes: 5 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/test
/out
.DS_Store
node_modules
.env
/test
/out
.DS_Store
node_modules
.env
Loading