Skip to content

Conversation

@gbeane
Copy link
Collaborator

@gbeane gbeane commented Dec 30, 2025

Add Developer Documentation (CONTRIBUTING.md and DEVELOPMENT.md)

Summary

This PR adds comprehensive developer documentation split into two files:

  • CONTRIBUTING.md - Quick-start contributor guide with copyright information
  • DEVELOPMENT.md - Technical documentation covering architecture, setup, and implementation

Key Changes

New Files:

  • CONTRIBUTING.md - Contribution guidelines, copyright assignment, quick setup
  • DEVELOPMENT.md - Comprehensive technical guide (~1,100 lines)

Documentation Highlights:

  • Copyright assignment to The Jackson Laboratory clearly stated
  • Feature extraction system thoroughly documented (architecture, flow, FEATURE_VERSION management)
  • jabs-cli unified CLI explained with future consolidation strategy
  • Pre-commit hooks documented (what they do, how to fix failures)
  • 5-minute quick start guide for new developers

Other Changes:

  • Added --version flag to jabs command
  • Moved matplotlib from test to dev dependency group (only used by dev/ scripts)
  • Fixed type hint in base_group.py (dict[str, type[Feature]])
  • Updated README.md to reference new documentation

Benefits

  • GitHub automatically displays CONTRIBUTING.md to new contributors
  • Clear copyright and license information upfront
  • Extensive feature extraction documentation makes the most complex part of JABS accessible
  • Guidance for future CLI consolidation

Testing

  • ✅ All tests pass
  • ✅ jabs --version works correctly
  • ✅ Pre-commit hooks pass

@gbeane gbeane self-assigned this Dec 30, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds comprehensive developer documentation to JABS, split into CONTRIBUTING.md and DEVELOPMENT.md, along with the addition of a --version flag to the jabs command, improved type hints, and reorganization of the matplotlib dependency.

Key changes:

  • New contributor and developer documentation files with copyright assignment to The Jackson Laboratory
  • Comprehensive technical guide covering feature extraction architecture, FEATURE_VERSION management, and jabs-cli consolidation strategy
  • Added --version flag to jabs command for version information access
  • Fixed type hints across feature extraction modules (dict[str, type[Feature]])

Reviewed changes

Copilot reviewed 12 out of 13 changed files in this pull request and generated no comments.

Show a summary per file
File Description
CONTRIBUTING.md New contributor guide with copyright assignment, quick-start setup, and submission guidelines
docs/DEVELOPMENT.md New comprehensive technical documentation (~1,100 lines) covering architecture, feature extraction, CLI tools, and development workflow
README.md Updated to reference new documentation files and streamline developer setup section
src/jabs/scripts/gui_entrypoint.py Added --version flag and moved argument parsing before QApplication initialization
pyproject.toml Moved matplotlib from test to dev dependency group
src/jabs/feature_extraction/*/group.py Fixed type hint from dict[str, Feature] to dict[str, type[Feature]]
docs/user-guide.md Moved from src/jabs/resources/docs/user_guide/user-guide.md with updated relative paths

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.


We recommend installing JABS in a dedicated Python virtual environment.
This section describes how to install JABS as an end user. Developers should see the
[JABS Development](#jabs-development) section below for instructions on setting up a development environment.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It might not be ready for this PR, but I tested using jabs with uvx and it worked really nicely!

https://docs.astral.sh/uv/guides/tools/#running-tools

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've also used pipx

@gbeane gbeane merged commit 170163b into main Dec 30, 2025
2 checks passed
@gbeane gbeane deleted the add-developer-guide branch December 30, 2025 18:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants