Skip to content

Latest commit

 

History

History
76 lines (50 loc) · 3.23 KB

File metadata and controls

76 lines (50 loc) · 3.23 KB

Contributing to Allen Institute for Cell Science Open Source

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.

Code of Conduct

By participating in this project, you are expected to uphold our Code of Conduct.

Project Documentation

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.

Firebase Overview

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.

Collections Used by cellPACK Studio

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 configs collection is managed by the backend. Scheduled cleanup of job_status is run by this repo via .github/workflows/cleanup.yml (see scripts/cleanup.ts). For the complete database schema, see FIREBASE_SCHEMA.md.

Getting Access

  • Development: Create your own Firebase project in test mode. See Firebase Firestore tutorial.
  • Staging: Contact the code owner for credentials, then configure your .env file.

How to Contribute

Typical steps to contribute:

  1. Fork the repo on GitHub.

  2. Create a branch and make your edits on your branch, pushing back to your fork.

  3. Ensure that your changes are working, pass any linting and tests in the project. Add tests and documentation as needed.

  4. Submit a pull request to merge your fork's branch into this repository, via GitHub.

Deployment

Staging deployment

Automatically builds from main

Production deployment

Make sure the main branch is checked out and all desired changes are merged. Then:

  1. Make a new version: bun pm version [patch/minor/major] -- this will give you the new tag, e.g., 1.3.2
  2. Push the new package.json version: git push origin main
  3. Push the new tag: git push origin [NEW_TAG] -- e.g. git push origin v1.3.2
  4. Write up release notes.
    • Select the tag
    • Click "generate release notes"
    • Use this template to summarize changes (delete any categories that aren't relevant)

Questions or Thoughts?

Talk to us on one of our community forums.