このページの内容

貢献

鳥のミソサザイと同じく、Wrenのエコシステムは小さいながら、活気に満ちています。ほぼすべてが活発に開発中で、やることはたくさんあります。手伝っていただければ、うれしく思います。

まず、Discordコミュニティー、またはメーリングリストへ参加して、「こんにちは」と言ってください。Wrenに見知らぬ人はいません。まだ会ったことのない友人がいるだけです。

エコシステムを広げる #

Wrenへ参加する最も簡単で、よく役立つ方法は、Wrenの利用者になることです。Wrenを組み込むアプリケーションを作る。Wrenでライブラリーや便利なユーティリティーを書く。好きなテキストエディターへ、Wrenの構文強調を追加する。それらを共有すると、次にやって来るWrenの利用者の助けになります。

そのどれかを行ったら、Wikiへ追加して知らせてください。
私たちは、次のものを把握しておきたいと思っています。

Wrenへの貢献 #

コアVMでも、コマンドラインインタープリターでも、Wren自身への貢献も大歓迎です。ソースはGitHubで開発しています。コード、テスト、文書が、理解しやすく、貢献しやすいことを願っています。そうでなければ、それは不具合です。

Wrenのビルド方法は、入門ページで確認できます。

取り組むものを探す #

課題管理を見たり、コード内でTODOコメントを探したりすれば、必要な作業を見つけるのは、かなり簡単です。ただし、私たちは、いつもすべてを書き留められているわけではありません。

合うものがなければ、新しい考えも歓迎します! 大きな変更や追加を考えているなら、大量のコードを書く前に、提案を登録して相談してください。Wrenは、最小限に保つため、非常に努力しています。そのため、言語への追加は、とても良いものでも、「いいえ」と言う必要がよくあります。

文書を変更する #

文書は、Wrenへ貢献しやすい部分の一つであり、とても重要でもあります! サイトのソースはMarkdownで書き、doc/siteにあります。単純なPython 3のスクリプトutil/generate_docs.pyが、HTMLとCSSへ変換します。

$ python util/generate_docs.py

これは、build/docs/へサイトを生成します。そこから、どんな単純な静的Webサーバーでも実行できます。Pythonにも、次が含まれます。

$ cd build/docs
$ python -m http.server

Markdownを一行変えるたびに、そのスクリプトを実行すると、時間がかかる場合があります。そのため、ファイルを監視し、編集したときに文書を自動で再生成する版もあります。

$ python util/generate_docs.py --watch

VMを変更する #

基本的な手順は、単純です。

  1. ローカルでビルドし、テストを実行できることを確認します。コードを触る前に、正常な状態から始めるとよいでしょう。テストの実行は、bin/wren_testを生成するvmプロジェクトをビルドし、次のPython 3のスクリプトを実行するだけです。

    $ python util/test.py
    

    失敗がなければ、準備できています。

  2. ローカルで変更できるよう、リポジトリをフォークします。作業を容易にするため、変更は別の機能ブランチで行ってください。

  3. コードを変更します。周囲のコードのスタイルに合わせてください。基本的には、camelCaseの名前、次の行に置く{、80桁以内、2スペースの字下げです。既存コードの不統一を見つけたら、知らせてください。

  4. 新しい機能のテストを書きます。テストはtest/にあります。期待結果の定義方法は、既存のテストを見て確認してください。

  5. 既存のテストも新しいテストも、すべて合格することを確認します。

  6. まだ登録していなければ、AUTHORSファイルへ名前とメールアドレスを追加します。

  7. プルリクエストを送ります。楽しいオープンソースプロジェクトへ貢献した自分を、ねぎらってください!

助けを求める #

途中で質問があれば、気軽に課題を登録するか、Discordコミュニティー、またはメーリングリストで尋ねてください。Redditを使っているなら、/r/wren_langサブレディットもあります。あまり公開したくなければ、私へ直接メールしてもかまいません。(robert at stuffwithstuff.com)