====== Contributing ====== Guide for contributions to the WvdS FPC RAD Suite. ===== Welcome ===== Thank you for your interest in contributing to the WvdS FPC RAD Suite! This document explains how you can submit contributions. ===== Prerequisites ===== ==== Development Environment ==== * **Free Pascal Compiler** 3.2.2 or higher * **pas2js** 2.2.0 or higher * **VS Code** 1.85.0 or higher * **Node.js** 18+ (for vsce) * **Git** ==== Knowledge ==== * Pascal/Object Pascal * Basics of VSCode extensions * English for code comments ===== Types of Contributions ===== ==== Bug Reports ==== - Check if the bug has already been reported - Create an issue with: * Description of the problem * Steps to reproduce * Expected vs. actual behavior * VS Code version, OS, extension version * Relevant log output (''WVDS: Show Log'') ==== Feature Requests ==== - Describe the desired feature - Explain the use case - Outline possible implementations ==== Code Contributions ==== - Fork the repository - Create a feature branch - Implement your change - Test locally - Create a pull request ===== Code Standards (Brief Overview) ===== ==== Required ==== * **No TODO/FIXME** - Complete implementations * **English comments** - PasDoc format for public APIs * **Naming conventions** - ''TWvdS*'' for classes, ''IWvdS*'' for interfaces * **i18n** - No hardcoded strings, use resourcestrings ==== Prohibited ==== * TypeScript/handwritten JavaScript * Empty exception handlers * Magic numbers * SQL string concatenation * Hardcoded credentials ==== Recommended ==== * Unit names: ''WvdS...pas'' * Functions: 12-24 lines, max 40 * Parameters: max 5-7 * DRY: No code duplication ===== Pull Request Process ===== ==== 1. Preparation ==== # Fork and clone repository git clone https://github.com/YOUR-USERNAME/WvdS.FPC.git cd WvdS.FPC # Create feature branch git checkout -b feature/my-feature ==== 2. Implementation ==== * Write code according to standards * Test (compile, test extension) * Commits with meaningful messages ==== 3. Pull Request ==== * Describe the change * Link relevant issues * Add screenshots (for UI changes) ==== 4. Review ==== * Reviewers will provide feedback * Adjust changes accordingly * After approval, it will be merged ===== Checklist Before Pull Request ===== [ ] Code compiles without errors [ ] Extension works in testing [ ] No TODO/FIXME comments [ ] Public APIs documented [ ] No hardcoded strings [ ] No magic numbers [ ] Tests passed (if applicable) [ ] CHANGELOG.md updated (for new features) ===== Communication ===== * **Issues:** Bug reports, feature requests * **Pull Requests:** Code discussions * **Discussions:** General questions ===== License ===== By submitting contributions, you agree that your contributions will be released under the same license as the project. ===== For Technical Details ===== Complete developer guidelines can be found in the [[..:i:start|Developer Documentation]]: * [[..:i:qualitaetssicherung|Quality Assurance]] * [[..:i:code-konventionen|Code Conventions]] * [[..:i:extension-entwicklung|Extension Development]] ===== Contact ===== * **GitHub:** [[https://github.com/ArmandoFilho/WvdS.FPC|WvdS.FPC Repository]] * **Issues:** [[https://github.com/ArmandoFilho/WvdS.FPC/issues|Bug Reports]] ===== See Also ===== * [[.:qualitaetssicherung|Quality Standards]] * [[.:faq|FAQ]]