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
3 changes: 3 additions & 0 deletions .flake8
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[flake8]
max-line-length = 130
exclude = .git,__pycache__,.venv
3 changes: 3 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# this is the list of code owners that are automatically set as code
# reviewers for a new PR
* @akmaily @MaxClerkwell
58 changes: 58 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: "🐛 Bug report"
description: "Something isn’t working as expected"
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to report a bug!
Please fill out **all** required fields.
- type: input
id: summary
attributes:
label: "Short summary"
placeholder: "Crash when clicking Connect"
validations:
required: true

- type: textarea
id: steps
attributes:
label: "Steps to reproduce"
placeholder: |
1. Go to …
2. Click …
3. Observe …
validations:
required: true

- type: textarea
id: expected
attributes:
label: "Expected behaviour"
validations:
required: true

- type: textarea
id: actual
attributes:
label: "Actual behaviour"
validations:
required: true

- type: textarea
id: environment
attributes:
label: "Environment"
placeholder: |
- OS:
- Browser:
- Angular app version:
- Electron app verison:
- type: checkboxes
id: self_assign
attributes:
label: "Will you implement this yourself?"
options:
- label: "Yes – assign this issue to me"
required: false
48 changes: 48 additions & 0 deletions .github/ISSUE_TEMPLATE/contribution_proposal.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: "✨ Contribution proposal"
description: "Suggest a feature / improvement and (optionally) volunteer to implement it"
labels: ["enhancement", "contribution"]
body:
- type: markdown
attributes:
value: |
Tell us what you’d like to add or improve.
Check the box below if **you** intend to implement it.
- type: input
id: title
attributes:
label: "Brief title"
placeholder: "Add dark-mode toggle"
validations:
required: true

- type: textarea
id: problem
attributes:
label: "What problem does this solve?"
validations:
required: true

- type: textarea
id: approach
attributes:
label: "Proposed solution / approach"
placeholder: "High-level plan, API changes, UI mock-ups …"

- type: checkboxes
id: self_assign
attributes:
label: "Will you implement this yourself?"
options:
- label: "Yes – assign this issue to me"
required: false

- type: textarea
id: definition_of_done
attributes:
label: "Definition of Done"
placeholder: "Acceptance criteria, tests, docs…"

- type: textarea
id: extras
attributes:
label: "Additional context / references"
45 changes: 45 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
## Summary
<!-- A description of 1–3 sentences of what this PR does and *why*
What problem does this PR solve?
Which concept, bug, or requirement does it address? -->

*Add description here*

Issue number *Add issue number here*

## 🛠 Type of change
<!-- Mark **one** as done -->

| Type | Included |
|-------------------|----------|
| Bug fix | ❌ |
| New feature | ✅ |
| Refactor | ❌ |
| Docs / examples | ❌ |
| CI / tooling | ❌ |

## 📝 Design Decisions
<!-- Changes in detail (files, concepts)
>Describe the way your implementation works or what design decisions you made if applicable.
>Which are the main files and concepts you changed or introduced? -->

*Add description here*

## How to test

### 1. Expected behavior
*Add description here*
### 2. Steps to reproduce
*Add description here*
### 3. Is there still unexpected behaviour which needs to be addressed in the future?
*Add description here*

## Checklist

Make sure you

- [ ] have read the [contribution guidelines](../CONTRIBUTION.md),
- [ ] given this PR a concise and imperative title, <!-- e.g. "Fix memory leak in DeviceService" or "Add dark-mode toggle" -->
- [ ] have added necessary unit/e2e tests if necessary,
- [ ] have added documentation if necessary,
- [ ] have documented the changes in the [CHANGELOG.md](../CHANGELOG.md).
27 changes: 27 additions & 0 deletions .github/workflows/lint-and-format.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Lint and Format

on: [push, pull_request]

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

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

- name: Install dependencies
run: |
pip install black flake8 isort

- name: Run Black (formatter)
run: black --check src/

- name: Run isort (import sorting)
run: isort --check-only src/

- name: Run Flake8 (linter)
run: flake8 src/
34 changes: 34 additions & 0 deletions .github/workflows/ping-codeowners-on-issue.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Notify Selected Code Owners on Issue

on:
issues:
types: [opened]

jobs:
notify:
runs-on: ubuntu-latest
steps:
- name: Notify selected owners
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const issueTitle = context.payload.issue.title;
const issueUrl = context.payload.issue.html_url;
const issueAuthor = context.payload.issue.user.login;

let mentions = [];
mentions.push("@akmaily");

const message =
"Issue created by @" + issueAuthor + "\n\n" +
"Automatically pinging maintainers:\n" +
mentions.join(" ") + "\n\n" +
"Please triage or assign this issue as needed.";

await github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: message
});
64 changes: 64 additions & 0 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: Build Executable for Linux and Windows

on:
pull_request:

jobs:
build-linux:
name: Build Linux Executable
runs-on: ubuntu-latest

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

- name: Set up Python 3.12
uses: actions/setup-python@v5
with:
python-version: 3.12

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install pyinstaller

- name: Build executable (Linux)
run: |
pyinstaller --onefile ./src/main.py --name OmnAIView-Python-Linux

- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: OmnAIView-Linux
path: dist/OmnAIView-Python-Linux

build-windows:
name: Build Windows Executable
runs-on: windows-latest

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

- name: Set up Python 3.12
uses: actions/setup-python@v5
with:
python-version: 3.12

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install pyinstaller

- name: Build executable (Windows)
run: |
pyinstaller --onefile .\src\main.py --name OmnAIView-Python-Windows
shell: powershell

- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: OmnAIView-Windows
path: dist\OmnAIView-Python-Windows
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# 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
### Changed
### Removed
Loading
Loading