Closed
Conversation
…t development (#1262) This PR creates comprehensive GitHub Copilot instructions to help developers work effectively with the homebridge-switchbot codebase. The instructions provide detailed guidance on building, testing, and developing this TypeScript Homebridge platform plugin for SwitchBot smart home devices. ## Key Features Added **Complete Development Workflow Documentation:** - Bootstrap and build process with exact commands and timing expectations - Dependency installation with required `--legacy-peer-deps` flag due to TypeDoc conflicts - TypeScript compilation and plugin UI building (~7 seconds) - Test execution with Vitest (~2 seconds) - Documentation generation with TypeDoc (~7 seconds) **Validation Scenarios:** - Manual plugin validation to ensure proper Homebridge registration - Plugin loading verification with Node.js - TypeScript compilation validation - Documentation generation without warnings - Complete workflow timing (~16 seconds total) **Codebase Navigation Guide:** - Detailed project structure with 38 TypeScript files across device and IR device modules - Key development areas for common tasks (adding devices, configuration changes) - File relationships and dependencies - Base classes and extension patterns for device implementations **Known Issues and Workarounds:** - Documented dependency conflicts requiring `--legacy-peer-deps` - ESLint configuration issues with import/extensions rule - Build artifact management with updated .gitignore **Timing and Performance Guidelines:** - All commands tested with realistic timing expectations - "NEVER CANCEL" warnings for builds with appropriate timeout recommendations - Complete validation workflow benchmarked at under 20 seconds ## Validation All commands and scenarios in the instructions have been thoroughly tested and validated to ensure they work correctly in a fresh development environment. The instructions follow the imperative tone requirement and provide exhaustive coverage of the development workflow. The file is located at `.github/copilot-instructions.md` and provides over 7,000 characters of comprehensive guidance for GitHub Copilot to work effectively with this codebase. Fixes #1261. <!-- START COPILOT CODING AGENT TIPS --> --- 💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more [Copilot coding agent tips](https://gh.io/copilot-coding-agent-tips) in the docs. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: donavanbecker <9875439+donavanbecker@users.noreply.github.com>
Co-authored-by: donavanbecker <9875439+donavanbecker@users.noreply.github.com>
Co-authored-by: donavanbecker <9875439+donavanbecker@users.noreply.github.com>
Co-authored-by: donavanbecker <9875439+donavanbecker@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
♻️ Current situation
Describe the current situation. Explain current problems, if there are any. Be as descriptive as possible (e.g., including examples or code snippets).
💡 Proposed solution
Describe the proposed solution and changes. How does it affect the project? How does it affect the internal structure (e.g., refactorings)?
⚙️ Release Notes
Provide a summary of the changes or features from a user's point of view. If there are breaking changes, provide migration guides using code examples of the affected features.
➕ Additional Information
If applicable, provide additional context in this section.
Testing
Which tests were added? Which existing tests were adapted/changed? Which situations are covered, and what edge cases are missing?
Reviewer Nudging
Where should the reviewer start? what is a good entry point?