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: contributing/CONTRIBUTING.md
+30-14Lines changed: 30 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -44,7 +44,7 @@ If you decide to fix an [issue](https://github.com/multisynq/react-together/issu
44
44
45
45
### Development Workflow
46
46
47
-
#### Setting up locally
47
+
#### Setting up locally
48
48
49
49
1. Clone the React Together repository from [GitHub](https://github.com/multisynq/react-together).
50
50
@@ -79,20 +79,28 @@ react-together/
79
79
80
80
#### Branch Organization
81
81
82
-
The React Together repository uses the following branch structure:
82
+
The React Together repository uses the [git-flow](https://nvie.com/posts/a-successful-git-branching-model/) branching model with the following branch structure:
83
83
84
-
```
85
-
- website // Live version of the website
86
-
- release // Latest stable version of npm packages
87
-
- main // Staging area for packages and website (release-ready)
88
-
- feature-x // Individual developer branches for work in progress
89
-
```
84
+
-`develop`: (default) main development branch
85
+
-`feature-x`: individual developer branches for work in progress, to be merged into `develop`
86
+
-`release-x`: branched off `develop` for new regular releases of npm packages, merged into `main`
87
+
-`main`: latest stable release
88
+
-`hotfix-x`: branched off `main` for hotfix releases, merged back into main
89
+
90
+
Here is an illustration (from [Git Kraken](https://www.gitkraken.com/learn/git/git-flow)):
91
+
92
+

93
+
94
+
In addition, there are the website deployment branches:
95
+
96
+
-`deploy`: live version of [reacttogether.dev](https://reacttogether.dev)
97
+
-`staging`: staging area for website at [staging.reacttogether.dev](https://staging.reacttogether.dev)
90
98
91
99
Important notes:
92
100
93
-
- The `website` branch should never contain documentation ahead of the `release` branch;
94
-
- New features should be in their own branch and merged into `main`;
95
-
- Bug fixes can be merged directly into the `main` branch;
101
+
- The `deploy` branch should never contain documentation ahead of the `main` branch;
102
+
- New features should be in their own branch and merged into `develop`;
103
+
- Bug fixes can be merged into/developed directly on the `develop` branch;
96
104
97
105
#### Development commands
98
106
@@ -112,13 +120,21 @@ To do so, delete `react-together` from your project's dependencies and run the f
112
120
$ cd~/path_to_your_react-together_clone/
113
121
$ cd packages/react-together
114
122
$ npm run build
115
-
$ npm run link # Register package locally
123
+
$ npm link # Register package locally
116
124
117
125
$ cd~/path/to/your/project
118
-
$ npm uninstall react-together # Remove npm version
119
126
$ npm link react-together # Link to local version
120
127
```
121
128
129
+
#### Package development
130
+
131
+
The package is written in TypeScript but distributed and imported as JavaScript. While developing, it is recommended to continuously rebuild the JavaScript so that your app uses the latest TypeScript package code:
132
+
133
+
```bash
134
+
$ cd packages/react-together
135
+
$ npm run watch
136
+
```
137
+
122
138
#### Editor extensions
123
139
124
140
If you are using VS Code, it may be useful to install the recommended extensions (if you don't have them already) and to ensure the project settings (under the `.vscode` directory) are in place. This will automate formatting and linting for you.
@@ -129,4 +145,4 @@ By contributing to React Together, you agree that your contributions will be lic
129
145
130
146
### Getting in Touch
131
147
132
-
You can get in touch with the project team, as well as with the developer community, via the [Croquet Discord](https://croquet.io/discord).
148
+
You can get in touch with the project team, as well as with the developer community, via the [Multisynq Discord](https://multisynq.dev/discord).
0 commit comments