release-build
Run the full build and release pipeline for the Budget Analyser desktop app
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Run the full build and release pipeline for the Budget Analyser desktop app
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
Use when performing any git operation — commits, branching, pushing, stashing, or viewing history. Enforces signed commits, semantic format with scope, and file-change table in commit messages.
Orchestrate a round-table discussion with the Budget Analyser development team agents before implementing a feature or task
Finance Analyst reviews financial logic in code changes for accuracy, edge cases, and domain correctness
SOC 직업 분류 기준
| name | release-build |
| description | Run the full build and release pipeline for the Budget Analyser desktop app |
Execute the complete build, test, and release pipeline for the Budget Analyser Tauri v2 desktop application.
# Verify clean working tree
git status
# Check current branch
git branch --show-current
# Read version from pyproject.toml
grep 'version' pyproject.toml | head -5
# Verify dependencies are installed
uv sync --group dev
cd src/frontend && npm install
Gate: Working tree must be clean. All changes committed.
# Ruff lint and format check
uv run ruff check src/budget_analyser/
uv run ruff format --check src/budget_analyser/
# Pylint deep analysis (score must be >= 8.0)
uv run pylint src/budget_analyser/ --score=y
# Unit tests (ALL must pass)
uv run pytest src/test/unit/ -q
# Coverage report
uv run pytest --cov=src/budget_analyser --cov-report=term-missing
Gate: All linting passes, all tests green, pylint >= 8.0.
cd src/frontend
# TypeScript type checking
npx tsc --noEmit
# ESLint (if configured)
npm run lint 2>/dev/null || echo "ESLint not configured, skipping"
# Vite build
npx vite build
Gate: TypeScript clean, build succeeds.
Prompt the user before running — E2E tests require both servers running and take longer:
cd src/frontend
npm run test:e2e
Gate: All E2E tests pass (if user chose to run them).
cd src/frontend
npm run tauri build
This produces platform-specific artifacts:
src/frontend/src-tauri/target/release/bundle/dmg/*.dmgsrc/frontend/src-tauri/target/release/bundle/msi/*.msisrc/frontend/src-tauri/target/release/bundle/appimage/*.AppImageGate: Build completes without errors, artifacts exist.
Only proceed if the user explicitly requests a release:
# Get version from pyproject.toml
VERSION=$(grep '^version' pyproject.toml | head -1 | sed 's/.*"\(.*\)"/\1/')
# Create and push git tag
git tag -a "v$VERSION" -m "Release v$VERSION"
git push origin "v$VERSION"
# Create GitHub release draft
gh release create "v$VERSION" \
--title "Budget Analyser v$VERSION" \
--draft \
--generate-notes
After all steps complete, present a summary:
## Release Build Report
| Step | Status | Details |
|------|--------|---------|
| Pre-flight | PASS/FAIL | Clean tree, branch, version |
| Ruff lint | PASS/FAIL | Error count |
| Pylint | PASS/FAIL | Score: X.X/10 |
| Unit tests | PASS/FAIL | X passed, Y failed |
| Coverage | INFO | XX% overall |
| TypeScript | PASS/FAIL | Error count |
| Frontend build | PASS/FAIL | Bundle size |
| E2E tests | PASS/FAIL/SKIPPED | X passed |
| Tauri build | PASS/FAIL | Artifact path |
| Release | CREATED/SKIPPED | Tag, URL |
**Overall: READY FOR RELEASE / ISSUES FOUND**