From 9b8250ec88e0901ab1eddac30e5cf9613e7a3fcc Mon Sep 17 00:00:00 2001 From: Virati Akiranandhan Reddy Date: Sun, 20 Sep 2026 22:39:43 +0530 Subject: [PATCH 1/8] Add Ruff workflow for linting and formatting checks --- .github/workflows/ruff.yml | 58 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 .github/workflows/ruff.yml diff --git a/.github/workflows/ruff.yml b/.github/workflows/ruff.yml new file mode 100644 index 0000000..0b18b28 --- /dev/null +++ b/.github/workflows/ruff.yml @@ -0,0 +1,58 @@ +name: Ruff + +on: + # Run Ruff on changes that can affect Python code or its configuration. + push: + branches: + - main + paths: + - '**/*.py' + - 'requirements.txt' + - '.github/workflows/ruff.yml' + + # Validate pull requests before they are merged into main. + pull_request: + branches: + - main + paths: + - '**/*.py' + - 'requirements.txt' + - '.github/workflows/ruff.yml' + + # Allow Ruff to be run manually when needed. + workflow_dispatch: + +# Cancel outdated runs when new commits are pushed to the same ref. +# Only the latest commit needs to pass Ruff. +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +# Ruff only needs read access to the repository. +permissions: + contents: read + +jobs: + ruff: + name: Ruff + runs-on: ubuntu-latest + timeout-minutes: 10 + + steps: + # Fetch the repository so Ruff can inspect the source tree. + - name: Checkout + uses: actions/checkout@v7.0.1 + + # Run all enabled Ruff lint rules from pyproject.toml. + # GitHub output adds inline annotations to the workflow results. + - name: Check lint + uses: astral-sh/ruff-action@v4.1.0 + with: + args: check --output-format=github + + # Verify that the repository is formatted with Ruff. + # --check keeps CI read-only, while --diff shows the required changes. + - name: Check formatting + uses: astral-sh/ruff-action@v4.1.0 + with: + args: format --check --diff --output-format=github From 19bf52d0be53de2e91a482bead6538f42ba5a64e Mon Sep 17 00:00:00 2001 From: Virati Akiranandhan Reddy Date: Sun, 20 Sep 2026 22:40:11 +0530 Subject: [PATCH 2/8] Add type checking workflow using ty --- .github/workflows/ty.yml | 52 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 .github/workflows/ty.yml diff --git a/.github/workflows/ty.yml b/.github/workflows/ty.yml new file mode 100644 index 0000000..08ad6e8 --- /dev/null +++ b/.github/workflows/ty.yml @@ -0,0 +1,52 @@ +name: ty + +on: + # Run type checking when Python code or its configuration changes. + push: + branches: + - main + paths: + - '**/*.py' + - 'requirements.txt' + - '.github/workflows/ty.yml' + + # Validate pull requests before they are merged into main. + pull_request: + branches: + - main + paths: + - '**/*.py' + - 'requirements.txt' + - '.github/workflows/ty.yml' + + # Allow type checking to be run manually when needed. + workflow_dispatch: + +# Cancel outdated runs when new commits are pushed to the same ref. +# Only the latest commit needs to pass type checking. +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +# ty only needs read access to the repository. +permissions: + contents: read + +jobs: + ty: + name: ty + runs-on: ubuntu-latest + timeout-minutes: 10 + + steps: + # Fetch the repository so ty can inspect the source tree. + - name: Checkout + uses: actions/checkout@v7.0.1 + + # Install uv for managing the project's development environment. + - name: Set up uv + uses: astral-sh/setup-uv@v10.1.0 + + # Install ty and run type checking. + - name: Type check + run: uv run --with ty ty check From fb6ba92117ae006078c0a1a1e403d465d85da845 Mon Sep 17 00:00:00 2001 From: Virati Akiranandhan Reddy Date: Sun, 20 Sep 2026 22:42:55 +0530 Subject: [PATCH 3/8] Add requirements.txt to specify project dependencies --- requirements.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 requirements.txt diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..6be6e06 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,2 @@ +google-genai==2.24.0 +fastapi==0.141.1 \ No newline at end of file From 57fa5ff6028f1a1a9422d94fc1d37fe9696cee16 Mon Sep 17 00:00:00 2001 From: Virati Akiranandhan Reddy Date: Sun, 20 Sep 2026 22:52:12 +0530 Subject: [PATCH 4/8] Add dependabot configuration for automated dependency updates Co-authored-by: BairaboinaLokeshKumarYadav --- .github/dependabot.yml | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..24dec5e --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,42 @@ +version: 2 + +updates: + - package-ecosystem: "pip" + directory: "/" + schedule: + interval: weekly + + open-pull-requests-limit: 10 + + assignees: + - ViratiAkiraNandhanReddy + - BairaboinaLokeshKumarYadav + - ZeroMergeConflicts + + labels: + - "automated" + - "dependencies" + + groups: + production-dependencies: + dependency-type: "production" + + development-dependencies: + dependency-type: "development" + + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: weekly + + open-pull-requests-limit: 10 + + assignees: + - ViratiAkiraNandhanReddy + - BairaboinaLokeshKumarYadav + - ZeroMergeConflicts + + labels: + - "automated" + - "dependencies" + - "github-actions" \ No newline at end of file From c30cf4dc47e43cbd1eac507a9b3fb74d14e3c9f6 Mon Sep 17 00:00:00 2001 From: Virati Akiranandhan Reddy Date: Sun, 20 Sep 2026 22:53:48 +0530 Subject: [PATCH 5/8] Add CHANGELOG.md to document project changes and versioning Co-authored-by: ZeroMergeConflicts <243945106+ZeroMergeConflicts@users.noreply.github.com> --- CHANGELOG.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..b9c0ed1 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,23 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +### Added + +* +* + +## [0.1.0] - YYYY-MM-DD + +### Added + +* +* + +[Unreleased]: ../../compare/v0.1.0...HEAD +[0.1.0]: ../../releases/tag/v0.1.0 From d4da3f27d5e4a0c4aeb24d973124b13e23b9afb6 Mon Sep 17 00:00:00 2001 From: Virati Akiranandhan Reddy Date: Sun, 20 Sep 2026 22:54:00 +0530 Subject: [PATCH 6/8] Add initial documentation files for project structure --- .github/ISSUE_TEMPLATE/bug_report.yml | 0 .github/PULL_REQUEST_TEMPLATE.md | 0 .github/SUPPORT.md | 0 AGENTS.md | 0 ARCHITECTURE.md | 0 CODE_OF_CONDUCT.md | 0 SECURITY.md | 0 7 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 .github/SUPPORT.md create mode 100644 AGENTS.md create mode 100644 ARCHITECTURE.md create mode 100644 CODE_OF_CONDUCT.md create mode 100644 SECURITY.md diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..e69de29 diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..e69de29 diff --git a/.github/SUPPORT.md b/.github/SUPPORT.md new file mode 100644 index 0000000..e69de29 diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..e69de29 diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md new file mode 100644 index 0000000..e69de29 diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..e69de29 diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..e69de29 From 860e346f3a665f8c7f48c625b60c0694ddb4eeaf Mon Sep 17 00:00:00 2001 From: Virati Akiranandhan Reddy Date: Sun, 20 Sep 2026 23:06:28 +0530 Subject: [PATCH 7/8] Add linting configuration to extend ignore rules --- pyproject.toml | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 pyproject.toml diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..73edff4 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,2 @@ +[lint] +extend-ignore = ["N999"] \ No newline at end of file From 341d12c3add4bb3aaa43973c6a6e5511b23f957d Mon Sep 17 00:00:00 2001 From: Virati Akiranandhan Reddy Date: Sun, 20 Sep 2026 23:13:44 +0530 Subject: [PATCH 8/8] Add Ruff configuration for linting and formatting rules --- pyproject.toml | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 73edff4..5fa3661 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,2 +1,33 @@ -[lint] -extend-ignore = ["N999"] \ No newline at end of file +[tool.ruff] +src = ["HackTogether_01", "tests"] + +target-version = "py314" + +[tool.ruff.lint] +select = [ + "E", # pycodestyle + "F", # Pyflakes + "A", # flake8-builtins + "I", # isort + "UP", # pyupgrade + "B", # flake8-bugbear + "C4", # flake8-comprehensions + "SIM", # flake8-simplify + "RET", # flake8-return + "PTH", # flake8-use-pathlib + "RUF", # Ruff-specific rules +] +ignore = [ + "N999", # Invalid module name rule +] + +[tool.ruff.format] +quote-style = "double" +indent-style = "space" +line-ending = "auto" + +[tool.ty.src] +include = ["HackTogether_01", "tests"] + +[tool.ty.rules] +all = "error" \ No newline at end of file