Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
49 changes: 49 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
name: πŸ› Bug Report
about: Report a bug to help us improve the project
title: '[BUG] '
labels: 'bug'
assignees: ''

---

## Bug Description

<!-- A clear and concise description of what the bug is -->

## Steps to Reproduce

1.
2.
3.

**Code snippet (if applicable):**
```python
# Your code here
```

## Expected Behavior

<!-- A clear description of what you expected to happen -->

## Actual Behavior

<!-- A clear description of what actually happened -->

## Environment

- **Component:** [API | Core functionality | Any]
- **OS:** [Windows | MacOS | Linux]
- **Python Version:**

## Screenshots/Logs

<!-- If applicable, add screenshots or error logs -->

## Additional Context

<!-- Add any other context about the problem here -->

## Possible Solution

<!-- If you have suggestions on how to fix the bug, please describe them here -->
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: πŸ’¬ Discussion
url: https://github.com/VectorInstitute/aieng-template-uv/discussions
about: Ask questions or discuss ideas with the community
- name: πŸ“– Documentation
url: https://github.com/VectorInstitute/aieng-template-uv#readme
about: Check the documentation for setup and usage guides
52 changes: 52 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
---
name: ✨ Feature Request
about: Suggest a new feature or enhancement
title: '[FEATURE] '
labels: 'enhancement'
assignees: ''

---

## Problem Statement

<!-- Is your feature request related to a problem? Describe the problem or use case -->

## Proposed Solution

<!-- A clear description of what you want to happen -->

## Alternative Solutions

<!-- Describe any alternative solutions or features you've considered -->

## Use Cases

<!-- Describe specific use cases where this feature would be valuable -->
-
-
-

## Implementation Ideas

<!-- If you have ideas about how this could be implemented, describe them here -->

## Component Impact

<!-- Which parts of the system would this feature affect? -->
- [ ] API
- [ ] Core functionality
- [ ] Docker/Infrastructure
- [ ] Documentation
- [ ] Any other part of the system

## Additional Context

<!-- Add any other context, mockups, or screenshots about the feature request here -->

## Priority

<!-- How important is this feature to you? -->
- [ ] Nice to have
- [ ] Would be helpful
- [ ] Important for my use case
- [ ] Critical/blocking
17 changes: 17 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file

version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/" # Location of package manifests
schedule:
interval: "daily"

# Keep uv dependencies (uv.lock) up to date
- package-ecosystem: "uv"
directory: "/" # where pyproject.toml and uv.lock live
schedule:
interval: "daily"
53 changes: 53 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
## Summary

<!-- Provide a brief description of what this PR does -->

Clickup Ticket(s): Link(s) if applicable.

## Type of Change

- [ ] πŸ› Bug fix (non-breaking change that fixes an issue)
- [ ] ✨ New feature (non-breaking change that adds functionality)
- [ ] πŸ’₯ Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] πŸ“ Documentation update
- [ ] πŸ”§ Refactoring (no functional changes)
- [ ] ⚑ Performance improvement
- [ ] πŸ§ͺ Test improvements
- [ ] πŸ”’ Security fix

## Changes Made

<!-- List the main changes made in this PR -->
-
-
-

## Testing

<!-- Describe how you tested these changes -->
- [ ] Tests pass locally (`uv run pytest tests/`)
- [ ] Type checking passes (`uv run mypy <src_dir>`)
- [ ] Linting passes (`uv run ruff check src_dir/`)
- [ ] Manual testing performed (describe below)

**Manual testing details:**
<!-- Describe any manual testing performed -->

## Screenshots/Recordings

<!-- If applicable, add screenshots or recordings to demonstrate the changes -->

## Related Issues

<!-- Link any related issues using "Closes #123" or "Relates to #123" -->

## Deployment Notes

<!-- Any special deployment considerations or migration steps -->

## Checklist

- [ ] Code follows the project's style guidelines
- [ ] Self-review of code completed
- [ ] Documentation updated (if applicable)
- [ ] No sensitive information (API keys, credentials) exposed
67 changes: 67 additions & 0 deletions .github/workflows/code_checks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
name: code checks
permissions:
contents: read
pull-requests: write

on:
push:
branches:
- main
paths:
- .pre-commit-config.yaml
- .github/workflows/code_checks.yml
- '**.py'
- uv.lock
- pyproject.toml
- '**.ipynb'
pull_request:
branches:
- main
paths:
- .pre-commit-config.yaml
- .github/workflows/code_checks.yml
- '**.py'
- uv.lock
- pyproject.toml
- '**.ipynb'

jobs:
run-code-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6.0.2

- name: Install uv
uses: astral-sh/setup-uv@v7.3.0
with:
# Install a specific version of uv.
version: "0.9.11"
enable-cache: true

- name: "Set up Python"
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405
with:
python-version-file: ".python-version"

- name: Install the project
run: uv sync --all-extras --dev

- name: Install dependencies and check code
run: |
source .venv/bin/activate
pre-commit run --all-files

- name: Install pip in venv (for pip-audit)
run: uv pip install pip

- name: pip-audit (gh-action-pip-audit)
uses: pypa/gh-action-pip-audit@v1.1.0
with:
virtual-environment: .venv/
ignore-vulns: |
GHSA-4xh5-x5gv-qwph
CVE-2025-69872
CVE-2026-28277
CVE-2026-32597
CVE-2026-25960
CVE-2026-25048
102 changes: 102 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
name: docs
permissions:
contents: write
pull-requests: write

on:
push:
branches:
- main
paths:
- .pre-commit-config.yaml
- .github/workflows/docs.yml
- '**.py'
- '**.ipynb'
- '**.html'
- '**.js'
- '**.md'
- uv.lock
- pyproject.toml
- mkdocs.yml
- '**.png'
- '**.svg'
pull_request:
branches:
- main
paths:
- .pre-commit-config.yaml
- .github/workflows/docs.yml
- '**.py'
- '**.ipynb'
- '**.js'
- '**.html'
- uv.lock
- pyproject.toml
- '**.md'
- mkdocs.yml
- '**.png'
- '**.svg'

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v6.0.2

- name: Install uv
uses: astral-sh/setup-uv@v7.3.0
with:
version: "0.9.11"
enable-cache: true

- name: Set up Python
uses: actions/setup-python@v6.2.0
with:
python-version-file: ".python-version"

- name: Install the project
run: uv sync --extra docs

- name: Build docs
run: uv run mkdocs build
env:
PYTHONPATH: src

- name: Create .nojekyll file
run: touch site/.nojekyll

- name: Upload artifact
uses: actions/upload-artifact@v6
with:
name: docs-site
path: site/
retention-days: 1

deploy:
needs: build
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v6.0.2

- name: Configure Git Credentials
run: |
git config user.name github-actions[bot]
git config user.email 41898282+github-actions[bot]@users.noreply.github.com

- name: Download artifact
uses: actions/download-artifact@v7
with:
name: docs-site
path: site

- name: Ensure .nojekyll exists
run: touch site/.nojekyll

- name: Deploy to Github pages
uses: JamesIves/github-pages-deploy-action@v4.8.0
with:
branch: gh-pages
folder: site
Loading