You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
*[Scott Graham](https://github.com/sgraham) -- although not active at the moment, Scott is the father of Skulpt
8
+
The list of people who have contributed to Skulpt is too big and dynamic to be accurate
9
+
in a document like this. Luckily Github does an excellent job of keeping track of
10
+
[people who have contributed](https://github.com/skulpt/skulpt/graphs/contributors)
16
11
12
+
[Brad Miller](https://github.com/bnmnetp) is the current owner of the project. But see below for
13
+
the full list of people with commit privileges.
14
+
17
15
## Learn & listen
18
16
19
17
This section includes ways to get started with your open source project. Include links to documentation and to different communication channels:
@@ -62,6 +60,20 @@ We try to get to pull requests in a very timely way so they don't languish. Noth
62
60
63
61
## Coding Style and Conventions
64
62
63
+
Here are some coding conventions to keep in mind:
64
+
65
+
*``Sk.ffi.remapToJs`` and ``Sk.ffi.remapToPy`` are your friends. They take care of the details
66
+
of going from a Python type to a Javascript type and vice versa. They are smart enough to work
67
+
with common types and even work well recursively converting containers. ``Sk.ffi.remapToJs`` is
68
+
**definitely preferred** over ``foo.v``
69
+
* Use the ``pyCheckArgs`` function at the beginning of anything that will be exposed to a Python programmer.
70
+
* Check the types of arguments when you know what they must be.
71
+
* Explicitly return ``Sk.builtin.null.null$`` for functions and methds that should return ``None``
72
+
* If you are adding a module or package to the library, respect the package/module conventions.
73
+
* modules should be named ``foo.js`` or ``foo.py``
74
+
* packages should be a directory with an ``__init__.js`` or ``__init__.py`` file, and possibly additional modules.
75
+
76
+
65
77
In summer of 2014, we adopted the following style and conventions for our code:
66
78
67
79
* Braces: One True Brace style -- that means open braces go on the same line as the
@@ -87,6 +99,34 @@ Our Travis script will run jshint over all the source. You should run jshint as
87
99
Many editors and IDEs do this automatically for you -- Atom, PyCharm, TextMate has a
88
100
nice plugin called JSLintMate. You can easily install [jshint](http://jshint.org) using the ``npm`` package manager that comes with [node](http://nodejs.org).
89
101
102
+
103
+
## Committers
104
+
105
+
The committers are people who are responsible for reviewing and approving pull requests . These are
106
+
generally people who have been around the project for a while and have "proven" themselves by contributing
107
+
good code and ideas to the Skulpt. This list may change over time as people gain or lose interest in
108
+
Skulpt. If you would like to volunteer contact Brad.
109
+
110
+
Although a lot of our testing, and checking for adherence to the style guidelines is done automatically
111
+
the review process I would recommend for committers is as follows:
112
+
113
+
1. Look at the diffs for each file on github, if it is pretty obvious what they are doing is correct then that is a good sign.
114
+
2. Look at the tests provided with the PR and try to think if there are additional tests that would provide better coverage. If you think additional tests are needed then you should let the owner of the PR know and have them add more tests. All new PRs that are adding new features should be using the new unittest framework, not the old numbered framework.
115
+
3. Pull the the PR down to your local machine and run all the tests locally. (Unless it is really trivial)
116
+
4. If the code looked a bit more complicated when you examined the diffs, then you should bring it up in your editor and look over the code in context and try to understand it better. If there are issues with how the code is written or if it is unclear about why something was done, then have that conversation with the owner of the PR.
117
+
5. Many of us have our own projects that exercise Skulpt to its limits. If you are particularly concerned about a PR then you may want to try out the built js files in your environment.
118
+
6. It is always appropriate to raise questions and have a group conversation about anything that looks particularly problematic or risky.
119
+
7. With the new style unit tests, You should ask the submitter to file issues for tests that they comment out. This will let us track completeness over time. Not every test needs its own issue. Something like 'when blah feature is added enable tests x,y,z in foo_test.py' should work.
120
+
121
+
The current group of committers is as follows:
122
+
123
+
* Brad Miller bnmnetp
124
+
* Scott Rixner rixner
125
+
* Albert-Jan albertjan
126
+
* Meredydd Luff meredydd
127
+
* Leszek Swirski LeszekSwirski
128
+
* Ben Wheeler bzwheeler
129
+
90
130
# Documentation
91
131
92
132
If documentation is your thing, have we got a job for you. There are a few blog posts on how to write modules and work with skulpt but very little of the core is documented beyond the source. Having some good documentation for developers would really help get more people involved.
0 commit comments