@@ -12,6 +12,10 @@ As an open source project in a rapidly changing space, we welcome all contributi
12
12
13
13
The [ GitHub Issues] ( https://github.com/onyx-dot-app/onyx/issues ) page is a great place to start for contribution ideas.
14
14
15
+ To ensure that your contribution is aligned with the project's direction, please reach out to Hagen (or any other maintainer) on the Onyx team
16
+ via [ Slack] ( https://join.slack.com/t/onyx-dot-app/shared_invite/zt-2twesxdr6-5iQitKZQpgq~hYIZ~dv3KA ) /
17
+ [ Discord] ( https://discord.gg/TDJ59cGV2X ) or [ email] ( mailto:founders@onyx.app ) .
18
+
15
19
Issues that have been explicitly approved by the maintainers (aligned with the direction of the project)
16
20
will be marked with the ` approved by maintainers ` label.
17
21
Issues marked ` good first issue ` are an especially great place to start.
@@ -23,8 +27,8 @@ If you have a new/different contribution in mind, we'd love to hear about it!
23
27
Your input is vital to making sure that Onyx moves in the right direction.
24
28
Before starting on implementation, please raise a GitHub issue.
25
29
26
- And always feel free to message us (Chris Weaver / Yuhong Sun) on
27
- [ Slack] ( https://join.slack.com/t/danswer /shared_invite/zt-1w76msxmd-HJHLe3KNFIAIzk_0dSOKaQ ) /
30
+ Also, always feel free to message the founders (Chris Weaver / Yuhong Sun) on
31
+ [ Slack] ( https://join.slack.com/t/onyx-dot-app /shared_invite/zt-2twesxdr6-5iQitKZQpgq~hYIZ~dv3KA ) /
28
32
[ Discord] ( https://discord.gg/TDJ59cGV2X ) directly about anything at all.
29
33
30
34
### Contributing Code
@@ -42,7 +46,7 @@ Our goal is to make contributing as easy as possible. If you run into any issues
42
46
That way we can help future contributors and users can avoid the same issue.
43
47
44
48
We also have support channels and generally interesting discussions on our
45
- [ Slack] ( https://join.slack.com/t/danswer /shared_invite/zt-1w76msxmd-HJHLe3KNFIAIzk_0dSOKaQ )
49
+ [ Slack] ( https://join.slack.com/t/onyx-dot-app /shared_invite/zt-2twesxdr6-5iQitKZQpgq~hYIZ~dv3KA )
46
50
and
47
51
[ Discord] ( https://discord.gg/TDJ59cGV2X ) .
48
52
@@ -123,7 +127,47 @@ Once the above is done, navigate to `onyx/web` run:
123
127
npm i
124
128
```
125
129
126
- #### Docker containers for external software
130
+ ## Formatting and Linting
131
+
132
+ ### Backend
133
+
134
+ For the backend, you'll need to setup pre-commit hooks (black / reorder-python-imports).
135
+ First, install pre-commit (if you don't have it already) following the instructions
136
+ [ here] ( https://pre-commit.com/#installation ) .
137
+
138
+ With the virtual environment active, install the pre-commit library with:
139
+
140
+ ``` bash
141
+ pip install pre-commit
142
+ ```
143
+
144
+ Then, from the ` onyx/backend ` directory, run:
145
+
146
+ ``` bash
147
+ pre-commit install
148
+ ```
149
+
150
+ Additionally, we use ` mypy ` for static type checking.
151
+ Onyx is fully type-annotated, and we want to keep it that way!
152
+ To run the mypy checks manually, run ` python -m mypy . ` from the ` onyx/backend ` directory.
153
+
154
+ ### Web
155
+
156
+ We use ` prettier ` for formatting. The desired version (2.8.8) will be installed via a ` npm i ` from the ` onyx/web ` directory.
157
+ To run the formatter, use ` npx prettier --write . ` from the ` onyx/web ` directory.
158
+ Please double check that prettier passes before creating a pull request.
159
+
160
+ # Running the application for development
161
+
162
+ ## Developing using VSCode Debugger (recommended)
163
+
164
+ We highly recommend using VSCode debugger for development.
165
+ See [ CONTRIBUTING_VSCODE.md] ( ./CONTRIBUTING_VSCODE.md ) for more details.
166
+
167
+ Otherwise, you can follow the instructions below to run the application for development.
168
+
169
+ ## Manually running the application for development
170
+ ### Docker containers for external software
127
171
128
172
You will need Docker installed to run these containers.
129
173
@@ -135,7 +179,7 @@ docker compose -f docker-compose.dev.yml -p onyx-stack up -d index relational_db
135
179
136
180
(index refers to Vespa, relational_db refers to Postgres, and cache refers to Redis)
137
181
138
- #### Running Onyx locally
182
+ ### Running Onyx locally
139
183
140
184
To start the frontend, navigate to ` onyx/web ` and run:
141
185
@@ -223,35 +267,6 @@ If you want to make changes to Onyx and run those changes in Docker, you can als
223
267
docker compose -f docker-compose.dev.yml -p onyx-stack up -d --build
224
268
```
225
269
226
- ### Formatting and Linting
227
-
228
- #### Backend
229
-
230
- For the backend, you'll need to setup pre-commit hooks (black / reorder-python-imports).
231
- First, install pre-commit (if you don't have it already) following the instructions
232
- [ here] ( https://pre-commit.com/#installation ) .
233
-
234
- With the virtual environment active, install the pre-commit library with:
235
-
236
- ``` bash
237
- pip install pre-commit
238
- ```
239
-
240
- Then, from the ` onyx/backend ` directory, run:
241
-
242
- ``` bash
243
- pre-commit install
244
- ```
245
-
246
- Additionally, we use ` mypy ` for static type checking.
247
- Onyx is fully type-annotated, and we want to keep it that way!
248
- To run the mypy checks manually, run ` python -m mypy . ` from the ` onyx/backend ` directory.
249
-
250
- #### Web
251
-
252
- We use ` prettier ` for formatting. The desired version (2.8.8) will be installed via a ` npm i ` from the ` onyx/web ` directory.
253
- To run the formatter, use ` npx prettier --write . ` from the ` onyx/web ` directory.
254
- Please double check that prettier passes before creating a pull request.
255
270
256
271
### Release Process
257
272
0 commit comments