0.0
There's a lot of open issues
No release in over a year
RubyGem for the HDI way of working.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

~> 1.13
~> 3.1
~> 1.2
 Project Readme

HDI Engineering Way of Working

Contributor Covenant Keep a Changelog v1.1.0 badge Gem Version
MegaLinter Inclusive Language WCAG 2.1 AA WCAG 2.1 AAA

Introduction

This framework will describe a consistent, high-quality approach to Software Engineering at HDI.

It is an opinionated approach intending to support rapid development, across numerous projects, by a fungible workforce who can swap between assignments with the minimum friction.

It builds on the twelve-factor app methodology and is intended to be compatible with the NHS Digital Software Engineering Quality Framework and other frameworks like the GDS Way.

The most significant difference here is that we will be opinionated and make technological and process choices. Everyone is encouraged to discuss and submit Pull Requests (PRs) if they want changes to the choices made, but by making those choices, we can automate many tedious background tasks that are currently manual.

It consists of a GitHub Pages website, available at https://healthdatainsight.github.io/way_of_working, and command line tool.

Installation

Install the gem and add to the application's Gemfile by executing:

bundle add way_of_working

If bundler is not being used to manage dependencies, install the gem by executing:

gem install way_of_working

Usage

Changelog

To add a keep a changelog v1.1.0 changelog to your project, use the following at the command line:

way_of_working init changelog

Code Of Conduct

To add a Contributor Covenant Code of Conduct v2.1 to your project, use the following at the command line:

way_of_working init code_of_conduct --contact-method [CONTACT METHOD]

You will need to enter a contact method, usually an email address. Please thoroughly read the enforcement guidelines section of the code and discuss the implications of adopting the code of conduct.

Decision Records

To add the Markdown Any Decision Records (MADR) v3.0.0 framework to your project, run the following at the command line:

way_of_working init decision_record

To create a new decision record, run:

way_of_working new decision_record [NAME]

Where [NAME] is the title of your decision record, for example:

way_of_working new decision_record "Use Markdown Any Decision Records"

Inclusive Language

To add alex to your project, run the following at the command line:

way_of_working init inclusive_language

to run alex in your project, run:

way_of_working exec inclusive_language

Linter

To add MegaLinter to your project, run the following at the command line:

way_of_working init linter

to run MegaLinter in your project, run:

way_of_working exec linter

Initialise All Components

To add all the Way of Working components to your project, run:

way_of_working init all --contact-method [CONTACT METHOD]

Providing the Code of Conduct [CONTACT METHOD] described above.

Help

More help on using the command line tool is found by using:

way_of_working help

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake test to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment. This RubyGem was created using bundle gem --exe way_of_working.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and the created tag, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/HealthDataInsight/way_of_working. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the code of conduct.

License

The gem is available as open source under the terms of the MIT License.

Code of Conduct

Everyone interacting in the WayOfWorking project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.