diff --git a/docs/contributing/contributing.rst b/docs/contributing/contributing.rst index c36a1ce7..a25c5edd 100644 --- a/docs/contributing/contributing.rst +++ b/docs/contributing/contributing.rst @@ -21,3 +21,51 @@ Please: #. Attach a PR to an issue if applicable #. Ensure all new features have tests #. Add documentation for new features + + +--------------- +Developer notes +--------------- + +CLI +--- + +Burr comes with a `cli` that is both user/developer facing. + +**this is required in order to publish, do not do so otherwise** + +This will be turned into a `Makefile`, but for now we have a set of commands in `pyproject.toml` that are used to +publish, etc... + +To run the just the server for development: + +.. code-block:: bash + + $ burr --dev-mode --no-open # will run the server on port 7241 + +To publish -- this will build the FE + publish the BE to the ``pypi`` prod instance. Note you have to have ``pypi`` credentials to do this: + +.. code-block:: bash + + $ burr-admin-publish --prod + +To generate the demo data (if you make a change to the schema, ideally forward-compatible): + +.. code-block:: bash + + $ burr-admin-generate-demo-data + +Not part of the CLI (yet), but running just the UI is simple: + +.. code-block:: bash + + $ cd burr/ui + $ npm run start + +Package data +------------ + +Several static assets are included in the python package so we can run the UI. Namely: + +1. The `examples` directory is symlinked from ``burr/examples`` to allow for package-style imports +2. The `build/` directory is symlinked from ``burr/tracking/server`` to allow for static assets referred to by the server to be included in the package. Note that this does not get committed -- this requires use of the CLI above.