9 Commits

Author SHA1 Message Date
semantic-release-bot
6f01124ac5 chore(release): 1.0.2 [skip ci]
## [1.0.2](https://git.seyshiro.de/tudattr/kilo-cv/compare/v1.0.1...v1.0.2) (2026-02-23)

### Bug Fixes

* **release:** disable github plugin comments for gitea compatibility ([de67a6d](de67a6d0ef))
2026-02-23 20:38:33 +00:00
Tuan-Dat Tran
de67a6d0ef fix(release): disable github plugin comments for gitea compatibility
Some checks failed
Release / Release (push) Successful in 21m15s
Release / Build & Push Docker Image (push) Failing after 7m16s
Gitea does not have GitHub's GraphQL API, causing the success/fail
comment features to fail. Disable these features while keeping
release creation functionality.
2026-02-23 21:05:21 +01:00
semantic-release-bot
af6fe5171f chore(release): 1.0.1 [skip ci]
## [1.0.1](https://git.seyshiro.de/tudattr/kilo-cv/compare/v1.0.0...v1.0.1) (2026-02-23)

### Bug Fixes

* **release:** remove dist assets from github release config ([e9d2667](e9d2667c95))
2026-02-23 19:16:01 +00:00
Tuan-Dat Tran
e9d2667c95 fix(release): remove dist assets from github release config
Some checks failed
Release / Release (push) Failing after 8m54s
Release / Build & Push Docker Image (push) Has been skipped
Gitea API fails when trying to upload directory assets. Since the project
deploys via Docker, the dist files are not needed in the release.
2026-02-23 20:03:33 +01:00
semantic-release-bot
7aaca06ce7 chore(release): 1.0.0 [skip ci]
## 1.0.0 (2026-02-23)

### Features

* **api:** add backend api with express and sqlite ([00af886](00af8862d3))
* **api:** add initial schema migration ([3b0d98f](3b0d98f15c))
* **api:** add knex configuration ([7e766c5](7e766c5229))
* **api:** add swagger docs route ([736fefb](736fefbdc9))
* **api:** register swagger docs route ([4c0f53a](4c0f53a3e3))
* **ci:** add bundlesize configuration ([dee36da](dee36dafd3))
* **ci:** add commitlint validation to ci workflow ([1541212](154121297b))
* **ci:** add coverage configuration ([278082d](278082d322))
* **ci:** add gitleaks configuration ([32f3221](32f3221215))
* **ci:** add gitleaks to pre-commit hook ([c18410b](c18410bf5e))
* **ci:** add lighthouse ci configuration ([f6f2dba](f6f2dba9e0))
* **ci:** add nightly build workflow ([5b56edd](5b56edddb2))
* **ci:** add quality gates to ci workflow ([963b8ec](963b8eccf8))
* **ci:** add staging deployment workflow ([f5a00d3](f5a00d356a))
* **docker:** add multi-platform build configuration ([6b7eba9](6b7eba99d4))
* **ui:** add cv application frontend and configuration ([7f06ee7](7f06ee7f53))

### Bug Fixes

* **ci:** Set node versions in ci ([60d0aa5](60d0aa5ae2))
* **ci:** use lts version for ci ([cd22a97](cd22a970cb))
* **ci:** use POSIX-compatible syntax in pre-commit hook ([c240aa3](c240aa3641))

### Documentation

