Get Started contributing to caMicroscope

caMicroscope is an open-source distributed platform, and we welcome contributions from the community. Before you start contributing, here are some important guidelines and information to help you get involved.

Getting Started

  1. Code Repository: Our development occurs in various repositories. The best place to start is the distribution repository, which contains a docker-compose container manifest for easy platform deployment. For development purposes, we also provide a special manifest, develop.yml, which disables some security features and uses edge code.

  2. Using the UI: You can interact with caMicroscope through the user interface, which defaults to port 4010. Use this UI to load and explore images.

Development Workflow

We follow the GitHub Flow for code changes, which means all changes happen through pull requests. Here's a step-by-step guide to our development process:

  1. Fork the Repository: To get started, fork the repository you want to contribute to. This will create a copy in your own GitHub account.

  2. Create a Branch: For each contribution, create a new branch from the main repository. Use a descriptive name that explains your change.

  3. Make Changes: Make the necessary code changes, following our coding standards and guidelines.

  4. Testing: Ensure your changes are thoroughly tested. Provide test cases if applicable.

  5. Create a Pull Request: Once your changes are ready, open a pull request against the original repository's main branch. Write a clear description of the changes you've made.

  6. Code Review: Our team will review your pull request. Be prepared to address feedback and make necessary adjustments.

  7. Merge: Once your pull request is approved, it will be merged into the main repository.

We actively welcome your pull requests. However, we do not typically assign pull requests without a clear reason for a specific person to work on them.

Best Practices

To make your contribution process smoother, consider working on topic branches from your fork of the repository. Keep your master or develop branch up-to-date with the upstream repositories. You can refer to the Triangle Workflows Guide for guidance on using Git this way.

Reporting Issues

If you encounter issues, create issues and pull requests against the most relevant repository where the change should take place. Reporting issues effectively helps us improve caMicroscope. When submitting a bug report, provide as much detail as possible:

Requesting Features

If you have ideas for new features or improvements to caMicroscope, we encourage you to propose them. Clear and well-documented feature proposals help us understand your vision and make informed decisions. When proposing a new feature, follow these guidelines:

Contribution Guidelines

To ensure that your contributions align with our project's goals and meet our standards, please review our community guide. These guidelines cover topics like coding standards, testing, and the review process.

Code of Conduct

We have a Code of Conduct in place to create a respectful and inclusive environment for all contributors. Please read and adhere to the Code of Conduct when participating in caMicroscope development.

Software Project Roadmap

The Roadmap Document higlights an overall plan for the future of caMicroscope is a good place to learn about which kinds of support are most needed.

Licensing

caMicroscope is licensed under the open source BSD 3-Clause License unless otherwise specified in a repository, and contributions are subject to the same license terms. Make sure you are comfortable with the licensing terms before contributing.

Recognition

We appreciate and recognize the contributions of our community members. Notable contributors may be acknowledged on our website or in project documentation.

Thank you for considering contributing to caMicroscope. Your contributions are valuable and help advance our mission in medical research. If you have any questions or need assistance, feel free to reach out to our community group.

We look forward to working with you!