Skip to content

Latest commit

 

History

History
60 lines (47 loc) · 3.39 KB

CONTRIBUTING.md

File metadata and controls

60 lines (47 loc) · 3.39 KB

How to contribute to Rockstar

"Rockstar was never intended to be more than a joke - a parody spec that I threw together in a couple of hours in a bar one evening. The amount of interest and enthusiasm that this project has generated has been astonishing, and wonderful, but – perhaps inevitably – there are a LOT of things in the initial Rockstar spec that made perfect sense when it was a joke spec but have proved incredibly difficult to actually implement.

"Over the last six months, the entire Rockstar project has been through a sort of massive red/green/refactor cycle - creating tests to validate core language features, building implementations that pass those tests, and then looking at ways to clean up and harmonise those implementations.

Thanks to the ongoing efforts of Rockstar developers around the world, we've ironed out most of the contradictions, resolved dozens of ambiguities and gotchas in the original spec, and come up with something that's probably good enough to call a 'release candidate'. But I have a funny feeling like this is still only the beginning. :)

        - @dylanbeattie, January 2019

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 Rockstar a community where new faces feel welcome and old hands feel appreciated.

  • Report a bug. If you've found something that doesn't work, let us know.
  • Suggest a new feature.
  • Write a great Rockstar program we can add to our examples
  • Create your own implementation of Rockstar

Reporting bugs

If you've found a bug in the specification or in the Satriani implementation, 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.

Fixing Bugs

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

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

Contributing Features

If you've got a great idea for a Rockstar 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. If you want to chat to some of the core team about it first, hop onto the Rockstar Developers channel on Discord and tell us what you're thinking.

Remember, a good Rockstar feature is one that extends the capabilities of the language and allows developers the kind of lyrical creativity that makes for great Rockstar programs.