* add comprehensive release engineering documentation ([c8816c4](c8816c4f36))
* add gitleaks setup and api docs info ([cbf4090](cbf40908a6))
* add initial changelog ([e209d6e](e209d6e241))
* add release engineering design document ([1741fe1](1741fe1ca1))
* add release engineering implementation plan ([b3f2919](b3f2919791))
* add release process documentation ([f544577](f5445770ee))
* **api:** add openapi docs to auth routes ([8a22e4b](8a22e4b120))
* **release:** add devops features design document ([252afb7](252afb7e9f))
* **release:** add devops features implementation plan ([162ddb6](162ddb67dd))
* **release:** add link to release engineering documentation ([950d812](950d812159))
* **release:** remove inline markdownlint disable comment ([31d5810](31d58103fd))
* **ui:** add open source documentation files ([15a5c0a](15a5c0a59c))
2026-02-23 18:56:36 +00:00
Tuan-Dat Tran
c240aa3641 fix(ci): use POSIX-compatible syntax in pre-commit hook
Some checks failed
Release / Release (push) Failing after 6m48s
Release / Build & Push Docker Image (push) Has been skipped
2026-02-23 19:48:11 +01:00
Tuan-Dat Tran
cd22a970cb fix(ci): use lts version for ci
Some checks failed
Release / Release (push) Failing after 10m4s
Release / Build & Push Docker Image (push) Has been skipped
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev>
2026-02-23 19:33:36 +01:00
Tuan-Dat Tran
60d0aa5ae2 fix(ci): Set node versions in ci
Some checks failed
Release / Release (push) Failing after 9s
Release / Build & Push Docker Image (push) Has been skipped
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev>
2026-02-23 19:27:48 +01:00
Tuan-Dat Tran
ff26ff6570 chore(ci): bump node version
Some checks failed
Release / Release (push) Failing after 13s
Release / Build & Push Docker Image (push) Has been skipped
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev>
2026-02-23 19:20:53 +01:00
9 changed files with 174 additions and 120 deletions

View File

@@ -14,53 +14,53 @@ jobs:
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
fetch-depth: 0 fetch-depth: 0
- name: Setup Node.js - name: Setup Node.js
uses: actions/setup-node@v4 uses: actions/setup-node@v4
with: with:
node-version: '20' node-version: "24"
cache: 'npm' cache: "npm"
- name: Install dependencies - name: Install dependencies
run: npm ci run: npm ci
- name: Validate current commit - name: Validate current commit
if: github.event_name == 'push' if: github.event_name == 'push'
run: npx commitlint --from HEAD~1 --to HEAD --verbose run: npx commitlint --from HEAD~1 --to HEAD --verbose
- name: Validate PR commits - name: Validate PR commits
if: github.event_name == 'pull_request' if: github.event_name == 'pull_request'
run: npx commitlint --from ${{ github.event.pull_request.base.sha }} --to ${{ github.event.pull_request.head.sha }} --verbose run: npx commitlint --from ${{ github.event.pull_request.base.sha }} --to ${{ github.event.pull_request.head.sha }} --verbose
frontend: frontend:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
matrix: matrix:
node-version: [18.x, 20.x] node-version: [latest, 24.*, 25.*, 26.*]
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Setup Node.js ${{ matrix.node-version }} - name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4 uses: actions/setup-node@v4
with: with:
node-version: ${{ matrix.node-version }} node-version: ${{ matrix.node-version }}
cache: 'npm' cache: "npm"
- name: Install dependencies - name: Install dependencies
run: npm ci run: npm ci
- name: Lint - name: Lint
run: npm run lint run: npm run lint
- name: Unit Tests - name: Unit Tests
run: npm run test:run run: npm run test:run
- name: Build - name: Build
run: npm run build run: npm run build
- name: Upload build artifacts - name: Upload build artifacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
@@ -70,20 +70,20 @@ jobs:
backend: backend:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Setup Node.js - name: Setup Node.js
uses: actions/setup-node@v4 uses: actions/setup-node@v4
with: with:
node-version: '20.x' node-version: "20.x"
- name: Install dependencies - name: Install dependencies
working-directory: ./backend working-directory: ./backend
run: npm ci run: npm ci
- name: Test - name: Test
working-directory: ./backend working-directory: ./backend
run: npm test run: npm test
@@ -91,46 +91,46 @@ jobs:
integration: integration:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: [frontend, backend, commitlint] needs: [frontend, backend, commitlint]
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Setup Node.js - name: Setup Node.js
uses: actions/setup-node@v4 uses: actions/setup-node@v4
with: with:
node-version: '20.x' node-version: "20.x"
cache: 'npm' cache: "npm"
- name: Install dependencies - name: Install dependencies
run: npm ci run: npm ci
- name: Run Integration Tests - name: Run Integration Tests
run: npm run test:integration run: npm run test:integration
e2e: e2e:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: [frontend, backend, commitlint] needs: [frontend, backend, commitlint]
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Setup Node.js - name: Setup Node.js
uses: actions/setup-node@v4 uses: actions/setup-node@v4
with: with:
node-version: '20.x' node-version: "20.x"
cache: 'npm' cache: "npm"
- name: Install dependencies - name: Install dependencies
run: npm ci run: npm ci
- name: Install Playwright browsers - name: Install Playwright browsers
run: npx playwright install --with-deps chromium run: npx playwright install --with-deps chromium
- name: Run E2E Tests - name: Run E2E Tests
run: npm run test:e2e run: npm run test:e2e
- name: Upload Playwright report - name: Upload Playwright report
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
if: always() if: always()
@@ -142,23 +142,23 @@ jobs:
regression: regression:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: [frontend, backend, commitlint] needs: [frontend, backend, commitlint]
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Setup Node.js - name: Setup Node.js
uses: actions/setup-node@v4 uses: actions/setup-node@v4
with: with:
node-version: '20.x' node-version: "20.x"
cache: 'npm' cache: "npm"
- name: Install dependencies - name: Install dependencies
run: npm ci run: npm ci
- name: Run Regression Tests - name: Run Regression Tests
run: npm run test:regression run: npm run test:regression
- name: Upload snapshot diffs - name: Upload snapshot diffs
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
if: failure() if: failure()
@@ -170,23 +170,23 @@ jobs:
lighthouse: lighthouse:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: [frontend] needs: [frontend]
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Setup Node.js - name: Setup Node.js
uses: actions/setup-node@v4 uses: actions/setup-node@v4
with: with:
node-version: '20.x' node-version: "20.x"
cache: 'npm' cache: "npm"
- name: Install dependencies - name: Install dependencies
run: npm ci run: npm ci
- name: Build - name: Build
run: npm run build run: npm run build
- name: Run Lighthouse CI - name: Run Lighthouse CI
run: npm run test:lighthouse run: npm run test:lighthouse
continue-on-error: true continue-on-error: true
@@ -194,35 +194,35 @@ jobs:
quality: quality:
name: Quality Gates name: Quality Gates
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Setup Node.js - name: Setup Node.js
uses: actions/setup-node@v4 uses: actions/setup-node@v4
with: with:
node-version: '20' node-version: "20"
cache: 'npm' cache: "npm"
- name: Install dependencies - name: Install dependencies
run: npm ci run: npm ci
- name: Run tests with coverage - name: Run tests with coverage
run: npm run test:coverage run: npm run test:coverage
- name: Upload coverage to Codecov - name: Upload coverage to Codecov
uses: codecov/codecov-action@v4 uses: codecov/codecov-action@v4
with: with:
token: ${{ secrets.CODECOV_TOKEN }} token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: false fail_ci_if_error: false
- name: Build - name: Build
run: npm run build run: npm run build
- name: Check bundle size - name: Check bundle size
run: npx bundlesize run: npx bundlesize
- name: Security audit - name: Security audit
run: npm audit --audit-level=moderate run: npm audit --audit-level=moderate
continue-on-error: true continue-on-error: true

