Development Setup
Note: This guide is under construction. For now, please refer to
AGENTS.mdfor detailed setup information.
Prerequisites
- VS Code with Dev Container support
- Docker installed and running
- GitHub account (for Tibber API token)
Quick Setup
# Clone the repository
git clone https://github.com/jpawlowski/hass.tibber_prices.git
cd hass.tibber_prices
# Open in VS Code
code .
# Reopen in DevContainer (VS Code will prompt)
# Or manually: Ctrl+Shift+P → "Dev Containers: Reopen in Container"
Development Environment
The DevContainer includes:
- Python (the version Home Assistant is built on, see
.python-version) with.venvat/home/vscode/.venv/ uvpackage manager (fast, modern Python tooling)- Home Assistant development dependencies
- Ruff linter/formatter
- Git, GitHub CLI, Node.js, pyright, git-cliff, shellcheck, shfmt, yq
Tool Versions (mise)
The development tools are managed by mise: their versions are pinned in mise.toml in the project root, and the same file is used in the DevContainer, in CI and locally. The Python version is the exception: it lives in .python-version, which ./scripts/setup/update-ha-version keeps at the version the configured Home Assistant release is built on.
- Update a tool: change its version in
mise.toml, then runmise install - Outside the DevContainer: install mise, then run
mise installin the project root - Python packages (Home Assistant and its dependencies) are not managed by mise but by
uvin./scripts/setup/bootstrap
Running the Integration
# Start Home Assistant in debug mode
./scripts/develop
Visit http://localhost:8123
Making Changes
# Lint and format code
./scripts/lint
# Check-only (CI mode)
./scripts/lint-check
# Validate integration structure
./scripts/release/hassfest
See AGENTS.md for detailed patterns and conventions.