| name | Initial ioBroker Copilot Setup | ||
|---|---|---|---|
| about | Automated setup and validation of GitHub Copilot instructions for ioBroker adapters | ||
| title | 🤖 Setup ioBroker GitHub Copilot Instructions | ||
| labels |
|
||
| assignees |
GitHub Copilot: Please help me set up GitHub Copilot instructions for my ioBroker adapter repository with full automation and validation.
GitHub Copilot: Please analyze this repository using the centralized automation configuration:
Configuration Reference: https://raw.githubusercontent.com/DrozmotiX/ioBroker-Copilot-Instructions/main/config/automation-setup.yml
-
Repository Type Confirmation
- Verify this is an ioBroker adapter repository (check for
package.jsonwith "iobroker",io-package.json,main.jsorlib/directory) - Identify adapter name and specific functionality
- Assess current project structure and dependencies
- Verify this is an ioBroker adapter repository (check for
-
Copilot Configuration Status
- Check if GitHub Copilot is active and responding in this repository
- Verify if
.github/copilot-instructions.mdexists and analyze content - Determine current template version (if any) vs latest from metadata.json
- Assess existing customizations and configurations
-
Setup Requirements Determination
- Classify status:
not_initialized,needs_update, orup_to_date - Identify adapter-specific patterns that need customization
- Plan integration strategy based on current state
- Classify status:
GitHub Copilot: Please create or update the GitHub Copilot instructions using our centralized, automated approach:
Configuration Reference: https://raw.githubusercontent.com/DrozmotiX/ioBroker-Copilot-Instructions/main/config/automation-setup.yml
Important: This process uses Copilot intelligence rather than manual validation scripts (avoiding approaches like DrozmotiX/ioBroker.discovergy#286).
-
Fetch Latest Template and Version:
Template: https://raw.githubusercontent.com/DrozmotiX/ioBroker-Copilot-Instructions/main/template.md Version: Extract from https://raw.githubusercontent.com/DrozmotiX/ioBroker-Copilot-Instructions/main/config/metadata.json (field: "version") -
Process Template for This Repository:
- Remove template comment block (
<!-- TEMPLATE FILE -->section) - Store version in
.github/copilot-instructions.md(format:**Version:** X.Y.Z) - Do NOT store version in
package.json- this avoids package.json pollution - Add template source and metadata references
- Remove template comment block (
-
Adapter-Specific Customization: Customize ALL
[CUSTOMIZE]sections with content unique to this adapter:- API authentication patterns specific to this service
- Unique error codes and recovery procedures
- Custom device discovery or data processing workflows
- Special configuration requirements beyond standard template
- Testing scenarios specific to this adapter's functionality
- Remove any duplicate content that already exists in the standard template
Our approach stores template version information in the Copilot instructions file rather than package.json:
- ✅ Version Location:
.github/copilot-instructions.md - ✅ Version Source: Dynamically fetched from
config/metadata.json - ✅ Update Method: Automated via centralized GitHub Action
- ❌ Avoid: Manual scripts in package.json or separate validation files
GitHub Copilot: Please create the weekly monitoring automation using our centralized action:
-
Create Workflow File:
.github/workflows/check-copilot-template.yml -
Use Centralized Template:
Copy the complete workflow from: https://raw.githubusercontent.com/DrozmotiX/ioBroker-Copilot-Instructions/main/templates/centralized-version-check-action.yml -
Workflow Features (automatically included):
- 📅 Weekly Schedule: Runs every Sunday to check for updates
- 🔍 Dynamic Version Detection: Uses
config/metadata.jsonfor current version - 🤖 Copilot-Driven Automation: Creates intelligent setup/update issues
- 🛡️ Smart Issue Management: Prevents duplicate issues
- 📋 Repository Status Detection: Identifies setup vs. update scenarios
This centralized approach provides:
- ✅ No Manual Scripts: Replaces manual validation approaches (like DrozmotiX/ioBroker.discovergy#286)
- ✅ Metadata-Driven: Always uses latest version from centralized config
- ✅ Copilot Intelligence: Leverages GitHub Copilot for smart automation
- ✅ Preservation Guarantee: Automatically maintains all custom sections during updates
- ✅ Dynamic Configuration: Adapts to repository status and needs
GitHub Copilot: After completing the setup, please validate the integration:
- File Created:
.github/copilot-instructions.mdexists and is properly formatted - Version Tracking: Latest version number stored in copilot instructions (NOT package.json)
- Template Source: Reference to source repository and metadata.json included
- Custom Sections:
[CUSTOMIZE]areas populated with unique, adapter-specific content only - No Duplicates:
[CUSTOMIZE]sections contain only content not found in standard template - Workflow Created:
.github/workflows/check-copilot-template.ymlexists and uses centralized template
- Workflow File: Created from centralized template (templates/centralized-version-check-action.yml)
- Permissions Set: Issues write permission configured
- Schedule Configured: Weekly execution on Sundays
- Manual Trigger: workflow_dispatch enabled for manual runs
- Metadata Integration: Uses config/metadata.json for version detection
- Enhanced Suggestions: Test typing
this.setState(in a .js file to verify improved suggestions - Template Recognition: Verify Copilot recognizes ioBroker patterns and adapter-specific context
- Custom Content: Ensure
[CUSTOMIZE]sections provide value beyond standard template - Version Accuracy: Confirm version in copilot-instructions.md matches metadata.json
- Workflow Syntax: Validate GitHub Action YAML syntax is correct
A successful automated setup includes:
- File Creation:
.github/copilot-instructions.mdcreated from latest template - Version Management: Template version stored in copilot instructions (NOT package.json)
- Centralized Workflow: GitHub Action created from centralized template
- Dynamic Version Detection: Workflow uses metadata.json for version checking
- Custom Preservation: All
[CUSTOMIZE]sections populated with unique, adapter-specific content
- Enhanced Suggestions: Improved Copilot suggestions for ioBroker patterns
- Template Integration: No duplicate content between
[CUSTOMIZE]and standard sections - Automation Ready: Weekly monitoring configured and tested
- Issue Prevention: Duplicate issue detection working
- Metadata Driven: Version detection using centralized config/metadata.json
- No Manual Scripts: Avoided package.json validation scripts (like DrozmotiX/ioBroker.discovergy#286)
- Copilot-Driven: Used GitHub Copilot intelligence rather than manual processes
- Preservation Guaranteed: Custom sections maintained during updates
- Dynamic Configuration: System adapts to repository status automatically
- Template Repository: https://github.com/DrozmotiX/ioBroker-Copilot-Instructions
- Latest Template: https://raw.githubusercontent.com/DrozmotiX/ioBroker-Copilot-Instructions/main/template.md
- Centralized Config: https://raw.githubusercontent.com/DrozmotiX/ioBroker-Copilot-Instructions/main/config/metadata.json
- Automation Config: https://raw.githubusercontent.com/DrozmotiX/ioBroker-Copilot-Instructions/main/config/automation-setup.yml
- Centralized Action: https://raw.githubusercontent.com/DrozmotiX/ioBroker-Copilot-Instructions/main/templates/centralized-version-check-action.yml
GitHub Copilot: Please start with the repository analysis and proceed step-by-step through the automated setup process. Provide detailed feedback on what you're doing at each step and confirm successful completion of all validation criteria.