Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: roadmap #162

Open
wants to merge 8 commits into
base: main
Choose a base branch
from
Open

feat: roadmap #162

wants to merge 8 commits into from

Conversation

cmeesters
Copy link
Member

@cmeesters cmeesters commented Oct 11, 2024

we need a public roadmap

Summary by CodeRabbit

  • New Features

    • Updated the README.md for clearer guidance on participation and resources.
    • Enhanced the Roadmap.md with planned features and timelines, including systematic parallel execution and benchmarking.
  • Documentation

    • Improved the onboarding experience by rephrasing sections for better readability.
    • Added a roadmap link for visibility of ongoing developments.

Copy link
Contributor

coderabbitai bot commented Oct 11, 2024

Walkthrough

The pull request updates the README.md and Roadmap.md files for the Snakemake Teaching Alliance repository. The README.md file enhances clarity, encourages participation, and introduces a roadmap link, while the Roadmap.md file details planned features and enhancements, including systematic parallel execution and benchmarking timelines. These changes aim to improve onboarding and provide clearer guidance on project participation and future developments.

Changes

File Change Summary
README.md Updated content for clarity, modified "Progress" section to encourage participation, removed TODO command, added roadmap link, rephrased "Getting started / Onboarding", "Rendering Slides" section largely unchanged, "LaTeX specialities" section remains the same.
Roadmap.md Added planned features and enhancements: systematic parallel execution, benchmarking, Task(s) as Parson problems marked as completed, job grouping with task settings, more configurations for Parson problem tasks, remote files, MPI examples, LSF support, scatter-gather rules, SLURM/LSF-job arrays, pool jobs, demonstration of stage-in procedure.

Possibly related PRs

  • fix: handout URL #126 #136: Changes in the README.md file regarding the handout version of slide sets may relate to updates in the README.md of this PR, which also enhances clarity and provides additional information about resources.
  • feat: central software path #138: The updates to the config/config_Mainz_NHR.yaml file, which include changes to course setup and resource paths, may connect to the overall improvements in onboarding and resource clarity mentioned in the main PR.
  • fix: re-shuffled slide deck to better introduce the coding scenario a… #146: The reorganization of slides in this PR aims to improve the flow of information, which aligns with the main PR's goal of enhancing clarity and guidance in the educational materials.
  • fix: various2 #150: This PR focuses on minor fixes that likely contribute to the overall clarity and usability of the teaching materials, similar to the objectives of the main PR.
  • fix: overhaul #155: The minor adjustments in this PR may also relate to the overall goal of improving documentation and clarity in the teaching materials, as highlighted in the main PR.

Suggested reviewers

  • lukashellmann

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (7)
Roadmap.md (5)

1-2: Consider adding an introduction to the roadmap.

The roadmap title is clear, but it might be helpful to add a brief introduction explaining the purpose of this roadmap and how it relates to the project's goals. This context can help users and contributors better understand the project's direction.

Consider adding a short paragraph after the title, like this:

# Roadmap

This roadmap outlines the planned features and enhancements for the Snakemake Teaching Alliance project. It provides an overview of our upcoming work and helps align our efforts with the project's goals.

5-5: Clarify the status of "Task(s) as Parson problems"

This item is marked with [*] instead of [ ]. It's unclear if this means the feature is partially implemented or in progress. Consider using a consistent checkbox format and clarify the current status of this feature.

You could update it to something like:

- [x] Task(s) as Parson problems - implemented in PR #158, ongoing refinements

7-7: Add more details to "more Parson problem task settings"

This item is vague and lacks an implementation timeline. Consider adding more specifics about what settings will be added and when they are planned to be implemented.

You could update it to something like:

- [ ] Enhance Parson problem task settings (e.g., difficulty levels, time limits) - to be implemented by Nov 24

8-8: Set a tentative date for "remote files" implementation

While it's understandable that some features might not have a set date, it's helpful for project planning to have at least a tentative timeline. Consider adding a rough estimate or a "TBD" (To Be Determined) marker.

You could update it to something like:

- [ ] Implement support for remote files - tentative implementation Q1 2025 (TBD)

1-10: Roadmap successfully established with clear future directions

The roadmap effectively addresses the PR objective of establishing a public roadmap for the project. It provides a clear overview of upcoming features and enhancements, which will greatly improve transparency and guide future developments.

To further enhance the roadmap:

  1. Consider adding a brief introduction to provide context.
  2. Ensure consistency in item formatting and status indicators.
  3. Add more details or tentative dates to vague items.

These minor improvements will make the roadmap even more effective in communicating the project's future direction to users and contributors.

README.md (2)

61-63: Approved changes with a minor suggestion for the roadmap link.

The updates to the "Progress" section are clear and informative. They provide better guidance on how to get involved and introduce the roadmap, which enhances transparency.

Consider updating the roadmap link to use relative path for better maintainability:

-To get an idea of our roadmap, [take a look at it](https://github.com/cmeesters/snakemake-hpc-teaching-material/Roadmap.md).
+To get an idea of our roadmap, [take a look at it](Roadmap.md).

This change ensures the link remains valid even if the repository is moved or forked.

🧰 Tools
🪛 LanguageTool

[style] ~61-~61: ‘on a regular basis’ might be wordy. Consider a shorter alternative.
Context: ...s. We have an internal roadmap and meet on a regular basis (online). To get an idea of our roadma...

(EN_WORDINESS_PREMIUM_ON_A_REGULAR_BASIS)


Line range hint 85-89: Excellent addition of the "For Teachers" section with a minor suggestion.

The new "For Teachers" section is a valuable addition, providing clear information for those interested in hosting or teaching the course. This enhances the project's outreach and collaboration potential.

Consider updating the link to use a relative path for better maintainability:

-Everyone who wants to teach the course will find more information [here](https://github.com/cmeesters/snakemake-hpc-teaching-material/Teaching_Elsewhere.md).
+Everyone who wants to teach the course will find more information [here](Teaching_Elsewhere.md).

This change ensures the link remains valid even if the repository is moved or forked.

🧰 Tools
🪛 LanguageTool

[style] ~61-~61: ‘on a regular basis’ might be wordy. Consider a shorter alternative.
Context: ...s. We have an internal roadmap and meet on a regular basis (online). To get an idea of our roadma...

(EN_WORDINESS_PREMIUM_ON_A_REGULAR_BASIS)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between b03cf41 and 48f10d3.

📒 Files selected for processing (2)
  • README.md (1 hunks)
  • Roadmap.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
README.md

[style] ~61-~61: ‘on a regular basis’ might be wordy. Consider a shorter alternative.
Context: ...s. We have an internal roadmap and meet on a regular basis (online). To get an idea of our roadma...

(EN_WORDINESS_PREMIUM_ON_A_REGULAR_BASIS)

🔇 Additional comments (1)
README.md (1)

Line range hint 1-89: Overall, excellent updates to the README.md file.

The changes made to this file enhance its clarity, provide more information about participation, and introduce the roadmap and teaching opportunities. These updates will likely improve the onboarding experience for new contributors and expand the project's reach.

The only suggestions made were minor improvements to use relative links for better maintainability. Great job on these updates!

🧰 Tools
🪛 LanguageTool

[style] ~61-~61: ‘on a regular basis’ might be wordy. Consider a shorter alternative.
Context: ...s. We have an internal roadmap and meet on a regular basis (online). To get an idea of our roadma...

(EN_WORDINESS_PREMIUM_ON_A_REGULAR_BASIS)

Copy link
Contributor

github-actions bot commented Oct 11, 2024

Artifacts

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Outside diff range and nitpick comments (2)
Roadmap.md (2)

1-5: LGTM! Consider adding a brief introduction.

The roadmap structure is clear and informative. The use of checkboxes and specific implementation dates for the first two items provides good transparency. The reference to a completed item with its associated PR is helpful.

Consider adding a brief introduction paragraph after the title to provide context for the roadmap. For example:

# Roadmap

This roadmap outlines the planned features and enhancements for our project. Items are listed with their implementation status and, where applicable, target dates.

- [ ] introducing parallel execution ...

6-10: Good variety of planned features. Consider enhancing clarity and consistency.

The roadmap items cover a wide range of features and enhancements, which is great for providing a comprehensive view of the project's future. The mix of dated and undated items allows for both structure and flexibility.

To improve clarity and consistency, consider the following suggestions:

  1. Use consistent date formatting. For example:

    - [ ] group jobs vs. wrappers with task setting - Oct 2024
    - [ ] MPI-examples with task - Dec 2024
  2. For items without dates, consider adding a priority or status:

    - [ ] remote files - no date set (medium priority)
    - [ ] publishing workflows - no date set (under discussion)
  3. Where applicable, link to relevant issues or discussions for more context:

    - [ ] more Parson problem task settings (see issue #XX for details)
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between 48f10d3 and 0dfbe5d.

📒 Files selected for processing (1)
  • Roadmap.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
Roadmap.md

[grammar] ~12-~12: It appears that a hyphen is missing in the noun “to-do” (= task) or did you mean the verb “to do”?
Context: ...hich in parts reflect a "wish-list" and todo items.

(TO_DO_HYPHEN)

🔇 Additional comments (1)
Roadmap.md (1)

1-12: Overall, excellent addition of a project roadmap!

This roadmap provides a clear and informative overview of the project's planned features and enhancements. It effectively communicates both short-term and long-term goals, which will be valuable for both contributors and users of the project.

The use of checkboxes, specific dates for some items, and the reference to completed work (PR #158) all contribute to a well-structured and transparent planning document. The variety of items covered demonstrates a comprehensive approach to project development.

The minor suggestions provided in the previous comments (adding an introduction, enhancing consistency in date formatting, and improving the final note) will further refine this already strong roadmap.

Great job on prioritizing project transparency and planning!

🧰 Tools
🪛 LanguageTool

[grammar] ~12-~12: It appears that a hyphen is missing in the noun “to-do” (= task) or did you mean the verb “to do”?
Context: ...hich in parts reflect a "wish-list" and todo items.

(TO_DO_HYPHEN)

Roadmap.md Outdated
- [ ] MPI-examples with task - Dec24
- [ ] publishing workflows - no date set

Note: we also have issue which in parts reflect a "wish-list" and todo items.
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Improve grammar and clarity in the final note.

The note provides valuable information about additional project planning resources. However, there are a few improvements that can be made:

  1. The term "todo" should be hyphenated as "to-do" for correct grammar.
  2. The sentence structure can be improved for clarity.

Here's a suggested revision:

Note: We also have issues that reflect additional "wish-list" items and to-do tasks for the project.

This revision:

  • Corrects the grammar by using "to-do"
  • Improves clarity by restructuring the sentence
  • Maintains the essential information about additional planning resources
🧰 Tools
🪛 LanguageTool

[grammar] ~12-~12: It appears that a hyphen is missing in the noun “to-do” (= task) or did you mean the verb “to do”?
Context: ...hich in parts reflect a "wish-list" and todo items.

(TO_DO_HYPHEN)

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Outside diff range and nitpick comments (1)
Roadmap.md (1)

1-16: Overall assessment: Good foundation with room for improvement

The introduction of this roadmap is a valuable addition to the project, providing transparency and guidance for future developments. It covers a wide range of planned features and enhancements, which is commendable.

To further improve its effectiveness:

  1. Implement the suggested formatting and consistency improvements for the roadmap items.
  2. Consider adding more context or brief explanations for technical terms to make the roadmap more accessible to a wider audience.
  3. Apply the grammar and clarity improvements to the final note.

These enhancements will make the roadmap even more clear and useful for both contributors and users, aligning well with the PR objective of establishing a public roadmap for the project.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between 0dfbe5d and 3d29dba.

📒 Files selected for processing (1)
  • Roadmap.md (1 hunks)
🧰 Additional context used
🔇 Additional comments (2)
Roadmap.md (2)

1-2: LGTM: Clear title and appropriate format

The "# Roadmap" title is clear and concise. The use of a markdown list with checkboxes is an excellent choice for presenting the roadmap items, allowing for easy tracking of completed and pending tasks.


16-16: Improve grammar and clarity in the final note

The note provides valuable information about additional project planning resources. However, there are a few improvements that can be made to enhance clarity and correct grammar:

  1. The term "todo" should be hyphenated as "to-do" for correct grammar.
  2. The sentence structure can be improved for clarity.

Here's a suggested revision:

Note: We also have issues that reflect additional "wish-list" items and to-do tasks for the project.

This revision:

  • Corrects the grammar by using "to-do"
  • Improves clarity by restructuring the sentence
  • Maintains the essential information about additional planning resources

Roadmap.md Outdated
Comment on lines 3 to 14
- [ ] introducing parallel execution (systematically) `threads` and more - to be implemented Oct/Nov 24
- [ ] benchmarking - to be implemented Oct/Nov 24
- [x] Task(s) as Parson problems - first introduced in PR #158
- [ ] group jobs vs. wrappers with task setting Oct24
- [ ] more Parson problem task settings
- [ ] remote files - no date set
- [ ] MPI-examples with task - Dec24
- [ ] publishing workflows - no date set
- [ ] introducing scatter-gather rules - Jan/Feb 2025
- [ ] introducing SLURM/LSF-job arrays - no date set (feature not present in plugins, yet)
- [ ] introducing pool-Jobs - no date set (feature not present in plugins, yet)
- [ ] demonstration of stage-in procedure - no date set (patch pending)
Copy link
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Enhance consistency and clarity in roadmap items

The roadmap provides a good overview of planned features and enhancements. However, there are some inconsistencies in formatting and level of detail. Consider the following suggestions to improve clarity and consistency:

  1. Use consistent date formatting: Some items use "Oct/Nov 24" while others use "Dec24" or "Jan/Feb 2025". Standardize the format, e.g., "Oct/Nov 2024", "Dec 2024", "Jan/Feb 2025".

  2. Provide more context for technical terms: For items like "scatter-gather rules", "SLURM/LSF-job arrays", and "pool-Jobs", consider adding a brief explanation or link to documentation for those unfamiliar with these concepts.

  3. Use consistent capitalization: Some items start with lowercase letters (e.g., "introducing parallel execution") while others use title case (e.g., "Task(s) as Parson problems"). Choose one style and apply it consistently.

  4. Add more detail to vague items: For entries like "more Parson problem task settings" and "remote files", consider adding a brief description of what these entail or what problems they aim to solve.

  5. Group related items: Consider grouping related items together, such as all items related to job management or parallel execution.

Here's an example of how you might revise the first few items:

- [ ] Introduce systematic parallel execution:
  - Implement `threads` and other parallelization methods (Oct/Nov 2024)
  - Introduce scatter-gather rules (Jan/Feb 2025)
  - Implement SLURM/LSF-job arrays (date TBD, awaiting plugin support)
  - Implement pool-Jobs (date TBD, awaiting plugin support)
- [ ] Conduct benchmarking (Oct/Nov 2024)
- [x] Implement Task(s) as Parson problems (completed in PR #158)
- [ ] Enhance job management:
  - Group jobs vs. wrappers with task setting (Oct 2024)
  - Demonstrate stage-in procedure (date TBD, patch pending)

This structure provides more clarity and groups related items together.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Outside diff range and nitpick comments (2)
Roadmap.md (2)

1-2: Consider adding an introduction to the roadmap.

While the title "Roadmap" is clear, it would be helpful to provide a brief introduction explaining the purpose and scope of this roadmap. This context can help readers understand the project's direction and the significance of the listed items.

Consider adding a brief introduction after the title, for example:

# Roadmap

This roadmap outlines the planned features and enhancements for the Snakemake Teaching Alliance project. It provides an overview of our short-term and long-term goals, helping contributors and users understand the project's direction.

3-15: Enhance clarity and provide context for roadmap items.

To make the roadmap more informative and accessible to all readers, consider the following suggestions:

  1. Provide brief explanations or links for technical terms. This will help newcomers understand the roadmap better.
  2. Add more context to vague items, explaining their purpose or the problem they aim to solve.

Here are some examples of how you could improve specific items:

- [ ] Introduce scatter-gather rules (Jan/Feb 2025)
      (Explanation: This feature will allow for more efficient distribution and collection of data in parallel workflows)

- [ ] Implement pool-Jobs (Date TBD - awaiting plugin support)
      (Explanation: Pool-Jobs will enable better resource management by allowing jobs to share a common pool of resources)

- [ ] Integrate remote files functionality (Date TBD)
      (Purpose: To allow workflows to seamlessly work with files stored on remote systems, improving flexibility for distributed computing environments)

Adding these explanations will make the roadmap more informative and easier to understand for all stakeholders.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between 3d29dba and c9e7b73.

📒 Files selected for processing (1)
  • Roadmap.md (1 hunks)
🧰 Additional context used
🔇 Additional comments (1)
Roadmap.md (1)

17-17: ⚠️ Potential issue

Improve grammar and clarity in the final note.

The note provides valuable information about additional project planning resources. However, there are a few improvements that can be made to enhance clarity and correct grammar:

  1. The term "todo" should be hyphenated as "to-do" for correct grammar.
  2. The sentence structure can be improved for clarity.

Here's a suggested revision:

Note: We also have issues that reflect additional "wish-list" items and to-do tasks for the project.

This revision:

  • Corrects the grammar by using "to-do"
  • Improves clarity by restructuring the sentence
  • Maintains the essential information about additional planning resources

Comment on lines +3 to +15
- [ ] introducing parallel execution (systematically) `threads` and more - to be implemented Oct/Nov 24
- [ ] benchmarking - to be implemented Oct/Nov 24
- [x] Task(s) as Parson problems - first introduced in PR #158
- [ ] group jobs vs. wrappers with task setting Oct24
- [ ] more Parson problem task settings
- [ ] remote files - no date set
- [ ] MPI-examples with task - Dec24
- [ ] publishing workflows - no date set
- [ ] LSF support - March 2025, after Snakemake Hackathon
- [ ] introducing scatter-gather rules - Jan/Feb 2025
- [ ] introducing SLURM/LSF-job arrays - no date set (feature not present in plugins, yet)
- [ ] introducing pool-Jobs - no date set (feature not present in plugins, yet)
- [ ] demonstration of stage-in procedure - no date set (patch pending)
Copy link
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Improve consistency in formatting and structure of roadmap items.

There are several inconsistencies in the formatting of roadmap items that could be addressed to improve readability and clarity:

  1. Date formatting: Standardize the date format across all items. For example, use "Oct/Nov 2024" instead of "Oct/Nov 24" or "Dec24".
  2. Capitalization: Use consistent capitalization for item descriptions. Consider using sentence case for all items.
  3. Task status: While some items use checkboxes ([ ] or [x]), others don't. Consider using checkboxes consistently for all items.
  4. Level of detail: Some items have more context than others. Try to provide a consistent level of detail across all items.

Here's an example of how you could revise the first few items for consistency:

- [ ] Introduce systematic parallel execution:
  - Implement `threads` and other parallelization methods (Oct/Nov 2024)
  - Introduce scatter-gather rules (Jan/Feb 2025)
  - Implement SLURM/LSF-job arrays (Date TBD - awaiting plugin support)
  - Implement pool-Jobs (Date TBD - awaiting plugin support)
- [ ] Conduct benchmarking (Oct/Nov 2024)
- [x] Implement Task(s) as Parson problems (Completed in PR #158)
- [ ] Enhance job management:
  - Group jobs vs. wrappers with task setting (Oct 2024)
  - Demonstrate stage-in procedure (Date TBD - patch pending)

This structure provides more consistency and groups related items together.

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.

1 participant