View File

@@ -20,28 +20,28 @@ jobs:
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Setup Node.js - name: Setup Node.js
uses: actions/setup-node@v4 uses: actions/setup-node@v4
with: with:
node-version: '20' node-version: "24"
cache: 'npm' cache: "npm"
- name: Install dependencies - name: Install dependencies
run: npm ci run: npm ci
- name: Build - name: Build
run: npm run build run: npm run build
env: env:
BASE_URL: /${{ github.event.repository.name }}/ BASE_URL: /${{ github.event.repository.name }}/
- name: Setup Pages - name: Setup Pages
uses: actions/configure-pages@v4 uses: actions/configure-pages@v4
- name: Upload artifact - name: Upload artifact
uses: actions/upload-pages-artifact@v3 uses: actions/upload-pages-artifact@v3
with: with:
path: 'dist' path: "dist"
deploy: deploy:
environment: environment:
@@ -52,4 +52,4 @@ jobs:
steps: steps:
- name: Deploy to GitHub Pages - name: Deploy to GitHub Pages
id: deployment id: deployment
uses: actions/deploy-pages@v4 uses: actions/deploy-pages@v4

View File

@@ -2,7 +2,7 @@ name: Nightly Build
on: on:
schedule: schedule:
- cron: '0 2 * * *' - cron: "0 2 * * *"
workflow_dispatch: workflow_dispatch:
permissions: permissions:
@@ -14,52 +14,52 @@ jobs:
name: Build Nightly Image name: Build Nightly Image
runs-on: ubuntu-latest runs-on: ubuntu-latest
environment: nightly environment: nightly
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
ref: master ref: master
- name: Get date - name: Get date
id: date id: date
run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
- name: Setup Node.js - name: Setup Node.js
uses: actions/setup-node@v4 uses: actions/setup-node@v4
with: with:
node-version: '20' node-version: "24"
cache: 'npm' cache: "npm"
- name: Install dependencies - name: Install dependencies
run: npm ci run: npm ci
- name: Install backend dependencies - name: Install backend dependencies
working-directory: ./backend working-directory: ./backend
run: npm ci run: npm ci
- name: Build - name: Build
run: npm run build run: npm run build
- name: Set up QEMU - name: Set up QEMU
uses: docker/setup-qemu-action@v3 uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx - name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3 uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub - name: Login to Docker Hub
uses: docker/login-action@v3 uses: docker/login-action@v3
with: with:
username: ${{ secrets.DOCKERHUB_USERNAME }} username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }} password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to GitHub Container Registry - name: Login to GitHub Container Registry
uses: docker/login-action@v3 uses: docker/login-action@v3
with: with:
registry: ghcr.io registry: ghcr.io
username: ${{ github.actor }} username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }} password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push - name: Build and push
uses: docker/build-push-action@v5 uses: docker/build-push-action@v5
with: with:

