-
Notifications
You must be signed in to change notification settings - Fork 0
19_Developer_Onboarding
Welcome to the BioPro team! We are building a professional platform for scientific workflows. As we are currently in Beta, we use a modern, fast, and test-driven stack.
This guide will get you from zero to executing your first test suite in minutes.
Before you start, make sure you have the following installed on your machine:
- Python 3.10+
-
uv: Our ultra-fast Python package manager. (Install via
curl -LsSf https://astral.sh/uv/install.sh | shorbrew install uv) - Git
All our plugin and core repositories use standardized uv environments.
# Clone the repository you are assigned to (e.g., cytometrics plugin)
git clone https://github.com/KalaimaranB/BioPro-cytometrics.git
cd BioPro-cytometrics
# Sync the environment instantly with uv
uv syncThis automatically sets up a sandboxed .venv with the BioPro SDK and all testing tools.
BioPro relies on a strict Trust System. You do not need access to the production "Project Keys" to do your work. Instead, you will generate a local development identity.
Activate your environment and run the SDK initializer:
uv run biopro sdk init-identityThis generates a personal dev_cert.bin in your ~/.biopro/ directory. You will use this to sign your local builds for testing.
We adhere strictly to SOLID principles and TDD.
-
Write the Test First: Open the
tests/directory and write a failing test for your new feature. -
Run Tests:
uv run pytest
- Implement: Write the minimal code to pass the test.
-
Evaluate SDK Compliance: Before committing, ensure your plugin meets all structural requirements:
uv run biopro sdk evaluate .
We use a Project Identity Model for production releases. This means:
- You will NEVER sign a production release locally.
- When your feature is done, push your branch and open a Pull Request (PR) against
main. -
Pre-flight Checks: Our GitHub Actions will automatically run
pytestandbiopro sdk evaluate .. - Code Review: At least one other core team member must approve your PR.
- Merge & Release: Upon merge, the CI/CD pipeline uses the secured Project Key to cryptographically sign the plugin and publish it to the registry.
When you contribute to a plugin, make sure your name is in the manifest.json! We do not use legacy single-author IDs.
Add yourself to the authors array:
"authors": [
{
"name": "Your Name",
"role": "Software Engineer",
"github": "@yourusername"
}
]The BioPro Hub UI parses this array and will display your GitHub avatar on the Plugin Store page.
Happy coding! If you run into issues, ping the maintainers in the team channel.