Thank you for your interest in contributing to this Allen Institute for Cell Science open source project! This document is a set of guidelines to help you contribute to this project.
By participating in this project, you are expected to uphold our Code of Conduct.
The README in the root of the repository should contain or link to
project documentation. If you cannot find the documentation you're
looking for, please file a GitHub issue with details of what
you'd like to see documented.
cellPACK Studio reads recipe data from Firebase to render the editor and polls job status during a packing. When a user submits an edited recipe, the client sends the modified recipe as JSON in the packing-request body and the backend processes it directly.
| Collection | What It Does | Access |
|---|---|---|
example_packings |
Maps recipes to UI display names and editable fields | Read |
editable_fields |
Defines which recipe fields users can edit | Read |
recipes |
Full recipe data with references | Read |
objects |
Object definitions (molecules, organelles) | Read |
gradients |
Gradient definitions for spatial distributions | Read |
composition |
Composition definitions | Read |
job_status |
Packing job progress | Poll (read), refresh timestamp, cleanup |
Note: The
configscollection is managed by the backend. Scheduled cleanup ofjob_statusis run by this repo via.github/workflows/cleanup.yml(seescripts/cleanup.ts). For the complete database schema, see FIREBASE_SCHEMA.md.
- Development: Create your own Firebase project in test mode. See Firebase Firestore tutorial.
- Staging: Contact the code owner for credentials, then configure your
.envfile.
Typical steps to contribute:
-
Fork the repo on GitHub.
-
Create a branch and make your edits on your branch, pushing back to your fork.
-
Ensure that your changes are working, pass any linting and tests in the project. Add tests and documentation as needed.
-
Submit a pull request to merge your fork's branch into this repository, via GitHub.
Automatically builds from main
Make sure the main branch is checked out and all desired changes are merged. Then:
- Make a new version:
bun pm version [patch/minor/major]-- this will give you the new tag, e.g.,1.3.2 - Push the new package.json version:
git push origin main - Push the new tag:
git push origin [NEW_TAG]-- e.g.git push origin v1.3.2 - Write up release notes.
- Select the tag
- Click "generate release notes"
- Use this template to summarize changes (delete any categories that aren't relevant)
Talk to us on one of our community forums.