A command line tool for Open Source Hardware (OSH) technical project linting (quality assessment).
Download binaries (latest build, Linux & Windows, 64bit)
What it can do:
- Check for (non standardized) OSH project design compliance
- Create human-readable reports
- Create machine-readable reports
To be used at the top of a README:
Two sample hardware projects, using this tool to check their own Open Source'ness with the help of this tool, executed in CI. The generated report is linked to form the README in a badge (image after the title) with the text "OSH Report".
CI Type | Sample Project Hosting | Generated Report | CI Script |
---|---|---|---|
GitHub Actions | https://github.com/hoijui/MeditationBench | Generated Report | .github/workflows/check.yml |
GitHub Actions 2 | https://github.com/osegermany/AgroCircle | Generated Report | .github/workflows/check.yml |
GitLab CI | https://gitlab.com/OSEGermany/ohloom | Generated Report | .gitlab-ci.yml |
So far, It may only check/lint OSH projects, while later it is supposed to also initialize them with all sorts of standard files and tooling.
See src/checks for the currently supported checks, including at least:
- Check README existence
- Check LICENSE existence
- Check okh.toml (Open Know-How OSH meta-data file) existence
To compile:
- Nim and Nimble, version 0.10.0 or higher
# Fetch the whole source code
git submodule update --init --recursive
# Latest released version
nimble install osh
# Latest developmental state inside git repository
nimble install osh@#head
For example when using a local git clone.
nimble build
./osh --help
Simply run osh -h
to see usage information.
For more details how to use it locally and on CI/build-bot, see the user documentation.
Ask anything as an issue!
We are not just standing on the shoulders of giants, but also toe on toe with them!
These are two of our big sister projects. They are similar both in spirit and in the way they are used on the command-line. They also work well in combination with this tool.
GNU Affero General Public License version 3
This project was funded by:
-
the European Union's Horizon 2020 research and innovation program, under grant agreement no. 869984, in the context of the OPEN!NEXT Project, from June 2021 (project start) until November 2021.
-
the European Regional Development Fund (ERDF) in the context of the INTERFACER Project, from December 2021 until March 2023.