View File

@@ -15,40 +15,40 @@ jobs:
name: Release name: Release
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, '[skip ci]')" if: "!contains(github.event.head_commit.message, '[skip ci]')"
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
fetch-depth: 0 fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }} token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Node.js - name: Setup Node.js
uses: actions/setup-node@v4 uses: actions/setup-node@v4
with: with:
node-version: '20' node-version: "24"
cache: 'npm' cache: "npm"
- name: Install dependencies - name: Install dependencies
run: npm ci run: npm ci
- name: Install backend dependencies - name: Install backend dependencies
working-directory: ./backend working-directory: ./backend
run: npm ci run: npm ci
- name: Lint - name: Lint
run: npm run lint run: npm run lint
- name: Run tests - name: Run tests
run: npm run test:run run: npm run test:run
- name: Run backend tests - name: Run backend tests
working-directory: ./backend working-directory: ./backend
run: npm test run: npm test
- name: Build - name: Build
run: npm run build run: npm run build
- name: Release - name: Release
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -59,39 +59,39 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: release needs: release
if: needs.release.result == 'success' if: needs.release.result == 'success'
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
fetch-depth: 0 fetch-depth: 0
- name: Get version - name: Get version
id: version id: version
run: | run: |
VERSION=$(git describe --tags --abbrev=0 2>/dev/null || echo "latest") VERSION=$(git describe --tags --abbrev=0 2>/dev/null || echo "latest")
echo "version=${VERSION#v}" >> $GITHUB_OUTPUT echo "version=${VERSION#v}" >> $GITHUB_OUTPUT
echo "tag=${VERSION}" >> $GITHUB_OUTPUT echo "tag=${VERSION}" >> $GITHUB_OUTPUT
- name: Set up QEMU - name: Set up QEMU
uses: docker/setup-qemu-action@v3 uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx - name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3 uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub - name: Login to Docker Hub
uses: docker/login-action@v3 uses: docker/login-action@v3
with: with:
username: ${{ secrets.DOCKERHUB_USERNAME }} username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }} password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to GitHub Container Registry - name: Login to GitHub Container Registry
uses: docker/login-action@v3 uses: docker/login-action@v3
with: with:
registry: ghcr.io registry: ghcr.io
username: ${{ github.actor }} username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }} password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push - name: Build and push
uses: docker/build-push-action@v5 uses: docker/build-push-action@v5
with: with:

View File

