mirror of
https://github.com/wren-lang/wren.git
synced 2026-01-18 13:49:59 +01:00
Contributor's guide.
This commit is contained in:
@ -58,17 +58,65 @@
|
||||
<main>
|
||||
<h1>Contributing</h1>
|
||||
<p>It should be obvious by now that Wren is under active development and there's
|
||||
lots left to do. I'd be delighted to have your help.</p>
|
||||
lots left to do. I am delighted to have you participate.</p>
|
||||
<p>Wren uses the OSI-approved <a href="http://opensource.org/licenses/MIT">MIT license</a>. I'm not sure exactly what that
|
||||
means, but I went with the most permissive license I could find.</p>
|
||||
<p>The source is developed <a href="https://github.com/munificent/wren">on GitHub</a>. My hope is that the codebase,
|
||||
tests, and documentation are easy to understand and contribute to. If they
|
||||
aren't, that's a bug. If you're looking for somewhere to get started, try
|
||||
writing some example programs in Wren and see what rough spots you run into.
|
||||
You can also look through to code for <code>// TODO</code> or help improve
|
||||
<a href="https://github.com/munificent/wren/tree/master/doc/site">these docs</a>.</p>
|
||||
<p>If you have questions, feel free to <a href="https://github.com/munificent/wren/issues">file an issue</a> or email me
|
||||
(<code>robert</code> at <code>stuffwithstuff.com</code>).</p>
|
||||
tests, and <a href="https://github.com/munificent/wren/tree/master/doc/site">documentation</a> are easy to understand and contribute to. If
|
||||
they aren't, that's a bug.</p>
|
||||
<h2>Finding something to hack on <a href="#finding-something-to-hack-on" name="finding-something-to-hack-on" class="header-anchor">#</a></h2>
|
||||
<p>Eventually, the <a href="https://github.com/munificent/wren/issues">issue tracker</a> will be populated with a more complete
|
||||
set of changes and features I have in mind. Until then, one easy way to find
|
||||
things that need doing is to look for <code>TODO</code> comments in the code.</p>
|
||||
<p>Also, writing code in Wren and seeing what problems you run into is incredibly
|
||||
helpful. Embedding Wren in an application will also exercise lots of corners of
|
||||
the system and highlight problems and missing features.</p>
|
||||
<p>Of course, new ideas are also welcome as well! If you have an idea for a
|
||||
significant change or addition, please do get in touch first before writing
|
||||
lots of code to make sure your idea will be a good fit.</p>
|
||||
<h2>Making a change <a href="#making-a-change" name="making-a-change" class="header-anchor">#</a></h2>
|
||||
<p>The basic process is simple:</p>
|
||||
<ol>
|
||||
<li>
|
||||
<p><strong>Make sure you can build and run the tests locally.</strong> It's good to ensure
|
||||
you're starting from a happy place before you poke at the code. Running the
|
||||
tests is as simple as:</p>
|
||||
<div class="codehilite"><pre><span class="nv">$ </span>make <span class="nb">test</span>
|
||||
</pre></div>
|
||||
|
||||
|
||||
<p>If there are no failures, you're good to go.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong><a href="https://help.github.com/articles/fork-a-repo/">Fork the repo</a> so you can change it locally.</strong> Please make your
|
||||
changes in a separate <a href="https://www.atlassian.com/git/tutorials/comparing-workflows/centralized-workflow">feature branches</a> to make things a little easier on
|
||||
me.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>Change the code.</strong> Please follow the style of the surrounding code. That
|
||||
basically means <code>camelCase</code> names, <code>{</code> on the next line, keep within 80
|
||||
columns, and two spaces of indentation. If you see places where the existing
|
||||
code is inconsistent, let me know.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>Write some tests for your new functionality.</strong> They live under <code>test/</code>.
|
||||
Take a look at some existing tests to get an idea of how to define
|
||||
expectations.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>Make sure the tests all pass, both the old ones and your new ones.</strong></p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>Add your name and email to the <a href="https://github.com/munificent/wren/tree/master/AUTHORS">AUTHORS</a> file if you haven't already.</strong></p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>Send a <a href="https://github.com/munificent/wren/pulls">pull request</a>.</strong> Pat yourself on the back for contributing to a
|
||||
fun open source project! I'll take it from here and hopefully we'll get it
|
||||
landed smoothly.</p>
|
||||
</li>
|
||||
</ol>
|
||||
<p>If at any point you have questions, feel free to <a href="https://github.com/munificent/wren/issues">file an issue</a> or
|
||||
email me (<code>robert</code> at <code>stuffwithstuff.com</code>). <em>Thank you!</em></p>
|
||||
</main>
|
||||
</div>
|
||||
<footer>
|
||||
|
||||
Reference in New Issue
Block a user