Files
bahmcloud_store/.idea/changes.md

5.9 KiB

Changes Log

2026-03-23

Added

  • Created .idea/start prompt.md as a persistent project working prompt for future sessions.
  • Added .idea/changes.md as the preferred in-project location for the detailed session change log.
  • Added release notes support in the active Bahmcloud Store runtime path: backend provider fetching, a dedicated API endpoint, and panel display for the currently selected version when provider release notes are available.
  • Bumped the Home Assistant panel asset cache-buster from v=109 to v=110 so the updated frontend loads reliably after deployment.
  • Bumped the integration version from 0.7.2 to 0.7.3.
  • Added the 0.7.3 release entry to CHANGELOG.md with the new release-notes and project-workflow changes.
  • Added a persistent rule that commit messages, pushes, release notes, and changelog entries must never mention prompts, AI/KI tools, or .idea folder files.
  • Added a persistent release rule that future git tags and release names must use plain version numbers without a leading v.
  • Added a broader persistent rule that internal workflow or prompt/process decisions must never appear in any public-facing project communication.
  • Added a persistent language rule that all project-facing repository content must stay in English regardless of the chat language.
  • Added persistent pinned repositories support: favorites are stored in settings, exposed by the backend, filterable and sortable in the store view, and toggleable from the detail view without forcing a full repository refresh.
  • Bumped the integration version from 0.7.3 to 0.7.4 and added the 0.7.4 release entry to CHANGELOG.md for the pinned-repositories feature.
  • Added the broader product roadmap to the persistent project prompt: blueprints, templates, Lovelace designs, and more category support as future store targets.
  • Started the blueprint/category-aware installer preparation: installation metadata now distinguishes install type and installed paths, repo payloads expose install targets, and the active panel shows install-target context for future non-integration categories.
  • Added initial blueprint install-path handling groundwork so the codebase is no longer fully hard-wired to custom_components/.

Documented

  • Captured the verified project identity from the repository and README files: Bahmcloud Store is a Home Assistant custom integration intended to behave like a provider-neutral store for custom integrations, similar to HACS but broader than GitHub-only workflows.
  • Recorded the actual active architecture from source analysis, including the config-entry-only setup, the fixed Bahmcloud store index, delayed startup refresh, periodic refresh, repo merge flow, cache usage, install/update/uninstall pipeline, backup/restore pipeline, update entities, and Repairs-based restart handling.
  • Recorded the current provider reality from code: GitHub, GitLab, and Gitea-compatible repositories are the concrete supported paths today, while truly generic "all git providers" support is still an intention and must be validated case by case.
  • Recorded the public API endpoints exposed by views.py so future work preserves the current backend contract unless a deliberate breaking change is approved.
  • Recorded storage facts from storage.py, including the bcs_store Home Assistant storage key and the persisted sections for custom repositories, installed repositories, settings, HACS cache, and repo enrichment cache.
  • Recorded frontend facts from the active panel registration in __init__.py and the active frontend implementation in panel/panel.js, including the cache-busting panel asset version query.
  • Updated the persistent start prompt to point future work to .idea/changes.md as the canonical detailed work log.
  • Release notes are intentionally tied to provider release objects, so tags or branches without release bodies now return a clear "not available" state instead of misleading fallback text.

Important findings from code analysis

  • Identified custom_components/bahmcloud_store/panel/panel.js as the active Home Assistant panel script currently loaded by the integration.
  • Identified custom_components/bahmcloud_store/panel/app.js, custom_components/bahmcloud_store/panel/index.html, and custom_components/bahmcloud_store/panel/styles.css as likely legacy or secondary assets that should not be treated as authoritative without verification.
  • Identified custom_components/bahmcloud_store/store.py as an older implementation with a different data model and API shape than the active BCSCore runtime.
  • Identified custom_components/bahmcloud_store/custom_repo_view.py as duplicate or legacy API code because the active custom-repo handling already exists in views.py.
  • Noted that the README set is directionally useful but not fully authoritative where it conflicts with current code behavior.
  • Noted that some repository files contain encoding or mojibake artifacts, so future edits should preserve valid UTF-8 and avoid spreading broken text.

Project rules written into the start prompt

  • Never push, commit, tag, or create a release without explicit user approval.
  • Always append a dated and detailed entry to .idea/changes.md for every change made.
  • When a release is created, collect all relevant changes since the last release into CHANGELOG.md.

Verification

  • Reviewed repository structure and current git status.
  • Read README.md, README_DEVELOPER.md, README_FULL.md, bcs.yaml, and the current CHANGELOG.md.
  • Analyzed the active backend files: __init__.py, const.py, core.py, providers.py, metadata.py, storage.py, views.py, config_flow.py, update.py, and repairs.py.
  • Checked panel and legacy-related files to distinguish the currently active UI path from older or duplicated files.
  • Verified that the active panel (panel/panel.js) now requests release notes from the new backend route and reloads them when the selected install version changes.