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

  1. Check if the bug has already been reported
  2. 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

  1. Describe the desired feature
  2. Explain the use case
  3. Outline possible implementations

Code Contributions

  1. Fork the repository
  2. Create a feature branch
  3. Implement your change
  4. Test locally
  5. 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
  • Unit names: WvdS.<Category>.<Component>.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 Developer Documentation:

Contact

See Also

Zuletzt geändert: on 2026/01/29 at 10:29 PM