Contributing to Freon

October 28, 2025 Β· View on GitHub

Thank you for your interest in contributing to Freon β€” the language workbench for the web.
Your help is what makes this project thrive!

This document explains how to get started, what we expect, and how to submit changes.


🧭 Ways to Contribute

There are many ways you can help improve Freon:

  • πŸͺ² Report bugs β€” if something doesn’t work as expected, please open an issue.
  • 🧠 Improve documentation β€” clear examples and better explanations are always welcome. Our docs live in a separate repository: [freon4dsl/Freon-documentation] (https://github.com/freon4dsl/Freon-documentation). You can suggest edits or open issues there.
  • βš™οΈ Fix or enhance code β€” tackle an existing issue or add something new.
  • πŸ’¬ Join discussions β€” share ideas and feedback in our Discussions.

Not sure where to begin? Look for issues labeled good first issue.


πŸ› οΈ Setting Up Your Environment

  1. Fork the repository and clone your fork:
    git clone https://github.com/freon4dsl/Freon4dsl.git
    cd freon4dsl

  2. Install dependencies:
    npm install

  3. Build and test:
    npm run build
    npm run test

For more context, see the "Developing Freon" section in the README.


πŸ“š Developer Documentation

For in-depth technical explanations of Freon’s architecture, generators, and APIs, see the developer-documentation folder in this repository.
It contains background information and implementation details to help you understand how everything fits together.


πŸ’‘ Development Guidelines

  • Use TypeScript consistently.
  • Follow Svelte best practices for the front-end code.
  • Keep code modular and readable β€” aim for clarity over cleverness.
  • Write useful commit messages, for example:
    fix(generator): handle nested typing rules correctly
    feat(editor): add support for inline validation hints
  • When adding new features, include or update relevant unit tests.

πŸ” Before Submitting

  1. Ensure all tests pass:
    npm test
  2. Lint your code (if applicable):
    npm run lint
  3. Make sure your changes build cleanly:
    npm run build
  4. Update documentation or examples if needed.
  5. Describe why your change is useful in the pull request.

πŸ“¬ Submitting a Pull Request

  1. Push your branch to your fork:
    git push origin my-feature
  2. Open a pull request from your branch into main.
  3. The maintainers will review it and may suggest improvements.

We appreciate every contribution β€” no matter how small. ❀️


πŸ“œ Code of Conduct

Please note that this project follows the Contributor Covenant Code of Conduct.
By participating, you agree to uphold its principles of respect and inclusivity.


πŸ’¬ Need Help?

If you have questions or ideas, start a conversation in our Discussions.
We’re always glad to help you get started.


Thank you for making Freon better! πŸ™Œ