hass.tibber_prices/developer/assets/js/3847b3ea.7722d03e.js
github-actions[bot] e9aea64a2e deploy: 6898c126e3
2025-12-06 01:42:39 +00:00

1 line
No EOL
4.3 KiB
JavaScript

"use strict";(globalThis.webpackChunkdocs_split_developer=globalThis.webpackChunkdocs_split_developer||[]).push([[6214],{3341:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>o,default:()=>h,frontMatter:()=>l,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"setup","title":"Development Setup","description":"Note: This guide is under construction. For now, please refer to AGENTS.md for detailed setup information.","source":"@site/docs/setup.md","sourceDirName":".","slug":"/setup","permalink":"/hass.tibber_prices/developer/setup","draft":false,"unlisted":false,"editUrl":"https://github.com/jpawlowski/hass.tibber_prices/tree/main/docs/developer/docs/setup.md","tags":[],"version":"current","lastUpdatedAt":1764985026000,"frontMatter":{},"sidebar":"tutorialSidebar","previous":{"title":"API Reference","permalink":"/hass.tibber_prices/developer/api-reference"},"next":{"title":"Coding Guidelines","permalink":"/hass.tibber_prices/developer/coding-guidelines"}}');var t=i(4848),r=i(8453);const l={},o="Development Setup",d={},c=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Quick Setup",id:"quick-setup",level:2},{value:"Development Environment",id:"development-environment",level:2},{value:"Running the Integration",id:"running-the-integration",level:2},{value:"Making Changes",id:"making-changes",level:2}];function a(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"development-setup",children:"Development Setup"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Note:"})," This guide is under construction. For now, please refer to ",(0,t.jsx)(n.a,{href:"https://github.com/jpawlowski/hass.tibber_prices/blob/v0.20.0/AGENTS.md",children:(0,t.jsx)(n.code,{children:"AGENTS.md"})})," for detailed setup information."]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"VS Code with Dev Container support"}),"\n",(0,t.jsx)(n.li,{children:"Docker installed and running"}),"\n",(0,t.jsx)(n.li,{children:"GitHub account (for Tibber API token)"}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"quick-setup",children:"Quick Setup"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:'# Clone the repository\ngit clone https://github.com/jpawlowski/hass.tibber_prices.git\ncd hass.tibber_prices\n\n# Open in VS Code\ncode .\n\n# Reopen in DevContainer (VS Code will prompt)\n# Or manually: Ctrl+Shift+P \u2192 "Dev Containers: Reopen in Container"\n'})}),"\n",(0,t.jsx)(n.h2,{id:"development-environment",children:"Development Environment"}),"\n",(0,t.jsx)(n.p,{children:"The DevContainer includes:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Python 3.13 with ",(0,t.jsx)(n.code,{children:".venv"})," at ",(0,t.jsx)(n.code,{children:"/home/vscode/.venv/"})]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"uv"})," package manager (fast, modern Python tooling)"]}),"\n",(0,t.jsx)(n.li,{children:"Home Assistant development dependencies"}),"\n",(0,t.jsx)(n.li,{children:"Ruff linter/formatter"}),"\n",(0,t.jsx)(n.li,{children:"Git, GitHub CLI, Node.js, Rust toolchain"}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"running-the-integration",children:"Running the Integration"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"# Start Home Assistant in debug mode\n./scripts/develop\n"})}),"\n",(0,t.jsxs)(n.p,{children:["Visit ",(0,t.jsx)(n.a,{href:"http://localhost:8123",children:"http://localhost:8123"})]}),"\n",(0,t.jsx)(n.h2,{id:"making-changes",children:"Making Changes"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"# Lint and format code\n./scripts/lint\n\n# Check-only (CI mode)\n./scripts/lint-check\n\n# Validate integration structure\n./scripts/release/hassfest\n"})}),"\n",(0,t.jsxs)(n.p,{children:["See ",(0,t.jsx)(n.a,{href:"https://github.com/jpawlowski/hass.tibber_prices/blob/v0.20.0/AGENTS.md",children:(0,t.jsx)(n.code,{children:"AGENTS.md"})})," for detailed patterns and conventions."]})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}}}]);