Skip to content

Commit 57215a1

Browse files
Add a CONTRIBUTING.md file (#103)
This relates to the request made on #101. Closes #101.
1 parent 4341679 commit 57215a1

File tree

2 files changed

+172
-0
lines changed

2 files changed

+172
-0
lines changed

.github/pull_request_template.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# Pull Request
2+
3+
Thank you for contributing to Guida!
4+
Please complete the checklist and provide context below.
5+
6+
---
7+
8+
## 📋 Summary
9+
10+
Briefly describe the goal of this pull request and what problem it solves.
11+
12+
---
13+
14+
## ✅ Checklist
15+
16+
- [ ] The code compiles and all tests pass (`npm test`)
17+
- [ ] The change has been tested in:
18+
- [ ] CLI
19+
- [ ] Browser
20+
- [ ] Node (API)
21+
- [ ] I’ve added or updated tests, if applicable
22+
- [ ] I’ve updated relevant documentation or comments
23+
- [ ] My changes follow the project's coding style
24+
25+
---
26+
27+
## 🔍 Related Issues
28+
29+
List any existing issues or discussions this PR is related to (use `#123` references if applicable).
30+
31+
---
32+
33+
## 💬 Notes for Reviewers
34+
35+
Anything specific reviewers should be aware of (e.g., implementation notes, edge cases, questions for feedback)?
36+
37+
---
38+
39+
## 📎 Additional Context
40+
41+
If your change relates to a past decision in Elm (e.g., compiler, elm-format, elm-test), please provide a link or brief mention.
42+

CONTRIBUTING.md

Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
# Contributing to Guida
2+
3+
:+1::tada: First off, thank you for your interest in contributing to Guida! :tada::+1:
4+
5+
This document outlines guidelines and best practices for contributing code, ideas, or feedback to the project.
6+
7+
---
8+
9+
## 📋 Table of Contents
10+
11+
- [Getting Started](#getting-started)
12+
- [Ways to Contribute](#ways-to-contribute)
13+
- [Expectations](#expectations)
14+
- [Development Setup](#development-setup)
15+
- [Testing Your Changes](#testing-your-changes)
16+
- [Submitting a Pull Request](#submitting-a-pull-request)
17+
- [Style Guide](#style-guide)
18+
- [Reporting Issues](#reporting-issues)
19+
- [Questions?](#questions)
20+
21+
---
22+
23+
## Getting Started
24+
25+
Guida is a functional programming language that builds upon the solid foundation of Elm, offering
26+
backward compatibility with all existing Elm 0.19.1 projects.
27+
28+
Find out more about our [Vision](README.md#vision) on the project [README](README.md).
29+
30+
We welcome contributions of all kinds, code, documentation, bug reports, feedback, and ideas!
31+
32+
If you're unsure about where to start or how to approach an issue, feel free to open a [discussion](https://github.com/guida-lang/compiler/discussions)
33+
or reach out directly on Elm Slack (@deciojf). We’re happy to help point you in the right direction!
34+
35+
---
36+
37+
## Ways to Contribute
38+
39+
- File a bug or feature request [here](https://github.com/guida-lang/compiler/issues)
40+
- Help triage existing issues
41+
- Submit improvements to the [compiler](https://github.com/guida-lang/compiler), [registry](https://github.com/guida-lang/package-registry), or [tooling](https://github.com/guida-lang)
42+
- Improve documentation or examples
43+
- Try out Guida and give us feedback
44+
- Look for [good first issues](https://github.com/guida-lang/compiler/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) if you're just getting started
45+
- Port known issues or improvements from the Elm ecosystem
46+
47+
Guida builds on projects like [elm/compiler](https://github.com/elm/compiler), [elm-format](https://github.com/avh4/elm-format), [elm-test](https://github.com/elm-explorations/test), and [elm-json](https://github.com/zwilias/elm-json). If you've encountered issues or ideas in those tools that feel worth bringing into Guida, feel free to reference them in a new issue or PR
48+
49+
---
50+
51+
## Expectations
52+
53+
- We aim to respond to contributions within a few days.
54+
- All changes should align with the project's vision: stability, compatibility with Elm, and community evolution.
55+
- PRs should be focused and include a clear description.
56+
- Don’t worry if your PR needs changes — we’ll help you get it over the finish line!
57+
58+
---
59+
60+
## Development Setup
61+
62+
For detailed instructions on setting up your environment for contributing to Guida, see the [Development](README.md#development) section of the README.
63+
64+
## Testing Your Changes
65+
66+
We aim for stability and consistency. If you’re adding features or fixing bugs, please:
67+
68+
- Write tests if applicable.
69+
- Consider all 3 outputs of the project: bin (command line), browser and node (API).
70+
- Make sure to test all three output targets of the project:
71+
- CLI (bin) — the command-line interface
72+
- Browser — compiled for browser usage
73+
- Node — used as a Node.js API
74+
- Make sure existing tests pass: see the [Run tests](README.md#run-tests) section of the README.
75+
76+
---
77+
78+
## Submitting a Pull Request
79+
80+
1. Fork the repo and create a new branch:
81+
```sh
82+
git checkout -b my-feature
83+
```
84+
85+
2. Make your changes.
86+
3. Test locally.
87+
4. Push and open a Pull Request (PR) to the `master` branch.
88+
89+
Please describe:
90+
- What the change does
91+
- Why it’s needed
92+
- Any related issues or discussion
93+
94+
---
95+
96+
## Style Guide
97+
98+
- Follow the existing code style
99+
- Keep Elm code idiomatic and readable
100+
- Use descriptive names and add comments where helpful
101+
102+
For formatting Elm:
103+
104+
```sh
105+
npm run elm-format
106+
```
107+
108+
---
109+
110+
## Reporting Issues
111+
112+
If you encounter a bug or unexpected behavior:
113+
- Search [existing issues](https://github.com/guida-lang/compiler/issues)
114+
- If not found, open a new one with:
115+
- Steps to reproduce
116+
- Expected and actual behavior
117+
- Environment details
118+
119+
Some issues might relate to other repositories under the [guida-lang](https://github.com/guida-lang) (such as the package registry).
120+
If you're unsure where the issue belongs, feel free to post anyway — we’ll help direct it to the right place.
121+
122+
---
123+
124+
## Questions?
125+
126+
You can usually find me on the [Elm Slack](https://elmlang.slack.com/). Feel free to reach out directly to @deciojf with any questions or feedback.
127+
128+
Please note that responses may come with a bit of delay, as availability can be limited during the day.
129+
130+
Thank you again for helping improve Guida!

0 commit comments

Comments
 (0)