Skip to content

Latest commit

 

History

History
47 lines (34 loc) · 2.48 KB

CONTRIBUTING.md

File metadata and controls

47 lines (34 loc) · 2.48 KB

How to contribute to Petriflow.js

Petriflow.js is a JavaScript library written in Typescript of Petriflow objects. The library is for those who want to integrate Petriflow processes in their applications.

The library is updated together with the Petriflow specification.

The library also contains functions to parse Petriflow source code from XML files to JavaScript Objects and to export JavaScript Objects to Petriflow source code.

Ways you can contribute

First, make sure you've read the code of conduct. TL;DR: be excellent to each other. Be calm, be kind, help make Petriflow a community where new faces feel welcome and old hands feel appreciated.

  • Report a bug. If you've found something that doesn't work or doesn't make sense, let us know.
  • Suggest a new feature.
  • Suggest improvements to the library.

Reporting bugs

If you've found a bug in the Petriflow objects or in utility functions, let us know about it.

  • Search the Issues to check we're not already tracking it.
  • If you can't find an open issue that describes your problem, open a new one.
    • Include a title and clear description
    • Describe:
      • What you did (ideally with a code sample)
      • What you expected to happen
      • What actually happened, including any error messages or program output.
      • Include the version of the library, JavaScript engine (or browser) with its version and OS that you used.

Fixing Bugs

If you've fixed an open bug - awesome! You're a true Petriflow developer.

  • Open a new GitHub pull request with your patch. Pull requests should include:
    • The fix itself.
    • One or more example cases, that should FAIL on an unpatched implementation and PASS with your patch in place.
    • Updates to any associated documentation or examples.
    • Test that verifies the correctness of your implementation.

Contributing Features

If you've got a great idea for the Petriflow language feature, start by checking issues to check we're not already tracking it, or that your idea hasn't already been rejected.

If not, start by opening an issue that describes your idea. Do not be afraid of rejection, every excellent idea has to start somewhere. Give it a well described solution to the problem which your proposition is trying to solve.