Files
wren/contributing.html

130 lines
5.8 KiB
HTML
Raw Normal View History

2013-12-04 07:46:41 -08:00
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
2015-01-01 21:04:14 -08:00
<title>Contributing Wren</title>
2013-12-04 07:46:41 -08:00
<link rel="stylesheet" type="text/css" href="style.css" />
2014-08-19 07:35:20 -07:00
<link href='http://fonts.googleapis.com/css?family=Source+Sans+Pro:400,700,400italic,700italic|Source+Code+Pro:400|Lato:400|Sanchez:400italic,400' rel='stylesheet' type='text/css'>
<!-- Tell mobile browsers we're optimized for them and they don't need to crop
the viewport. -->
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>
2013-12-04 07:46:41 -08:00
</head>
<body id="top">
2014-04-14 21:23:46 -07:00
<header>
<div class="page">
2014-04-20 21:42:17 -07:00
<div class="main-column">
2014-08-19 07:35:20 -07:00
<h1><a href="index.html">wren</a></h1>
<h2>a classy little scripting language</h2>
2014-04-14 21:23:46 -07:00
</div>
</div>
2014-08-19 07:35:20 -07:00
</header>
2014-04-14 21:23:46 -07:00
<div class="page">
2014-04-20 21:42:17 -07:00
<nav>
2013-12-04 07:46:41 -08:00
<ul>
2014-04-09 07:53:30 -07:00
<li><a href="getting-started.html">Getting Started</a></li>
2013-12-04 07:46:41 -08:00
</ul>
2014-08-19 07:35:20 -07:00
<section>
<h2>language</h2>
<ul>
<li><a href="syntax.html">Syntax</a></li>
2015-01-03 23:27:54 -08:00
<li><a href="expressions.html">Expressions</a></li>
2014-08-19 07:35:20 -07:00
<li><a href="variables.html">Variables</a></li>
2015-01-03 23:27:54 -08:00
<li><a href="control-flow.html">Control Flow</a></li>
2014-08-19 07:35:20 -07:00
<li><a href="error-handling.html">Error Handling</a></li>
</ul>
</section>
<section>
<h2>types</h2>
<ul>
<li><a href="values.html">Values</a></li>
<li><a href="classes.html">Classes</a></li>
<li><a href="fibers.html">Fibers</a></li>
<li><a href="functions.html">Functions</a></li>
<li><a href="lists.html">Lists</a></li>
<li><a href="maps.html">Maps</a></li>
</ul>
</section>
<section>
<h2>reference</h2>
<ul>
<li><a href="core-library.html">Core Library</a></li>
2014-08-19 07:35:20 -07:00
<li><a href="embedding-api.html">Embedding API</a></li>
<li><a href="performance.html">Performance</a></li>
<li><a href="contributing.html">Contributing</a></li>
<li><a href="qa.html">Q &amp; A</a></li>
</ul>
</section>
</nav>
2014-04-20 21:42:17 -07:00
<main>
2015-01-01 21:04:14 -08:00
<h1>Contributing</h1>
2015-01-03 23:27:54 -08:00
<p>It should be obvious by now that Wren is under active development and there's
2015-01-04 13:36:51 -08:00
lots left to do. I am delighted to have you participate.</p>
2015-01-03 23:27:54 -08:00
<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,
2015-01-04 13:36:51 -08:00
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>
2014-04-14 21:23:46 -07:00
</div>
<footer>
<div class="page">
2014-08-19 07:35:20 -07:00
<div class="main-column">
<p>Wren lives <a href="https://github.com/munificent/wren">on GitHub</a> &mdash; Made with &#x2764; by <a href="http://journal.stuffwithstuff.com/">Bob Nystrom</a>.</p>
2014-08-19 07:35:20 -07:00
<div class="main-column">
2014-04-14 21:23:46 -07:00
</div>
</footer>
2013-12-04 07:46:41 -08:00
</body>
</html>