Contributing to siegfried - richardlehane/siegfried GitHub Wiki

Contributing

Community

You can contribute without delving into the code. Assistance with any of the following would be brilliant.

  1. User documentation: guides, screencasts, work on this wiki.

  2. Testing: if you encounter bugs, please report them as issues. If you want a new feature log that there too.

  3. Spread the word: twitter, blog posts, share your experiences using the siegfried tools.

  4. Support PRONOM: develop new signatures, use Ross Spencer's signature development utility, get in touch with the TNA (http://apps.nationalarchives.gov.uk/PRONOM/submitinfo.htm)

Hacking

Pull requests are very welcome.

Upcoming features, planned optimisations and known bugs are documented as issues. Looser planning happens on the trello list.

Tooling

Use gofmt for code formatting.

Use staticcheck for linting.

Style

  • Prefer stdlib to external dependencies: siegfried currently has very few external dependencies. This helps from a simplicity and maintainability perspective. Only use external dependencies if there's a significant feature/performance benefit & it would take significant work to obtain that benefit without the dependency dependency. Prefer external dependencies that are maintained & entail a minimum of indirect dependencies.

  • Comments: add comments to document exported APIs and complex areas of the code.