-
-
Notifications
You must be signed in to change notification settings - Fork 913
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Improved contributing instructions. (#130)
- Loading branch information
Showing
2 changed files
with
30 additions
and
38 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,41 +1,43 @@ | ||
Thanks so much for considering contributing to Open SaaS 🙏 | ||
|
||
## Considerations before Contributing | ||
Check if there is a GitHub issue already for the thing you would like to work on. If there is no issue yet, create a new one. | ||
|
||
### General Considerations | ||
1. If there's something you'd like to add, and the issue doesn't already exist, create a new one and assign yourself to it. Wait until we've agreed on a plan of action before beginning your work. | ||
2. If the issue does already exist, and noone is assigned to it, assign yourself and feel free to begin working on it. | ||
Let us know, in the issue, that you would like to work on it and how you plan to approach it. | ||
This helps, especially with the more complex issues, as it allows us to discuss the solution upfront and make sure it is well planned and fits with the rest of the project. | ||
|
||
### How Users Get the Starter Template | ||
## How to Contribute | ||
1. Make sure you understand the basics of how open-saas works (check out [docs](https://docs.opensaas.sh)). | ||
2. Check out this repo (`main` branch) and make sure you are able to get the app in `app/` running (to set it up, follow the same steps as for running a new open-saas app, as explained in the open-saas docs). | ||
3. Create a new git branch for your work (aka feature branch) and do your changes on it. | ||
4. Update e2e tests in [e2e-tests](/e2e-tests/) if needed and make sure they are passing. | ||
5. Create a pull request (towards `main` as a base branch). | ||
6. If docs (also) need updating, check out the `deployed-version` branch, make your own feature branch from it, make changes in [blog/src/content/docs](/blog/src/content/docs/), and submit another PR with those changes (towards `deployed-version` as a base branch). | ||
7. Make a "Da Boi" meme while you wait for us to review your PR(s). | ||
8. If you don't know who "Da Boi" is, head back to the [Wasp Discord](https://discord.gg/aCamt5wCpS) and find out :) | ||
|
||
We currently have two ways to pull the template: | ||
1. the `use this template` button on the [repo homepage](https://github.com/wasp-lang/open-saas) | ||
2. the [Wasp CLI's](https://wasp-lang.dev/docs/quick-start) `wasp new` command | ||
## Additional Info | ||
|
||
When pulling the template via `wasp new`, the Wasp CLI looks for a tag `wasp-{CURRENT_VERSION}-template` associated with a specific commit on the Open SaaS repo. | ||
### Template Versioning | ||
|
||
In order to keep this tag up to date, we've created a github action, `.github/workflows/retag-commit.yml`, that automatically reassigns the tag (defined as `TAG_NAME` in the action) to the most recent commit on `main`. | ||
Whenever a user starts a new Wasp project with `wasp new -t <template_name>`, Wasp looks for a specific tag on the template repo, and pulls the project at the commit associated with that tag. | ||
|
||
**This means, that whenever a user pulls the template, they are getting the version present in the most recent commit on `main`** | ||
In the case of Open SaaS, which is a Wasp template, the tag is `wasp-v{{version}}-template`, where `{{version}}` is the current version of Wasp, e.g. `wasp-v0.13-template`. | ||
|
||
Also, If we update Wasp to a new major version, we should also update the `TAG_NAME` in the action. | ||
For simplicity, in Open SaaS, we automatically re-apply the tag to the most recent commit on the `main` branch via the `.github/workflows/retag-commit.yml` workflow. This way, users always get the latest version of the template (as on `main` branch) when they start a new project via `wasp new -t saas`. | ||
|
||
**This means, that whenever a user pulls the template via `wasp new -t saas`, they are getting the version present in the most recent commit on `main`.** | ||
|
||
NOTE: When Wasp releases a new major version, we should also make sure to update Open SaaS to work with this new version. In PR that will bring this update, we should also make sure to update the `TAG_NAME` in the GitHub Workflow that does the tagging, to be the template tag used by the newest version of Wasp. | ||
|
||
### The Default Template vs. the Deployed Site / Docs | ||
|
||
There are two main branches for development: | ||
- `main` | ||
- `deployed-version` | ||
|
||
The default, clean template that users get when cloning the starter lives on `main`, while `deployed-version` is what you see when you go to [OpenSaaS.sh](https://opensaas.sh) and the [docs](https://docs.opensaas.sh) | ||
The default, clean template that users get when cloning the starter lives on `main`, while `deployed-version` is somewhat modified version of that same template which you see when you go to [OpenSaaS.sh](https://opensaas.sh) and the [docs](https://docs.opensaas.sh). | ||
|
||
If you want to make changes to the default starter template, base feature branches and Pull Requests off of `main` | ||
If you want to make changes to the OpenSaaS.sh site or it's Documentation, base feature branches and Pull Requests off of `deployed-version` | ||
If you want to make changes to the default starter template, base feature branches and Pull Requests off of `main`. | ||
If you want to make changes to the OpenSaaS.sh site or it's Documentation, base feature branches and Pull Requests off of `deployed-version`. | ||
|
||
## How to contribute | ||
Contributing is simple: | ||
1. Make sure you've installed and run the app. | ||
2. Find something you'd like to work on. Check out the [issues](https://github.com/wasp-lang/open-saas/issues) or contact us on the [Wasp Discord](https://discord.gg/aCamt5wCpS) to discuss. | ||
3. Create a new feature branch for your work. See [above](#the-default-template-vs-the-deployed-site--docs) for which branch to base your feature branch off of. | ||
4. Create a pull request. | ||
5. Make a "Da Boi" meme while you wait for us to review your PR. | ||
6. If you don't know who "Da Boi" is, head back to the [Wasp Discord](https://discord.gg/aCamt5wCpS) and find out :) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters