Skip to content

Latest commit

 

History

History
29 lines (23 loc) · 1.99 KB

CONTRIBUTING.md

File metadata and controls

29 lines (23 loc) · 1.99 KB

hyperglass is primarily maintained by me, Matt Love. This is my first ever open source application, and as such, it's kind of my "baby". When I first started writing hyperglass, I knew nothing about development, Python, Javascript, or Github. I was a network engineer trying to solve a problem and learn a few things while I was at it.

Because I've been solo-maintaining and building hyperglass since around April 2019, I've become pretty particular about things that might seem trivial to someone just trying to help out. While I absolutely welcome development contributions, please don't be offended if pull requests are denied, or if I request things to be done a certain way. To help understand why, here are some of the development design goals for hyperglass:

  • Pristine code quality
    • Black formatting for Python
    • Strict adherence to ESLint/Prettier configs for Javascript/React
    • ZERO linting errors
    • Linting exceptions only used when there is no other way, and should be accompanied with comments about why there is no other way.
  • No hard-coding
    • Anything visible to the end-user must be customizable by the administrator. If it's not, or can't be, leave code or PR comments as to why.
    • This includes things like timeouts, error messages, etc.
  • Mobile & Accessible
    • All UI element must be available on both desktop and mobile devices
    • UI must achieve a 100 Lighthouse/PageInsights score for accessibility
  • IPv6 Support
    • Any new device support must include IPv6 commands
    • All frontend and backend code must support IPv6, both for running the application and processing queries

Branches

The following are the primary branches used for development and release management:

Branch Name Function
main Tagged Stable Releases
develop Ongoing Development

Pull requests should be made against the develop branch.