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.
Making pull requests
When making a pull request, prefix the name with one of the following Conventional Commits types:
- fix - fixing something
- feature - adding a feature
- clean - cleaning up code
- chore - something mundane like updating a version number
- docs - updating documents
- tests - adding tests
An example is:
Project repositories
Onepanel consists of the following repositories. For more information on making contributions, see CONTRIBUTING.md
in each repository.
Platform
- Backend - Code base for backend (Go)
- Frontend - Code base for frontend (Angular + TypeScript)
- CLI - Code base for installation and management CLI (Go)
- Manifests - Kustomize manifests used by installation and management CLI (YAML)
SDKs
- Python SDK - Python SDK code and documentation (Python)
Templates
- Templates - Various Workspace, Workflow, Task and Sidecar Templates
Documentation
- Documentation - The repository for documentation site
- API Documentation - API documentation if you choose to use the API directly