diff --git a/docs/docs/92-development/01-getting-started.md b/docs/docs/92-development/01-getting-started.md index 367e582842..0889afa5b6 100644 --- a/docs/docs/92-development/01-getting-started.md +++ b/docs/docs/92-development/01-getting-started.md @@ -1,12 +1,5 @@ # Getting started -## Core ideas - -- A (e.g. pipeline) configuration should never be [turing complete](https://en.wikipedia.org/wiki/Turing_completeness) (We have agents to exec things 🙂). -- If possible follow the [KISS principle](https://en.wikipedia.org/wiki/KISS_principle). -- What is used most should be default. -- Keep different topics separated, so you can write plugins, port new ideas ... more easily, see [Architecture](./05-architecture.md). - You can develop on your local computer by following the [steps below](#preparation-for-local-development) or you can start with a fully prepared online setup using [Gitpod](https://github.com/gitpod-io/gitpod) and [Gitea](https://github.com/go-gitea/gitea). ## Gitpod diff --git a/docs/docs/92-development/02-core-ideas.md b/docs/docs/92-development/02-core-ideas.md new file mode 100644 index 0000000000..c4527e6c72 --- /dev/null +++ b/docs/docs/92-development/02-core-ideas.md @@ -0,0 +1,26 @@ +# Core ideas + +- A configuration (e.g. of a pipeline) should never be [turing complete](https://en.wikipedia.org/wiki/Turing_completeness) (We have agents to exec things 🙂). +- If possible, follow the [KISS principle](https://en.wikipedia.org/wiki/KISS_principle). +- What is used most often should be default. +- Keep different topics separated, so you can write plugins, port new ideas ... more easily, see [Architecture](./05-architecture.md). + +## Addons and extensions + +If you are wondering whether your contribution will be accepted to be merged in the Woodpecker core, or whether it's better to write an +[addon](../30-administration/75-addons/00-overview.md), [extension](../30-administration/100-external-configuration-api.md) or an +[external custom backend](../30-administration/22-backends/50-custom-backends.md), please check these points: + +- Is your change very specific to your setup and unlikely to be used by anyone else? +- Does your change violate the [guidelines](#guidelines)? + +Both should be false when you open a pull request to get your change into the core repository. + +### Guidelines + +#### Forges + +A new forge must support these features: + +- OAuth2 +- Webhooks