@@ -14,52 +14,52 @@ jobs:
name: Build & Deploy to Staging name: Build & Deploy to Staging
runs-on: ubuntu-latest runs-on: ubuntu-latest
environment: staging environment: staging
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Setup Node.js - name: Setup Node.js
uses: actions/setup-node@v4 uses: actions/setup-node@v4
with: with:
node-version: '20' node-version: "24"
cache: 'npm' cache: "npm"
- name: Install dependencies - name: Install dependencies
run: npm ci run: npm ci
- name: Install backend dependencies - name: Install backend dependencies
working-directory: ./backend working-directory: ./backend
run: npm ci run: npm ci
- name: Lint - name: Lint
run: npm run lint run: npm run lint
- name: Run tests - name: Run tests
run: npm run test:run run: npm run test:run
- name: Build - name: Build
run: npm run build run: npm run build
- name: Set up QEMU - name: Set up QEMU
uses: docker/setup-qemu-action@v3 uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx - name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3 uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub - name: Login to Docker Hub
uses: docker/login-action@v3 uses: docker/login-action@v3
with: with:
username: ${{ secrets.DOCKERHUB_USERNAME }} username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }} password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to GitHub Container Registry - name: Login to GitHub Container Registry
uses: docker/login-action@v3 uses: docker/login-action@v3
with: with:
registry: ghcr.io registry: ghcr.io
username: ${{ github.actor }} username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }} password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push - name: Build and push
uses: docker/build-push-action@v5 uses: docker/build-push-action@v5
with: with:

View File

@@ -1,7 +1,7 @@
npm run lint npm run lint
# Gitleaks secret scanning # Gitleaks secret scanning
if command -v gitleaks &> /dev/null; then if command -v gitleaks > /dev/null 2>&1; then
gitleaks protect --verbose --staged gitleaks protect --verbose --staged
if [ $? -eq 1 ]; then if [ $? -eq 1 ]; then
echo "" echo ""

View File

@@ -64,9 +64,9 @@
[ [
"@semantic-release/github", "@semantic-release/github",
{ {
"assets": [ "successComment": false,
{ "path": "dist/**/*", "label": "Distribution" } "failComment": false,
] "releasedLabels": false
} }
] ]
] ]

View File

