{"action":"created","issue":{"url":"https://api.github.com/repos/lhorie/mithril.js/issues/1418","repository_url":"https://api.github.com/repos/lhorie/mithril.js","labels_url":"https://api.github.com/repos/lhorie/mithril.js/issues/1418/labels{/name}","comments_url":"https://api.github.com/repos/lhorie/mithril.js/issues/1418/comments","events_url":"https://api.github.com/repos/lhorie/mithril.js/issues/1418/events","html_url":"https://github.com/lhorie/mithril.js/issues/1418","id":191220937,"number":1418,"title":"We need to make life easier for new contributors to get onboard","user":{"login":"isiahmeadows","id":4483844,"avatar_url":"https://avatars.githubusercontent.com/u/4483844?v=3","gravatar_id":"","url":"https://api.github.com/users/isiahmeadows","html_url":"https://github.com/isiahmeadows","followers_url":"https://api.github.com/users/isiahmeadows/followers","following_url":"https://api.github.com/users/isiahmeadows/following{/other_user}","gists_url":"https://api.github.com/users/isiahmeadows/gists{/gist_id}","starred_url":"https://api.github.com/users/isiahmeadows/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/isiahmeadows/subscriptions","organizations_url":"https://api.github.com/users/isiahmeadows/orgs","repos_url":"https://api.github.com/users/isiahmeadows/repos","events_url":"https://api.github.com/users/isiahmeadows/events{/privacy}","received_events_url":"https://api.github.com/users/isiahmeadows/received_events","type":"User","site_admin":false},"labels":[{"id":193886690,"url":"https://api.github.com/repos/lhorie/mithril.js/labels/discussion","name":"discussion","color":"d4c5f9","default":false},{"id":394673449,"url":"https://api.github.com/repos/lhorie/mithril.js/labels/documentation","name":"documentation","color":"1d76db","default":false},{"id":362013854,"url":"https://api.github.com/repos/lhorie/mithril.js/labels/rewrite","name":"rewrite","color":"0e8a16","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/lhorie/mithril.js/milestones/1","html_url":"https://github.com/lhorie/mithril.js/milestones/1.0%20(Rewrite)","labels_url":"https://api.github.com/repos/lhorie/mithril.js/milestones/1/labels","id":1835772,"number":1,"title":"1.0 (Rewrite)","description":"Issues and pull requests geared towards completing the rewrite.","creator":{"login":"isiahmeadows","id":4483844,"avatar_url":"https://avatars.githubusercontent.com/u/4483844?v=3","gravatar_id":"","url":"https://api.github.com/users/isiahmeadows","html_url":"https://github.com/isiahmeadows","followers_url":"https://api.github.com/users/isiahmeadows/followers","following_url":"https://api.github.com/users/isiahmeadows/following{/other_user}","gists_url":"https://api.github.com/users/isiahmeadows/gists{/gist_id}","starred_url":"https://api.github.com/users/isiahmeadows/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/isiahmeadows/subscriptions","organizations_url":"https://api.github.com/users/isiahmeadows/orgs","repos_url":"https://api.github.com/users/isiahmeadows/repos","events_url":"https://api.github.com/users/isiahmeadows/events{/privacy}","received_events_url":"https://api.github.com/users/isiahmeadows/received_events","type":"User","site_admin":false},"open_issues":9,"closed_issues":33,"state":"open","created_at":"2016-06-18T08:01:00Z","updated_at":"2016-11-23T09:41:17Z","due_on":null,"closed_at":null},"comments":11,"created_at":"2016-11-23T09:24:20Z","updated_at":"2016-11-28T10:41:38Z","closed_at":null,"body":"/cc @lhorie @tivac \r\n\r\nWe're in need of a *lot* of [easy](https://github.com/lhorie/mithril.js/issues/1390), [basic](https://github.com/lhorie/mithril.js/issues/1382), [trivial](https://github.com/lhorie/mithril.js/issues/1336) [pull](https://github.com/lhorie/mithril.js/issues/1123) [requests](https://github.com/lhorie/mithril.js/issues/1279) that don't require much knowledge of the framework to actually complete. Additionally, the documentation could use a [little](https://github.com/lhorie/mithril.js/issues/1283) [enhancement](https://github.com/lhorie/mithril.js/issues/932), and there's an open issue for [writing out the TypeScript definitions for the rewrite's API](https://github.com/lhorie/mithril.js/issues/1402), which mostly only requires reading the docs a little more thoroughly (it wouldn't be *as* beginner-friendly, but it's doable for someone only mildly familiar with the contribution process). Also, I'm quite frankly getting tired of constantly dealing with people not testing their patches, or even in some cases, writing tests for them. (I'm not going to link those here, but I bet you can find several just looking through the existing PRs.)\r\n\r\nI think we should create a new tag for beginner-friendly issues called `easy`, just for this very purpose, and be willing to work with new contributors on learning the process. This will also require us to do the following:\r\n\r\n1. Clean up [the rewrite's CONTRIBUTING.md file](https://github.com/lhorie/mithril.js/blob/rewrite/CONTRIBUTING.md) - in its current state, it's junk. It's missing a table of contents, a step-by-step guide of how to contribute, among other things. A single long FAQ isn't going to cut it if we want to actually guide users on how to contribute fixes to the framework. Although [we currently have a usable one](https://github.com/lhorie/mithril.js/blob/next/CONTRIBUTING.md), the rewrite has enough differences in the workflow and style, it might be a good idea to start from scratch.\r\n    - The [style guide](https://github.com/lhorie/mithril.js/blob/next/CONTRIBUTING.md#style-guide) should be migrated into a different file, so the contributing guidelines remain focused on just the general contribution process.\r\n    - The FAQ also needs reformatted (smaller headers), and a third of it would be redundant after being filled in with the rest of the details.\r\n    - I myself may end up creating the PR for all this, if I can find the time (which there is hope now :smile:).\r\n\r\n2. Clean up the [ospec docs](https://github.com/lhorie/mithril.js/blob/rewrite/ospec/README.md) a bit, to help with the previous point. It would be much easier to follow if the headers weren't C-like function prototypes complete with types, and the API docs were in a separate file. New contributors will have to *know* that API if they plan on writing any tests, and clean documentation will make their life much easier. Plus, people are already using it outside of Mithril space, so that will help.\r\n\r\n3. Clean up the style a bit, like applying a line length limit so [people don't have to scroll right just to read the code](https://github.com/lhorie/mithril.js/blob/rewrite/render/vnode.js) (I don't care what the limit is as long as it's no more than 120 characters), apply some more vertical whitespace and add some explanatory comments, so [people don't have to decipher a 100% comment-free blob of code](https://github.com/lhorie/mithril.js/blob/rewrite/render/hyperscript.js), and splitting up large, complex functions [that don't really explain what each branch does](https://github.com/lhorie/mithril.js/blob/rewrite/render/render.js#L122-L194).\r\n\r\n4. Tag some of the existing bugs (like those I linked above) with `easy` and document the tag, so new contributors know where to look. Also, recolor the existing tags, so they're a bit more obvious at a glance for those of us more familiar.\r\n\r\n5. Add some sort of roadmap to the wiki, linked directly from the README and eventual website, that we can refer people to so we can answer those questions much faster and get more efficient help with. TypeScript has a [nice one](https://github.com/Microsoft/TypeScript/wiki/Roadmap) that I feel we could use as a good starting point."},"comment":{"url":"https://api.github.com/repos/lhorie/mithril.js/issues/comments/263238891","html_url":"https://github.com/lhorie/mithril.js/issues/1418#issuecomment-263238891","issue_url":"https://api.github.com/repos/lhorie/mithril.js/issues/1418","id":263238891,"user":{"login":"isiahmeadows","id":4483844,"avatar_url":"https://avatars.githubusercontent.com/u/4483844?v=3","gravatar_id":"","url":"https://api.github.com/users/isiahmeadows","html_url":"https://github.com/isiahmeadows","followers_url":"https://api.github.com/users/isiahmeadows/followers","following_url":"https://api.github.com/users/isiahmeadows/following{/other_user}","gists_url":"https://api.github.com/users/isiahmeadows/gists{/gist_id}","starred_url":"https://api.github.com/users/isiahmeadows/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/isiahmeadows/subscriptions","organizations_url":"https://api.github.com/users/isiahmeadows/orgs","repos_url":"https://api.github.com/users/isiahmeadows/repos","events_url":"https://api.github.com/users/isiahmeadows/events{/privacy}","received_events_url":"https://api.github.com/users/isiahmeadows/received_events","type":"User","site_admin":false},"created_at":"2016-11-28T10:41:38Z","updated_at":"2016-11-28T10:41:38Z","body":"@barneycarroll \r\n\r\n> @isiahmeadows' issue admin fatigue\r\n\r\n:+1: :frowning: \r\n\r\nIt's so real, and that's the main reason why I've been looking for ways to streamline the high-level, less code-y aspect of contributing. It's much easier to help people contribute when I can point them in the right direction, and with the current state of things, it's not exactly helpful."}}
{"actor":{"display_login":"isiahmeadows"}}