diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index aa90c097..c8c3f5c8 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -74,20 +74,34 @@ After making changes to web UI, always test: ## Common Tasks +### Project Branch / Release Structure +``` +mdev # Main development trunk (daily/nightly) 17.7.2-mdev +``` + ### Repository Structure ``` -wled00/ # Main firmware source (C++) - ├── data/ # Web interface files - │ ├── index.htm # Main UI +wled00/ # Main firmware source (C++) "WLED core" + ├── data/ # Web interface files + │ ├── index.htm # Main UI │ ├── settings*.htm # Settings pages - │ └── *.js/*.css # Frontend resources - ├── *.cpp/*.h # Firmware source files - └── html_*.h # Auto-generated embedded web files (DO NOT EDIT, DO NOT COMMIT) -tools/ # Build tools (Node.js) + │ └── *.js/*.css # Frontend resources + ├── *.cpp/*.h # Firmware source files + ├── html_*.h # Auto-generated embedded web files (DO NOT EDIT, DO NOT COMMIT) + ├── src/ # Modules used by the WLED core (C++) + │ ├── fonts/ # Font libraries for scrolling text effect + └ └── dependencies/ # Utility functions - some of them have their own licensing terms +lib/ # Project specific custom libraries. PlatformIO will compile them to separate static libraries and link them +platformio.ini # Hardware build configuration + +platformio_override.sample.ini # examples for custom build configurations - entries must be copied into platformio_override.ini to use them. + # platformio_override.ini is _not_ stored in the WLED repository! +usermods/ # User-contributed addons to the WLED core, maintained by individual contributors (C++, with individual library.json) +package.json # Node.js dependencies and scripts, release identification +pio-scripts/ # Build tools (platformio) +tools/ # Build tools (Node.js), partition files, and generic utilities ├── cdata.js # Web UI build script └── cdata-test.js # Test suite -platformio.ini # Hardware build configuration -package.json # Node.js dependencies and scripts .github/workflows/ # CI/CD pipelines ``` diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a2973104..5d9cfd65 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,6 +2,14 @@ Here are a few suggestions to make it easier for you to contribute! +## Important Developer Infos + +* [Project Structure, Files and Directories](https://github.com/MoonModules/WLED-MM/blob/mdev/.github/copilot-instructions.md#project-branch--release-structure) (in our AI instructions) +* KB: [Compiling WLED](https://kno.wled.ge/advanced/compiling-wled/) - slightly outdated but still helpful 😊 +* Arduino IDE is not supported any more. Use VSCode with the PlatformIO extension. +* [Compiling in VSCode/Platformio](https://github.com/wled/WLED-Docs/issues/161) - modern way. +* If you add a new feature, consider making a PR to [``wled-docs``](https://github.com/MoonModules/WLED-Docs) for updating our official documentation. + ## Describe your PR Please add a description of your proposed code changes. It does not need to be an exhaustive essay, however a PR with no description or just a few words might not get accepted, simply because very basic information is missing. @@ -97,7 +105,7 @@ if (a == b) There should always be a space between a keyword and its condition and between the condition and brace. -Within the condition, no space should be between the paranthesis and variables. +Within the condition, no space should be between the parenthesis and variables. Spaces between variables and operators are up to the authors discretion. There should be no space between function names and their argument parenthesis.