@@ -2,6 +2,60 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
## [1.0.2](https://git.seyshiro.de/tudattr/kilo-cv/compare/v1.0.1...v1.0.2) (2026-02-23)
### Bug Fixes
* **release:** disable github plugin comments for gitea compatibility ([de67a6d](https://git.seyshiro.de/tudattr/kilo-cv/commit/de67a6d0efc75baffd7f11f876427b5c5f48b229))
## [1.0.1](https://git.seyshiro.de/tudattr/kilo-cv/compare/v1.0.0...v1.0.1) (2026-02-23)
### Bug Fixes
* **release:** remove dist assets from github release config ([e9d2667](https://git.seyshiro.de/tudattr/kilo-cv/commit/e9d2667c959baf60c82519ecd5e24dac5953c4a0))
## 1.0.0 (2026-02-23)
### Features
* **api:** add backend api with express and sqlite ([00af886](https://git.seyshiro.de/tudattr/kilo-cv/commit/00af8862d3f642edc1f38beecfbd703fe562f722))
* **api:** add initial schema migration ([3b0d98f](https://git.seyshiro.de/tudattr/kilo-cv/commit/3b0d98f15cadd6c03dc298559abe6ac58c26c9b0))
* **api:** add knex configuration ([7e766c5](https://git.seyshiro.de/tudattr/kilo-cv/commit/7e766c52294f9b06161d168ef4e114a6fb0560ba))
* **api:** add swagger docs route ([736fefb](https://git.seyshiro.de/tudattr/kilo-cv/commit/736fefbdc9323412d37309d95de842a6d86f2e17))
* **api:** register swagger docs route ([4c0f53a](https://git.seyshiro.de/tudattr/kilo-cv/commit/4c0f53a3e3fc8d0c25980396429643ab43a231a6))
* **ci:** add bundlesize configuration ([dee36da](https://git.seyshiro.de/tudattr/kilo-cv/commit/dee36dafd3bfa25873f3232b8e83d71ad5a5aa36))
* **ci:** add commitlint validation to ci workflow ([1541212](https://git.seyshiro.de/tudattr/kilo-cv/commit/154121297b5845c41a53fc2761e263671e3771c8))
* **ci:** add coverage configuration ([278082d](https://git.seyshiro.de/tudattr/kilo-cv/commit/278082d32219107d157dbb8126611d4f2dca6a9a))
* **ci:** add gitleaks configuration ([32f3221](https://git.seyshiro.de/tudattr/kilo-cv/commit/32f32212150d0114a6fdd048cfaffec07fbe74a6))
* **ci:** add gitleaks to pre-commit hook ([c18410b](https://git.seyshiro.de/tudattr/kilo-cv/commit/c18410bf5ebe3048db3ddadcbbc0afa55147f241))
* **ci:** add lighthouse ci configuration ([f6f2dba](https://git.seyshiro.de/tudattr/kilo-cv/commit/f6f2dba9e0e396a99fed200923acc8640ff0fd76))
* **ci:** add nightly build workflow ([5b56edd](https://git.seyshiro.de/tudattr/kilo-cv/commit/5b56edddb2ffddecf124d29f92825723230fd9d5))
* **ci:** add quality gates to ci workflow ([963b8ec](https://git.seyshiro.de/tudattr/kilo-cv/commit/963b8eccf8af59d398f4973504fd43a72ed23d98))
* **ci:** add staging deployment workflow ([f5a00d3](https://git.seyshiro.de/tudattr/kilo-cv/commit/f5a00d356ae04f9f1180a051918c221a1f9e521b))
* **docker:** add multi-platform build configuration ([6b7eba9](https://git.seyshiro.de/tudattr/kilo-cv/commit/6b7eba99d4c989dce7ba1a8ea2c7ecbc857eefcd))
* **ui:** add cv application frontend and configuration ([7f06ee7](https://git.seyshiro.de/tudattr/kilo-cv/commit/7f06ee7f53bcf693a52903ca3b89dba022798c0e))
### Bug Fixes
* **ci:** Set node versions in ci ([60d0aa5](https://git.seyshiro.de/tudattr/kilo-cv/commit/60d0aa5ae29a5ed9c327061fa5b20e458109a534))
* **ci:** use lts version for ci ([cd22a97](https://git.seyshiro.de/tudattr/kilo-cv/commit/cd22a970cbf21a8cd9806a6eccf61e622c8efe80))
* **ci:** use POSIX-compatible syntax in pre-commit hook ([c240aa3](https://git.seyshiro.de/tudattr/kilo-cv/commit/c240aa3641215b76bcf5af645a05fcebe611a43c))
### Documentation
* add comprehensive release engineering documentation ([c8816c4](https://git.seyshiro.de/tudattr/kilo-cv/commit/c8816c4f36db9731b0b42f0584b466e1666042ff))
* add gitleaks setup and api docs info ([cbf4090](https://git.seyshiro.de/tudattr/kilo-cv/commit/cbf40908a692252bacf35e9d849f786716caacc8))
* add initial changelog ([e209d6e](https://git.seyshiro.de/tudattr/kilo-cv/commit/e209d6e24135715b3f09ade4c9abb1e8a07f5be8))
* add release engineering design document ([1741fe1](https://git.seyshiro.de/tudattr/kilo-cv/commit/1741fe1ca1c38195520a394df90a983993666d39))
* add release engineering implementation plan ([b3f2919](https://git.seyshiro.de/tudattr/kilo-cv/commit/b3f29197910d8b17d6327b03831ac2b03eba7247))
* add release process documentation ([f544577](https://git.seyshiro.de/tudattr/kilo-cv/commit/f5445770ee36f9364f036ba0d1e89363fe726734))
* **api:** add openapi docs to auth routes ([8a22e4b](https://git.seyshiro.de/tudattr/kilo-cv/commit/8a22e4b120213e070783715b8fd8ee6919ad0e83))
* **release:** add devops features design document ([252afb7](https://git.seyshiro.de/tudattr/kilo-cv/commit/252afb7e9f3f76348667c572d0dcfa5a67a4be76))
* **release:** add devops features implementation plan ([162ddb6](https://git.seyshiro.de/tudattr/kilo-cv/commit/162ddb67dd570b8ac257e1d2d6f0eac40dddf24a))
* **release:** add link to release engineering documentation ([950d812](https://git.seyshiro.de/tudattr/kilo-cv/commit/950d812159528093c67c91a64f24dab107348bed))
* **release:** remove inline markdownlint disable comment ([31d5810](https://git.seyshiro.de/tudattr/kilo-cv/commit/31d58103fd195db42d0bbfa9c262a23beb7b1734))
* **ui:** add open source documentation files ([15a5c0a](https://git.seyshiro.de/tudattr/kilo-cv/commit/15a5c0a59cfb51c124577107368ac620bf7a5635))
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

View File

@@ -1,7 +1,7 @@
{ {
"name": "cv-app", "name": "cv-app",
"private": true, "private": true,
"version": "0.0.0-dev.1", "version": "1.0.2",
"type": "module", "type": "module",
"scripts": { "scripts": {
"dev": "vite", "dev": "vite",