For an overview of Aquascope's structure, please refer yourself to the ARCHITECTURE.md. To manage style we use the committed rustfmt file and the pre-commit
utility. Please follow the installation instructions there and then run pre-commit install
to locally install the git hook scripts.
End-to-end testing is done with snapshot testing via insta. Use cargo insta test
to run all tests. When possible, write local tests for functionality. New snapshot tests can be included by adding a .test
file in the crates/aquascope/tests/(steps|boundaries|interpreter)
directories.
To see the full permissions analysis and get all debug output start a server with cargo make watch
. Then, start an instance of the frontend by running depot build -w
from the frontend
directory. The page is served on localhost:5173
.
Please ask questions on our discussion board! Or file an issue.
- good first issue Great for dipping your toes in the water.
- big project These are changes or features that will take a bit of work. Many issues labeled with this also require some sort of interface design, so please start a discussion if you're interested.
- bug An unexpected behavior according to the semantics of the permissions model (also commonly a UI bug). These vary in difficulty, tell us if you're interested and ask questions if you get stuck.