Contributing to this project should be as easy and transparent as possible, whether it's:
- Reporting a bug
- Discussing the current state of the code
- Submitting a fix
- Proposing new features
GitHub is used to host code, to track issues and feature requests, as well as accept pull requests.
Pull requests are the best way to propose changes to the codebase.
- Visual Studio Code with Dev Containers extension
- Docker installed and running
git clone https://github.com/Thank-you-Linus/Linus-Dashboard.git
cd Linus-Dashboard
code .-
Open in container: When VS Code detects the
.devcontainer.jsonfile, a notification appears- Click "Reopen in Container"
- Or use
Ctrl+Shift+P→ "Dev Containers: Reopen in Container"
-
Wait for installation: The container will automatically:
- Download the Python 3.13 image
- Install all dependencies via
scripts/setup - Configure the development environment
⏱️ This step may take a few minutes on first launch
Once the container is ready, you have two options:
Option A: Via Debugger (Recommended)
- Go to "Run and Debug" tab (
Ctrl+Shift+D) - Select "Home Assistant" from the dropdown
- Click "Play" (
▶️ ) or pressF5
Option B: Via VS Code Task
Ctrl+Shift+P→ "Tasks: Run Task"- Select "Run Home Assistant on port 8123"
🌟 Home Assistant will be accessible at: http://localhost:8123
In a new terminal (while Home Assistant is running):
# For development with watch mode
npm run build-dev
# For a single build
npm run build# Lint the code
scripts/lint
# Initial setup (already done automatically)
scripts/setup
# Launch Home Assistant in development mode
scripts/develop/workspaces/Linus-Dashboard/
├── .devcontainer.json # Dev container configuration
├── .vscode/
│ ├── launch.json # Debug configurations
│ └── tasks.json # VS Code tasks
├── config/ # Home Assistant configuration
├── custom_components/ # Linus Dashboard component
├── src/ # TypeScript source code
├── scripts/ # Utility scripts
└── package.json # Node.js dependencies
- Fork the repo and create your branch from
main - Develop using the development environment
- Test your contribution with Home Assistant running
- Lint your code with
scripts/lint - Update documentation if necessary
- Submit your pull request!
GitHub issues are used to track public bugs. Report a bug by opening a new issue!
Good bug reports typically have:
- A quick summary and/or background
- Steps to reproduce
- Be specific!
- Give sample code if you can
- What you expected would happen
- What actually happens
- Notes (possibly including why you think this might be happening, or stuff you tried that didn't work)
- Use the included ESLint/Prettier configurations
- TypeScript code must respect project standards
- Test with
scripts/lintbefore submitting
This custom component is based on the Linus Dashboard template.
The containerized development environment provides:
- A standalone Home Assistant instance
- Pre-configured setup with
configuration.yaml - Automatic frontend reloading in development mode
- Integrated debugging tools
Any contributions you make will be under the MIT Software License.
In short, when you submit code changes, your submissions are understood to be under the same MIT License that covers the project.
By contributing, you agree that your contributions will be licensed under its MIT License.
Contribuer à ce projet doit être aussi simple et transparent que possible, que ce soit pour :
- Signaler un bug
- Discuter de l'état actuel du code
- Soumettre un correctif
- Proposer de nouvelles fonctionnalités
GitHub est utilisé pour héberger le code, suivre les problèmes et les demandes de fonctionnalités, ainsi que pour accepter les pull requests.
Les pull requests sont la meilleure façon de proposer des modifications au code.
- Visual Studio Code avec l'extension Dev Containers
- Docker installé et en cours d'exécution
git clone https://github.com/Thank-you-Linus/Linus-Dashboard.git
cd Linus-Dashboard
code .-
Ouvrir dans le conteneur : Quand VS Code détecte le fichier
.devcontainer.json, une notification apparaît- Cliquer sur "Reopen in Container"
- Ou utiliser
Ctrl+Shift+P→ "Dev Containers: Reopen in Container"
-
Attendre l'installation : Le conteneur va automatiquement :
- Télécharger l'image Python 3.13
- Installer toutes les dépendances via
scripts/setup - Configurer l'environnement de développement
⏱️ Cette étape peut prendre quelques minutes lors du premier lancement
Une fois le conteneur prêt, vous avez deux options :
Option A : Via le Debugger (Recommandée)
- Aller dans l'onglet "Run and Debug" (
Ctrl+Shift+D) - Sélectionner "Home Assistant" dans la liste déroulante
- Cliquer sur "Play" (
▶️ ) ou appuyer surF5
Option B : Via la tâche VS Code
Ctrl+Shift+P→ "Tasks: Run Task"- Sélectionner "Run Home Assistant on port 8123"
🌟 Home Assistant sera accessible sur : http://localhost:8123
Dans un nouveau terminal (pendant que Home Assistant tourne) :
# Pour le développement avec watch mode
npm run build-dev
# Pour un build unique
npm run build# Linter le code
scripts/lint
# Setup initial (déjà fait automatiquement)
scripts/setup
# Lancer Home Assistant en mode développement
scripts/develop/workspaces/Linus-Dashboard/
├── .devcontainer.json # Configuration du conteneur de dev
├── .vscode/
│ ├── launch.json # Configurations de debug
│ └── tasks.json # Tâches VS Code
├── config/ # Configuration Home Assistant
├── custom_components/ # Composant Linus Dashboard
├── src/ # Code source TypeScript
├── scripts/ # Scripts utilitaires
└── package.json # Dépendances Node.js
- Fork le repo et créer votre branche depuis
main - Développer en utilisant l'environnement de développement
- Tester votre contribution avec Home Assistant en cours d'exécution
- Linter votre code avec
scripts/lint - Mettre à jour la documentation si nécessaire
- Soumettre votre pull request !
Les issues GitHub sont utilisées pour suivre les bugs publics. Signaler un bug en ouvrant une nouvelle issue !
Les bons rapports de bugs contiennent généralement :
- Un résumé rapide et/ou le contexte
- Les étapes pour reproduire
- Soyez spécifique !
- Donnez un exemple de code si possible
- Ce à quoi vous vous attendiez
- Ce qui se passe réellement
- Notes (pourquoi vous pensez que cela pourrait arriver, ou ce que vous avez essayé qui n'a pas fonctionné)
- Utilisez les configurations ESLint/Prettier incluses
- Le code TypeScript doit respecter les standards du projet
- Testez avec
scripts/lintavant de soumettre
Ce composant personnalisé est basé sur le template Linus Dashboard.
L'environnement de développement en conteneur fournit :
- Une instance Home Assistant autonome
- Configuration pré-configurée avec
configuration.yaml - Rechargement automatique du frontend en mode développement
- Outils de debug intégrés
Toutes les contributions que vous apportez seront sous la Licence Logicielle MIT.
En bref, lorsque vous soumettez des modifications de code, vos soumissions sont comprises comme étant sous la même Licence MIT qui couvre le projet.
En contribuant, vous acceptez que vos contributions soient licenciées sous sa Licence MIT.