Skip to content

Commit 2f3dfbe

Browse files
committed
update contributing docs
1 parent bb1d2ad commit 2f3dfbe

File tree

1 file changed

+25
-17
lines changed

1 file changed

+25
-17
lines changed

CONTRIBUTING.md

+25-17
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,18 @@ Thanks for contributing to the wq framework! Here are some guidelines to help y
44

55
## Questions
66

7-
Feel free to use the issue tracker to ask questions! We don't currently have a separate mailing list or active chat tool. However, note that as wq grows we may eventually move questions to a separate tool.
7+
Questions and ideas can be submitted to the main [wq discussion board](https://github.com/wq/wq/discussions).
88

99
## Bug Reports
1010

1111
wq is a highly modular framework and the code is split across several repositories. If you are unsure where to report an issue, feel free to use the top-level [wq repository](https://github.com/wq/wq/issues). Otherwise, enter your issue on the repository that most closely matches the component you are using.
1212

1313
* [wq](https://github.com/wq/wq/issues): General API design & documentation
1414
* [wq.app](https://github.com/wq/wq.app/issues): JavaScript client & build tool
15+
* [wq.build](https://github.com/wq/wq.build/issues): CLI & Project build tools
16+
* [wq.create](https://github.com/wq/wq.create/issues): `wq create` command & project templates
1517
* [wq.db](https://github.com/wq/wq.db/issues): Web server & REST API (Django REST Framework)
16-
* [wq.start](https://github.com/wq/wq.start/issues): `wq start` command & questions about getting started
17-
* [xlsconv](https://github.com/wq/xlsform-converter/issues): XLSForm converter and default HTML templates
18+
* [xlsconv](https://github.com/wq/xlsform-converter/issues): XLSForm converter
1819

1920
Don't worry about getting the repository exactly right - many issues span multiple repositories and we can always reference the fix back to the original ticket.
2021

@@ -23,12 +24,12 @@ Don't worry about getting the repository exactly right - many issues span multip
2324
Pull requests are very welcome and will be reviewed and merged as time allows. To speed up reviews, try to include the following whenever possible:
2425
* Reference the issue that the PR fixes (e.g. [#22](https://github.com/wq/wq/issues/22) or [wq/wq#22](https://github.com/wq/wq/issues/22) if in a different repository).
2526
* Failing test case fixed by the PR
26-
* If the PR provides new functionality to wq, a separate PR updating the [wq documentation](https://github.com/wq/wq/tree/master/docs).
27+
* If the PR provides new functionality, a separate PR updating the [wq documentation](https://github.com/wq/wq/tree/main/docs).
2728
* Ensure the PR passes lint and unit tests. This happens automatically, but you can also run these locally with the following commands:
2829

2930
```bash
30-
./runtests.sh # run the test suite
31-
LINT=1 ./runtests.sh # run code style checking
31+
python -m unittest discover -s tests -t . # run the test suite
32+
flake8 # run code style checking
3233
```
3334

3435
If you would like help implementing any part of your PR, feel free to enable write access and we'll take a look as time allows.
@@ -37,7 +38,7 @@ If you would like help implementing any part of your PR, feel free to enable wri
3738

3839
Small changes and documentation fixes can usually be done using Github's online file editors. For larger changes, we recommend the following workflow.
3940

40-
Because wq is split across several repositories, we recommend installing the entire suite from PyPI, starting a test project, and then cloning the specific module you want to update. For example, to work on [wq.db](https://github.com/wq/wq.db), clone it to your account and then do something like this:
41+
Because wq is split across several repositories, we recommend installing the `wq` package, starting a test project, and then cloning the specific module you want to update. For example, to work on [wq.app](https://github.com/wq/wq.app), clone it to your account and then do something like this:
4142

4243
### Initial Setup
4344
```bash
@@ -48,21 +49,28 @@ python3 -m venv venv
4849
. venv/bin/activate
4950
pip install --upgrade pip
5051
pip install wq
51-
wq start -d test.wq.io testproject .
52+
wq create -d test.wq.io testproject .
5253

53-
# Clone wq.db from fork
54-
git clone [email protected]:[my-username]/wq.db.git
55-
cd wq.db
56-
git checkout -b my-wqdb-branch
54+
# Clone wq.app from fork
55+
git clone [email protected]:[my-username]/wq.app.git
56+
cd wq.app
57+
git checkout -b my-wqapp-branch
5758
```
59+
60+
While wq.app is distributed as a Python wheel, it consists primarily of JavaScript and CSS files built via npm. Development of wq.app requires npm installation as well.
61+
5862
### Ongoing Development
5963
```bash
60-
cd $WORKSPACE/wq.db
61-
vim rest/some_file.py # (make changes to wq.db)
62-
./runtests.sh # run the test suite
63-
LINT=1 ./runtests.sh # run code style checking
64+
cd $WORKSPACE/wq.app
65+
npm install # install NPM dependencies
66+
vim packages/app/src/app.js # (make changes a wq.app source file)
67+
npm run test # run the test suite
68+
npm run lint # run static error checker
69+
npm run prettier-all # run code formatter
6470

65-
pip install --upgrade . # overwrites PyPI wq.db with local version
71+
python -m packages.builder # Regenerate SHA hashes (recommended for commit)
72+
python -m build
73+
pip install dist/*.whl # overwrites PyPI wq.app with local version
6674
cd $WORKSPACE/
6775
./deploy.sh 0.0.$RANDOM
6876
```

0 commit comments

Comments
 (0)