From 4a45bdfe8e8dbba40d8d8df35bba0a6e67328c9a Mon Sep 17 00:00:00 2001 From: slackline Date: Fri, 22 Sep 2023 10:54:51 +0100 Subject: [PATCH 1/5] Linting README.md and all_documents.md Introduces [pre-commit](https://pre-commit.com) to link Markdown with [markdownlint-cli2](https://github.com/DavidAnson/markdownlint-cli2) and a few other hooks from `pre-commit` (`trailing-whitespace`, `end-of-file-fixer` and `check-yaml`). Line length is set to 120 for `markdownlint-cli2` but ignored for code-blocks and tables. Files with the extension `.md` and `.markdown` are linted. Issues that can be fixed automatically are. `.pre-commit-config.yaml` includes a section to enable [`pre-commit.ci`](https://pre-commit.ci) but this requires linking the organisation to to `pre-commit.ci` and enabling for the repository (I've written a blog post on this the relevant section is [here](https://ns-rse.github.io/posts/pre-commit-ci/#setup)). I can work through linting the existing code base in a separate PR but thought it would be useful to get feedback on the current selection of rules and how happy people are with this before forging ahead. --- .markdownlint-cli2.yaml | 18 ++++++++ .pre-commit-config.yaml | 20 +++++++++ README.md | 94 ++++++++++++++++++++++++++--------------- all_documents.md | 9 +++- 4 files changed, 105 insertions(+), 36 deletions(-) create mode 100644 .markdownlint-cli2.yaml create mode 100644 .pre-commit-config.yaml diff --git a/.markdownlint-cli2.yaml b/.markdownlint-cli2.yaml new file mode 100644 index 0000000..06c7a77 --- /dev/null +++ b/.markdownlint-cli2.yaml @@ -0,0 +1,18 @@ +# Configuration +config: + # MD013 - line-length + line_length: + line_length: 120 + code_blocks: false + tables: false + html: + allowed_elements: + - div + +# Globs +globs: + - "**/*.md" + - "**/*.markdown" + +# Fix any fixable errors +fix: true diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..6eaa9f4 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,20 @@ +repos: + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.4.0 # Use the ref you want to point at + hooks: + - id: trailing-whitespace + types: [yaml, markdown] + - id: end-of-file-fixer + - id: check-yaml + + - repo: https://github.com/DavidAnson/markdownlint-cli2 + rev: v0.10.0 + hooks: + - id: markdownlint-cli2 + args: [] + +ci: + autofix_prs: true + autofix_commit_msg: '[pre-commit.ci] Fixing issues with pre-commit' + autoupdate_schedule: weekly + autoupdate_commit_msg: '[pre-commit.ci] pre-commit-autoupdate' diff --git a/README.md b/README.md index 0274e4d..6f1605b 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ # RSE Competencies Framework -This repository was created from a Software Sustainability Institute Collaborations Workshop 2023 Hack Day. +This repository was created from a Software Sustainability Institute Collaborations Workshop 2023 Hack Day. -The idea is to construct a resource that is for the RSE community and curated by the RSE community. +The idea is to construct a resource that is for the RSE community and curated by the RSE community. **We need your support to get this project to a stage where it can be tested - [see how to contribute](#support-needed)!** @@ -10,30 +10,37 @@ The idea is to construct a resource that is for the RSE community and curated by ![Screenshot of competency visualisations](rse-forge-screenshot.png) -RSE Competencies Toolkit is a resource to support RSEs (Research Software Engineers) in tracking and managing their professional development. It is currently in the early stages of development and we welcome contributions and feedback. +RSE Competencies Toolkit is a resource to support RSEs (Research Software Engineers) in tracking and managing their +professional development. It is currently in the early stages of development and we welcome contributions and feedback. -Note that, while we've focussed on RSE during the early stages of development, this tool can be used for any roles. We plan to extend this to other research roles and welcome contributions and collaboration from anyone working in research, broadly defined. +Note that, while we've focussed on RSE during the early stages of development, this tool can be used for any roles. We +plan to extend this to other research roles and welcome contributions and collaboration from anyone working in research, +broadly defined. RSE Competencies Toolkit comprises: -1. An RSE competency framework, outlining a structured set of skills that are useful when working as an RSE, with examples of how these skills can be demonstrated at different levels of experience. Not all RSEs will or need to have all skills at all levels. +1. An RSE competency framework, outlining a structured set of skills that are useful when working as an RSE, with + examples of how these skills can be demonstrated at different levels of experience. Not all RSEs will or need to have + all skills at all levels. 2. A curated set of training resources, linked to the skills and levels from the competency framework. 3. A tool to visualise and compare different competency profiles. RSE Competencies Toolkit aims to support the following uses: -1. Recording and visualising your competency profile as an individual RSE -2. Comparing competency profiles across a group of RSEs (e.g. to show the commonalities and variety across RSEs doing the same role at the same level at the same organisation, or comparing across organisations) -3. Find high-quality training resources to improve skills in a particular competency -4. Define aspirational competency profiles, illustrate the gap to your current profile and highlight training resources that could help bridge that gap. +1. Recording and visualising your competency profile as an individual RSE. +2. Comparing competency profiles across a group of RSEs (e.g. to show the commonalities and variety across RSEs doing + the same role at the same level at the same organisation, or comparing across organisations). +3. Find high-quality training resources to improve skills in a particular competency. +4. Define aspirational competency profiles, illustrate the gap to your current profile and highlight training resources + that could help bridge that gap. ### Current Status - [x] Initial Research -- [ ] Initial Development <-- We are Here -- [ ] Minimum viable product -- [ ] Alpha Release -- [ ] Feature-Complete Release +- [ ] Initial Development <-- We are Here +- [ ] Minimum viable product +- [ ] Alpha Release +- [ ] Feature-Complete Release ### Support Needed @@ -41,52 +48,65 @@ We need support and feedback in the following areas. Contributions of all sizes #### Defining the skills framework -We have a [draft framework](./_data/skills.json) and a [GitHub issue to track suggestions](https://github.com/RSEToolkit/rse-competencies-toolkit/issues/39). +We have a [draft framework](./_data/skills.json) and a [GitHub issue to track +suggestions](https://github.com/RSEToolkit/rse-competencies-toolkit/issues/39). -If you think skills are missing, needs clarification, or could be reorganised within the framework, please add your feedback to the [GitHub issue to track suggestions](https://github.com/RSEToolkit/rse-competencies-toolkit/issues/39). +If you think skills are missing, needs clarification, or could be reorganised within the framework, please add your +feedback to the [GitHub issue to track suggestions](https://github.com/RSEToolkit/rse-competencies-toolkit/issues/39). #### Defining skill levels -We have a [working document on skill levels](https://docs.google.com/document/d/1syrY4gyaAcNuONK0ANUiHgHcbJ3P9RoqSjy57AjUsuM/edit#heading=h.nlkwx70wrmf). Please add feedback as comments in that document. +We have a [working document on skill +levels](https://docs.google.com/document/d/1syrY4gyaAcNuONK0ANUiHgHcbJ3P9RoqSjy57AjUsuM/edit#heading=h.nlkwx70wrmf). Please +add feedback as comments in that document. #### Developing the website -The [website](https://rsetoolkit.github.io/rse-competencies-toolkit/) is currently a basic proof of concept developed during the CW23 Hack Day. We need support to develop a website that can: -* Show descriptions of all the skills -* Display and link the professional development resources curated for each skill -* Allow people to score their own skills and view their skill wheels +The [website](https://rsetoolkit.github.io/rse-competencies-toolkit/) is currently a basic proof of concept developed +during the CW23 Hack Day. We need support to develop a website that can: + +- Show descriptions of all the skills. +- Display and link the professional development resources curated for each skill. +- Allow people to score their own skills and view their skill wheels. #### Curating professional development resources -We have a file with [resources for professional development](./_data/resources.csv) mapped to skills in the framework. +We have a file with [resources for professional development](./_data/resources.csv) mapped to skills in the framework. -If you would like to suggest resources to add to the collection, please add them to the [GitHub issue on curation](https://github.com/RSEToolkit/rse-competencies-toolkit/issues/44). +If you would like to suggest resources to add to the collection, please add them to the [GitHub issue on +curation](https://github.com/RSEToolkit/rse-competencies-toolkit/issues/44). #### All GitHub issues -Anyone is welcome to contribute suggestions, feedback, and/or PRs to address any open issues. You can also open a new issue if your idea is not yet mentioned anywhere else. +Anyone is welcome to contribute suggestions, feedback, and/or PRs to address any open issues. You can also open a new +issue if your idea is not yet mentioned anywhere else. ### More information + See the [all documents](./all_documents.md) page. ### Project team + See Contributors section below. You can contact the team at [rse-competencies-toolkit@googlegroups.com](mailto:rse-competencies-toolkit@googlegroups.com). ## Built With -This section is intended to list the frameworks and tools you're using to develop this software. Please link to the home page or documentatation in each case. +This section is intended to list the frameworks and tools you're using to develop this software. Please link to the home +page or documentatation in each case. ### Framework references + - [CSCCE Skills Wheel](https://zenodo.org/record/4437294#.ZFO3F-zMIc1) - [BCS SFIA Plus](https://www.bcs.org/it-careers/sfiaplus-it-skills-framework/) - [King's Digital Lab Research Software Careers Learnings](https://zenodo.org/record/2559235) - [RSE Toolkit](https://rsetoolkit.github.io/) ### Website -- [Jekyll](https://jekyllrb.com/) -- [Chart.js](https://www.chartjs.org/) + +- [Jekyll](https://jekyllrb.com/) +- [Chart.js](https://www.chartjs.org/) ## Getting Started for Developers @@ -124,22 +144,25 @@ See [running locally](#running-locally) above. ### Production -Deployed automatically via GitHub actions. +Deployed automatically via GitHub actions. ## Usage To come after the hack day ## License + Unless otherwise specified on particular materials, all material in this repository is licensed as follows: -- Code is licenced under the [3-clause BSD licence](https://opensource.org/license/bsd-3-clause/) -- Documentation, data and other written material is licensed under the [Creative Commons Attribution licence](https://creativecommons.org/licenses/by/4.0/) (CC-BY 4.0) + +- Code is licenced under the [3-clause BSD licence](https://opensource.org/license/bsd-3-clause/). +- Documentation, data and other written material is licensed under the [Creative Commons Attribution + licence](https://creativecommons.org/licenses/by/4.0/) (CC-BY 4.0). ## Citation Please cite this work as follows: -``` +```{bibtex} @article{RSECompetenciesToolkit2023, title={RSE Competencies Toolkit}, author={RSE Competencies Toolkit team}, @@ -149,17 +172,20 @@ Please cite this work as follows: ``` ## Acknowledgements -The initial version of this repository was created during a Software Sustainability Institute Collaborations Workshop 2023 Hack Day. Subsequent development was guided by a number of unconference sessions during RSECon23. + +The initial version of this repository was created during a Software Sustainability Institute Collaborations Workshop +2023 Hack Day. Subsequent development was guided by a number of unconference sessions during RSECon23. ## Contributors + Contributors (in alphabetical order by first name). Collectively the "RSE Competencies Toolkit team". - Aleksandra Nenadic - Aman Goel -- Dave Horsfall -- Diego Alonso Álvarez +- Dave Horsfall +- Diego Alonso Álvarez - Eli Chadwick -- Hannah Williams +- Hannah Williams - Iain Barrass - Lieke de Boer - Martin O’Reilly diff --git a/all_documents.md b/all_documents.md index ebea56c..1760559 100644 --- a/all_documents.md +++ b/all_documents.md @@ -6,15 +6,20 @@ This page tracks the public documents that have been used for community discussi * [Slide deck](https://docs.google.com/presentation/d/10jG8FYFAyKD8FI_MNo9RTqFUHg4A9e5jB_iHpA_Ut3A/edit?usp=sharing) * [Skills framework](./_data/skills.json) -* [Example skill profiles](https://docs.google.com/spreadsheets/d/1M8f9luJrc3w4rz4lD-cEpJUfi6qigh9PBk7Fm5sq_jQ/edit?usp=sharing) (see tabs at the bottom) +* [Example skill + profiles](https://docs.google.com/spreadsheets/d/1M8f9luJrc3w4rz4lD-cEpJUfi6qigh9PBk7Fm5sq_jQ/edit?usp=sharing) (see + tabs at the bottom) * [Resources for professional development](./_data/resources_list.csv) -and the [original resource spreadsheet](https://docs.google.com/spreadsheets/d/1bHagH4hibAlPJ1inuaZMu-0tmNtjXoJeVPzGFwwWh0U/edit?usp=sharing) (not currently matching) +and the [original resource +spreadsheet](https://docs.google.com/spreadsheets/d/1bHagH4hibAlPJ1inuaZMu-0tmNtjXoJeVPzGFwwWh0U/edit?usp=sharing) (not +currently matching) * [Skill levels](https://docs.google.com/document/d/1syrY4gyaAcNuONK0ANUiHgHcbJ3P9RoqSjy57AjUsuM/edit#heading=h.nlkwx70wrmf) * [Issues on the rse-competencies-toolkit repository](https://github.com/RSEToolkit/rse-competencies-toolkit/issues) ## No longer updated ### Collaborations Workshop Hack Day + * [CW23 Hack day report](https://docs.google.com/document/d/1ApTf8RcB86-RXrCJfCUMWDt6kRWSM0wVzBsPMCyhC8g) * [CW23 Hack day presentation](https://docs.google.com/presentation/d/15RBtaJ4W5bUWV7aHrwV0wX7op7hewl3B-w7vj6wieHg/edit#slide=id.g1e2424db41c_2_0) * [CW23 working HackMD document](https://hackmd.io/LwyTCm2LRwahi7yP8M7Brg?both) From a1d23daa2a90330d0884d31b23af1c699014beb4 Mon Sep 17 00:00:00 2001 From: Dave Horsfall Date: Wed, 27 Sep 2023 14:38:21 +0100 Subject: [PATCH 2/5] testing pre-commit linting --- 404.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/404.html b/404.html index c4ea661..8d54b0e 100644 --- a/404.html +++ b/404.html @@ -4,4 +4,4 @@ title: Page not found category: Error 404 --- -The requested page could not be found \ No newline at end of file +The requested page could not be found From f72f87fbbf5ed7c6f1de9acc5422e90a5ddcc453 Mon Sep 17 00:00:00 2001 From: Dave Horsfall Date: Wed, 27 Sep 2023 14:39:37 +0100 Subject: [PATCH 3/5] testing pre-commit linting --- 404.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/404.html b/404.html index 8d54b0e..adbfac8 100644 --- a/404.html +++ b/404.html @@ -4,4 +4,4 @@ title: Page not found category: Error 404 --- -The requested page could not be found +The requested page could not be found From d840824bae01a4ee26ddbed8b188b4555af41dda Mon Sep 17 00:00:00 2001 From: Dave Horsfall Date: Wed, 27 Sep 2023 14:43:13 +0100 Subject: [PATCH 4/5] testing pre-commit linting --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 6eaa9f4..769a8a1 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -11,7 +11,7 @@ repos: rev: v0.10.0 hooks: - id: markdownlint-cli2 - args: [] + args: [] ci: autofix_prs: true From e7bff78382f0c4d3619c995db4cdfcc17c703b9a Mon Sep 17 00:00:00 2001 From: Dave Horsfall Date: Wed, 27 Sep 2023 14:43:47 +0100 Subject: [PATCH 5/5] testing pre-commit linting --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 769a8a1..6eaa9f4 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -11,7 +11,7 @@ repos: rev: v0.10.0 hooks: - id: markdownlint-cli2 - args: [] + args: [] ci: autofix_prs: true