Skip to content

Conversation

ivanmilevtues
Copy link

Overview:

    This PR proposes the integration of high-level codebase diagrams into the AllenSDK documentation. The underlying problem is that new contributors, particularly scientists, often face a steep learning curve when trying to grasp the overall architecture and interdependencies within the AllenSDK project, which can significantly delay their ability to contribute effectively.

Addresses:

  

Type of Fix:

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation Change
      

Solution:

    The proposed solution is to integrate high-level diagrams that visually represent the key components and their relationships within the AllenSDK codebase. These diagrams aim to provide a quick, intuitive overview, enabling users to gain essential context of the full system before diving into specific modules or functionalities. This addresses the problem by significantly reducing the cognitive load and time required for initial codebase comprehension. We also offer a GitHub Action to automatically keep these diagrams up-to-date, ensuring their continued accuracy.

Changes:

  • Proposing the addition of a new documentation section for codebase diagrams.

Validation:

    As this is a proposal for new documentation, the validation is primarily conceptual and based on external examples demonstrating the utility of such diagrams.

Screenshots:

You can see how the diagrams render here: https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/AllenSDK/on_boarding.md

Unit Tests:

  N/A (Documentation proposal)

Script to reproduce error and fix:

  N/A (Documentation proposal)

Configuration details:

  N/A (Documentation proposal)
  

Checklist

  • My code follows
          Allen Institute Contribution Guidelines
  • My code is unit tested and does not decrease test coverage
  • I have performed a self review of my own code
  • My code is well-documented, and the docstrings conform to
          Numpy Standards
  • I have updated the documentation of the repository where
          appropriate (This PR proposes new documentation)
  • The header on my commit includes the issue number
  • My Pull Request has the latest AllenSDK release candidate branch
          rc/x.y.z as its merge target
  • My code passes all AllenSDK tests
      
      # Notes:
        We are very keen to connect with the Allen Institute team regarding the potential utility of such diagrams into the existing AllenSDK onboarding process. We believe this could significantly benefit new and existing contributors. Full disclosure: we are exploring the possibility of turning this into a startup, but we are in very early stages and are focused on understanding what genuinely provides value.

@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


imilev seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

@ivanmilevtues
Copy link
Author

Hey, a quick update on our side, this week we released our diagram generaiton engine as an open-source project! If you are interested to see more on how the generation works you can do so at https://github.com/CodeBoarding/CodeBoarding

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.

2 participants