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
Copy file name to clipboardExpand all lines: .github/PULL_REQUEST_TEMPLATE/pull_request_template.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,5 @@
1
+
# Pull Request
2
+
1
3
We thank you for helping improve Crystal. In order to ease the reviewing process, we invite you to read the [guidelines](https://github.com/crystal-lang/crystal/blob/master/CONTRIBUTING.md#making-good-pull-requests) and ask you to consider the following points before submitting a PR:
2
4
3
5
1. We prefer to discuss the underlying issue _prior_ to discussing the code. Therefore, we kindly ask you to refer to an existing issue, or an existing discussion in a public space with members of the Core Team (forum, Gitter, Discord, ...). In few cases, we acknowledge that this might not be necessary, for instance when refactoring code or small bug fixes. In this case, the PR must include the same information an issue would have: a clear explanation of the issue, reproducible code, etc.
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+21-20Lines changed: 21 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,16 +25,17 @@ You can find a list of tasks that we consider suitable for a first time contribu
25
25
the [good first issue label](https://github.com/crystal-lang/crystal/contribute).
26
26
27
27
As you feel more confident, you can keep an eye out for open issues with the following labels:
28
-
*[`community:to-research`](https://github.com/crystal-lang/crystal/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aopen%20label%3Acommunity%3Ato-research): Help needed on **researching and investigating** the issue at hand; could be from going through an RFC to figure out how something _should_ be working, to go through details on a C-library we'd like to bind.
29
-
*[`community:to-design`](https://github.com/crystal-lang/crystal/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aopen%20label%3Acommunity%3Ato-design): As an issue has been accepted, we are looking for **ideas on how it could be implemented**, this is, a high-level design for the feature at hand.
30
-
*[`community:to-implement`](https://github.com/crystal-lang/crystal/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aopen%20label%3Acommunity%3Ato-implement): After a design has been agreed upon, the remaining task is to actually **code** it and send a PR!
31
-
*[`community:to-document`](https://github.com/crystal-lang/crystal/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aopen%20label%3Acommunity%3Ato-document): Similar to the one above, but this one is for those awesome devs that are happy to **contribute with documentation** instead of just code.
28
+
29
+
-[`community:to-research`](https://github.com/crystal-lang/crystal/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aopen%20label%3Acommunity%3Ato-research): Help needed on **researching and investigating** the issue at hand; could be from going through an RFC to figure out how something _should_ be working, to go through details on a C-library we'd like to bind.
30
+
-[`community:to-design`](https://github.com/crystal-lang/crystal/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aopen%20label%3Acommunity%3Ato-design): As an issue has been accepted, we are looking for **ideas on how it could be implemented**, this is, a high-level design for the feature at hand.
31
+
-[`community:to-implement`](https://github.com/crystal-lang/crystal/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aopen%20label%3Acommunity%3Ato-implement): After a design has been agreed upon, the remaining task is to actually **code** it and send a PR!
32
+
-[`community:to-document`](https://github.com/crystal-lang/crystal/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aopen%20label%3Acommunity%3Ato-document): Similar to the one above, but this one is for those awesome devs that are happy to **contribute with documentation** instead of just code.
32
33
33
34
Furthermore, these are the most important general topics in need right now, so if you are interested open an issue to start working on it:
34
35
35
-
* Documenting the language
36
-
* Documenting the standard library
37
-
* Adding missing bits of the standard library, and/or improving its performance
36
+
- Documenting the language
37
+
- Documenting the standard library
38
+
- Adding missing bits of the standard library, and/or improving its performance
38
39
39
40
### Labels
40
41
@@ -64,25 +65,25 @@ Topic encompasses the broad aspect of the language that the issue refers to: cou
64
65
65
66
Status labels attempt to capture the lifecycle of an issue:
66
67
67
-
* A detailed proposal on a feature is marked as `draft`, while a more general argument is usually labelled as `discussion` until a consensus is achieved.
68
+
- A detailed proposal on a feature is marked as `draft`, while a more general argument is usually labelled as `discussion` until a consensus is achieved.
68
69
69
-
* An issue is `accepted` when it describes a feature or bugfix that a core team member has agreed to have added to the language, so as soon as a design is discussed (if needed), it's safe to start working on a pull request.
70
+
- An issue is `accepted` when it describes a feature or bugfix that a core team member has agreed to have added to the language, so as soon as a design is discussed (if needed), it's safe to start working on a pull request.
70
71
71
-
* Bug reports are marked as `needs-more-info`, where the author is requested to provide the info required; note that the issue may be closed after some time if it is not supplied.
72
+
- Bug reports are marked as `needs-more-info`, where the author is requested to provide the info required; note that the issue may be closed after some time if it is not supplied.
72
73
73
-
* Issues that are batched in an epic to be worked on as a group are typically marked as `deferred`, while low-prio issues or tasks far away in the roadmap are marked as `someday`.
74
+
- Issues that are batched in an epic to be worked on as a group are typically marked as `deferred`, while low-prio issues or tasks far away in the roadmap are marked as `someday`.
74
75
75
-
* Closed issues are marked as `implemented`, `invalid`, `duplicate` or `wontfix`, depending on their resolution.
76
+
- Closed issues are marked as `implemented`, `invalid`, `duplicate` or `wontfix`, depending on their resolution.
76
77
77
-
## Contributing to...
78
+
## Contributing
78
79
79
80
### The documentation
80
81
81
-
The language reference is available at https://crystal-lang.org/reference/.
82
+
The language reference is available at <https://crystal-lang.org/reference/>.
82
83
See the repository at [crystal-lang/crystal-book](https://github.com/crystal-lang/crystal-book) for contributing to it.
83
84
84
85
The [standard library documentation](https://crystal-lang.org/api/) is on the code itself, in this repository.
85
-
There is a version updated with every push to the master branch [here](https://crystal-lang.org/api/master/).
86
+
The [`master` version](https://crystal-lang.org/api/master/) is updated with every push to the master branch.
86
87
It uses a subset of [Markdown](http://daringfireball.net/projects/markdown/). You can [use Ruby as a source
87
88
of inspiration](https://twitter.com/yukihiro_matz/status/549317901002342400) whenever applicable. To generate
88
89
the docs execute `make docs`. Please follow the guidelines described in our
@@ -92,8 +93,8 @@ Additionally, all official documentation can be found on [the Crystal website](h
92
93
93
94
### The standard library
94
95
95
-
1. Fork it ( https://github.com/crystal-lang/crystal/fork )
96
-
2. Clone it
96
+
1.[Fork](https://github.com/crystal-lang/crystal/fork) and checkout the
Once in the cloned directory, and once you [installed Crystal](https://crystal-lang.org/install/),
99
100
you can execute `bin/crystal` instead of `crystal`. This is a wrapper that will use the cloned repository
@@ -206,13 +207,13 @@ details of the pull request process. For non-trivial changes, the merge commit s
206
207
207
208
1. Do not directly commit to the `master` branch. Always create a feature branch and pull request.
208
209
2. Feature branches should typically be created in your fork. The main repo should only contain essential branches.
209
-
* CI changes affecting circle CI only run for branches on the main repo. They should be prefixed `ci/` to trigger a maintenance release.
210
-
* Long-running feature branches that accept contributions must be pushed to the main repo in order to allow PRs targeting that branch.
210
+
- CI changes affecting circle CI only run for branches on the main repo. They should be prefixed `ci/` to trigger a maintenance release.
211
+
- Long-running feature branches that accept contributions must be pushed to the main repo in order to allow PRs targeting that branch.
211
212
212
213
## Git pre-commit hook
213
214
214
215
Code submitted to this repository should be formatted according to `crystal tool format`.
215
-
A pre-commit hook can be installed into the local git repo to ensure the formatter validates every commit: https://github.com/crystal-lang/crystal/blob/master/scripts/git/pre-commit
216
+
A pre-commit hook can be installed into the local git repo to ensure the formatter validates every commit: <https://github.com/crystal-lang/crystal/blob/master/scripts/git/pre-commit>
Copy file name to clipboardExpand all lines: README.md
+15-22Lines changed: 15 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,14 +14,13 @@
14
14
15
15
Crystal is a programming language with the following goals:
16
16
17
-
* Have a syntax similar to Ruby (but compatibility with it is not a goal)
18
-
* Statically type-checked but without having to specify the type of variables or method arguments.
19
-
* Be able to call C code by writing bindings to it in Crystal.
20
-
* Have compile-time evaluation and generation of code, to avoid boilerplate code.
21
-
* Compile to efficient native code.
17
+
- Have a syntax similar to Ruby (but compatibility with it is not a goal)
18
+
- Statically type-checked but without having to specify the type of variables or method arguments.
19
+
- Be able to call C code by writing bindings to it in Crystal.
20
+
- Have compile-time evaluation and generation of code, to avoid boilerplate code.
21
+
- Compile to efficient native code.
22
22
23
-
Why?
24
-
----
23
+
## Why?
25
24
26
25
We love Ruby's efficiency for writing code.
27
26
@@ -35,37 +34,31 @@ We want full OOP.
35
34
36
35
Oh, and we don't want to write C code to make the code run faster.
37
36
38
-
Project Status
39
-
--------------
37
+
## Project Status
40
38
41
39
Within a major version, language features won't be removed or changed in any way that could prevent a Crystal program written with that version from compiling and working. The built-in standard library might be enriched, but it will always be done with backwards compatibility in mind.
42
40
43
41
Development of the Crystal language is possible thanks to the community's effort and the continued support of [84codes](https://www.84codes.com/) and every other [sponsor](https://crystal-lang.org/sponsors).
44
42
45
-
Installing
46
-
----------
43
+
## Installing
47
44
48
45
[Follow these installation instructions](https://crystal-lang.org/install)
Have any questions or suggestions? Ask on the [Crystal Forum](https://forum.crystal-lang.org), on our [Gitter channel](https://gitter.im/crystal-lang/crystal) or IRC channel [#crystal-lang](https://web.libera.chat/#crystal-lang) at irc.libera.chat, or on Stack Overflow under the [crystal-lang](http://stackoverflow.com/questions/tagged/crystal-lang) tag. There is also an archived [Google Group](https://groups.google.com/forum/?fromgroups#!forum/crystal-lang).
66
60
67
-
Contributing
68
-
------------
61
+
## Contributing
69
62
70
63
The Crystal repository is hosted at [crystal-lang/crystal](https://github.com/crystal-lang/crystal) on GitHub.
0 commit comments