Contributing

Welcome to Onepanel CE Project! We are excited to have you as part of the community and welcome all contributions.

Getting started as a contributor

This document outlines project structure, guidelines and serves as a single source of truth for contributions. Our goal is to make it as easy for everyone to contribute to the code base, documentation, and components.

Code of conduct

Make sure to read and observe our Code of Conduct.

Coding conventions

All code should be written in the languages and frameworks listed below and follow that language's conventions. SDKs for different languages are an exception and should follow the best practices for that language.

Go

TypeScript and Angular

SDKs

All SDKs should be generated with OpenAPI Generator using our generated API specification file. See our Python SDK's Makefile for reference.

Documentation style guide

We welcome all contributions and follow these highlights from Google developer documentation style guide.

Our documentation site is built on Docusaurus.

Project repositories

Onepanel consists of the following repositories. See CONTRIBUTING.md file in each repository for more information.

Platform

  • Core API - Code base for backend (Go)
  • Core UI - Code base for UI (Angular + TypeScript)
  • CLI - Code base for Go CLI for installation and management (Go)
  • Manifests - Kustomize manifests used by CLI for installation and management (YAML)

SDKs

Documentation