Skip to content
Merged
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
4 changes: 4 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
* @senyo888

custom_components/ @senyo888
.github/ @senyo888
62 changes: 62 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
name: Bug report
description: Report something that is not working.
title: "[Bug]: "
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Please redact private entity IDs, URLs, tokens, addresses, and personal data.
- type: input
id: hi-version
attributes:
label: Humidity Intelligence version
placeholder: "2.0.3"
validations:
required: true
- type: input
id: ha-version
attributes:
label: Home Assistant version
placeholder: "2026.4.3"
validations:
required: true
- type: dropdown
id: install-method
attributes:
label: Install method
options:
- HACS
- Manual
- Other / unsure
validations:
required: true
- type: input
id: browser-app
attributes:
label: Browser/app, if relevant
placeholder: "Chrome, HA iOS app, etc."
- type: textarea
id: problem
attributes:
label: What happened?
description: Include expected behaviour, actual behaviour, and steps to reproduce.
validations:
required: true
- type: dropdown
id: refresh-ui
attributes:
label: Did you run `humidity_intelligence.refresh_ui` after updating?
options:
- "Yes"
- "No"
- "Not relevant"
- "Unsure"
validations:
required: true
- type: textarea
id: logs
attributes:
label: Logs, entities, or screenshots
description: Paste relevant redacted logs/config and attach screenshots if useful.
render: text
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
blank_issues_enabled: false
31 changes: 31 additions & 0 deletions .github/ISSUE_TEMPLATE/config_help.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Configuration help
description: Ask for setup or configuration help.
title: "[Config help]: "
labels: ["question"]
body:
- type: markdown
attributes:
value: |
Please redact private entity IDs, URLs, tokens, addresses, and personal data.
- type: textarea
id: goal
attributes:
label: Goal
description: What are you trying to configure or achieve?
validations:
required: true
- type: textarea
id: setup
attributes:
label: Current setup
description: Which sensors, outputs, zones, or alert-only settings are configured?
validations:
required: true
- type: textarea
id: stuck
attributes:
label: What is unclear or unavailable?
description: Include redacted YAML/logs if useful.
render: text
validations:
required: true
29 changes: 29 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Feature request
description: Suggest an improvement.
title: "[Feature]: "
labels: ["enhancement"]
body:
- type: textarea
id: request
attributes:
label: Request
description: What problem would this solve, and what behaviour would you like?
validations:
required: true
- type: textarea
id: fit
attributes:
label: Why it fits Humidity Intelligence
description: Explain why this belongs in the integration.
validations:
required: true
- type: checkboxes
id: areas
attributes:
label: Area
options:
- label: Backend/runtime
- label: UI/dashboard
- label: Config flow
- label: Documentation
- label: UI Gallery
40 changes: 40 additions & 0 deletions .github/ISSUE_TEMPLATE/ui_gallery_submission.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: UI Gallery submission
description: Submit a reusable dashboard/card example.
title: "[UI Gallery]: "
labels: ["ui-gallery"]
body:
- type: input
id: card-name
attributes:
label: Card name
validations:
required: true
- type: input
id: folder
attributes:
label: Folder path
placeholder: "/ui-gallery/<card-id>/"
validations:
required: true
- type: textarea
id: files
attributes:
label: Included files
description: List the README, YAML file, and preview PNG.
placeholder: |
README.md
card.yaml
preview.png
validations:
required: true
- type: checkboxes
id: confirmations
attributes:
label: Confirmations
options:
- label: No private entity IDs, secrets, addresses, or personal data are included.
required: true
- label: Canonical backend entities/helpers are preserved.
required: true
- label: The PR targets `develop`.
required: true
6 changes: 6 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: github-actions
directory: /
schedule:
interval: weekly
27 changes: 27 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
## Summary

<!-- What changed and why? -->

## Type

- [ ] Fix
- [ ] Feature
- [ ] Documentation
- [ ] UI Gallery
- [ ] Maintenance

## Checks

- [ ] PR targets `develop`.
- [ ] Tested in Home Assistant, or testing notes explain why not.
- [ ] Restart/config flow checked where relevant.
- [ ] Ran `humidity_intelligence.refresh_ui` or refreshed dashboards where UI output changed.
- [ ] Docs/changelog updated where needed.
- [ ] No private entity IDs, secrets, addresses, or personal data included.
- [ ] HACS/custom integration metadata still looks correct.

## UI Gallery submissions

- [ ] Uses `/ui-gallery/<card-id>/`.
- [ ] Includes `README.md`, YAML, and `preview.png`.
- [ ] Preserves canonical Humidity Intelligence backend entities/helpers.
29 changes: 29 additions & 0 deletions .github/workflows/hacs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: HACS Validation

on:
push:
pull_request:
schedule:
- cron: "0 0 * * *"
workflow_dispatch:

permissions:
contents: read

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
validate:
runs-on: ubuntu-latest
timeout-minutes: 15

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

- name: HACS Action
uses: hacs/action@main
with:
category: integration
40 changes: 40 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Release check

on:
workflow_dispatch:

permissions:
contents: read

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

- name: Validate release files
shell: bash
run: |
set -euo pipefail
test -f README.md
test -f hacs.json
python - <<'PY'
import json
from pathlib import Path

manifests = list(Path("custom_components").glob("*/manifest.json"))
if Path("manifest.json").exists():
manifests.append(Path("manifest.json"))

if not manifests:
raise SystemExit("No manifest.json found.")

for path in manifests:
data = json.loads(path.read_text(encoding="utf-8"))
if not data.get("version"):
raise SystemExit(f"{path} has no version.")
print(f"{path}: {data['version']}")
PY

- name: Note
run: echo "This workflow validates release readiness only; it does not publish."
Loading
Loading