diff --git a/.eslintrc.js b/.eslintrc.js
index d53c730b04d746f524117fba0b7eaad71edda9dd..ff65cd4f9cde6d184534380bd12043b4c52c6dfc 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -61,7 +61,7 @@ module.exports = {
       },
     ],
 
-    // Makes no sense to allow type inferrence for expression parameters, but require typing the response
+    // Makes no sense to allow type inference for expression parameters, but require typing the response
     '@typescript-eslint/explicit-function-return-type': [
       'error',
       { allowExpressions: true, allowTypedFunctionExpressions: true },
diff --git a/docs/usage/config-presets.md b/docs/usage/config-presets.md
index 7fb80d9316816ccb5431f9ca133bf7f5829eeb16..1bce1b3db637b47507feced2cabd13eaf3c07141 100644
--- a/docs/usage/config-presets.md
+++ b/docs/usage/config-presets.md
@@ -187,7 +187,7 @@ Whenever repository onboarding happens, Renovate checks if the current user/grou
 - A repository called `renovate-config` under the same user/group/org with either `default.json` or `renovate.json`, or
 - A repository named like `.{{platform}}` (e.g. `.github`) under the same user/group/org with `renovate-config.json`
 
-If found, that repository's preset will be suggested as the the sole extended preset, and any existing `onboardingConfig` config will be ignored/overriden. For example the result may be:
+If found, that repository's preset will be suggested as the the sole extended preset, and any existing `onboardingConfig` config will be ignored/overridden. For example the result may be:
 
 ```json
 {
diff --git a/docs/usage/configuration-options.md b/docs/usage/configuration-options.md
index faaed8762b27890cad31e7025d8e02cefc2f454c..867efb96d0e4dbbb90d03ec9673978aa16caccfd 100644
--- a/docs/usage/configuration-options.md
+++ b/docs/usage/configuration-options.md
@@ -41,7 +41,7 @@ In contrast to `reviewers`, this option adds to the existing reviewer list, rath
 
 ## aliases
 
-The `aliases` object is used for configuring registry aliases. Currently it is needed/supported for the `helm-requiremenets` manager only.
+The `aliases` object is used for configuring registry aliases. Currently it is needed/supported for the `helm-requirements` manager only.
 
 `helm-requirements` includes this default alias:
 
@@ -721,7 +721,7 @@ Using this setting, you can selectively ignore package files that you don't want
 
 ## ignorePresets
 
-Use this if you are extending a complex preset but don't want to use every "sub preset" that it includes. For example, consinder this config:
+Use this if you are extending a complex preset but don't want to use every "sub preset" that it includes. For example, consider this config:
 
 ```json
 {
@@ -1329,7 +1329,7 @@ Configure to `false` to disable deleting orphan branches and autoclosing PRs. De
 
 ## python
 
-Currently the only Python package manager is `pip` - specifically for `requirements.txt` and `requirequirements.pip` files - so adding any config to this `python` object is essentially the same as adding it to the `pip_requirements` object instead.
+Currently the only Python package manager is `pip` - specifically for `requirements.txt` and `requirements.pip` files - so adding any config to this `python` object is essentially the same as adding it to the `pip_requirements` object instead.
 
 ## rangeStrategy
 
@@ -1337,7 +1337,7 @@ Behaviour:
 
 - `auto` = Renovate decides (this will be done on a manager-by-manager basis)
 - `pin` = convert ranges to exact versions, e.g. `^1.0.0` -> `1.1.0`
-- `bump` = e.g. bump the range even if the new version satisifies the existing range, e.g. `^1.0.0` -> `^1.1.0`
+- `bump` = e.g. bump the range even if the new version satisfies the existing range, e.g. `^1.0.0` -> `^1.1.0`
 - `replace` = Replace the range with a newer one if the new version falls outside it, e.g. `^1.0.0` -> `^2.0.0`
 - `widen` = Widen the range with newer one, e.g. `^1.0.0` -> `^1.0.0 || ^2.0.0`
 - `update-lockfile` = Update the lock file when in-range updates are available, otherwise `replace` for updates out of range. Works only for `npm` and `yarn` so far.
diff --git a/docs/usage/dependency-pinning.md b/docs/usage/dependency-pinning.md
index d45454a08b485c393e00a7ee7b7021013fd2b17c..0a0c34c46e5738a6fb42389d54678e4de31da39e 100644
--- a/docs/usage/dependency-pinning.md
+++ b/docs/usage/dependency-pinning.md
@@ -27,7 +27,7 @@ If you're familiar with the theory of semver, you might think that you only need
 
 #### Ranges for Libraries
 
-A second reason for using ranges applies to "libaries" that are published as npm packages with the intention that they are used/`require()`'d by other packages. In this case, it is usually a bad idea to pin all your dependencies because it will introduce an unnecessarily narrow range (one release!) and cause most users of your package to bloat their `node_modules` with duplicates.
+A second reason for using ranges applies to "libraries" that are published as npm packages with the intention that they are used/`require()`'d by other packages. In this case, it is usually a bad idea to pin all your dependencies because it will introduce an unnecessarily narrow range (one release!) and cause most users of your package to bloat their `node_modules` with duplicates.
 
 For example, you might have pinned `foobar` to version `1.1.0` and another author pinned his/her `foobar` to dependency to `1.2.2`. Any user of both your packages will end up with npm attempting to install two separate versions of `foobar`, which might not even work. Even if both projects use a service like Renovate to keep their pinned dependencies up to date with the very latest versions, it's still not a good idea - there will always be times when one package has updated/released before the other one and they will be out of sync. e.g. there might be a space of 30 minutes where your package specifies foobar `1.1.0` and the other one specifies `1.1.1` and your joint downstream users end up with a duplicate.
 
@@ -145,7 +145,7 @@ Does pinning give you "increased" security? Undeniably. The question is not whet
 
 Don't forget that there is some form of transitive trust too. You need to pick your direct dependencies carefully, and which versions of them you use. Hopefully in doing that you pick dependencies partly for how well _they_ look after their own dependencies and versions (e.g. do they have good enough test coverage, do they use something like Renovate to keep updated, etc?). So the reality is that even if 90% of the entries in your lock file are indirect dependencies, those are ones you have somewhat "delegated" responsibility for to your dependencies. e.g. I'd hope that Express are even better at watching their deps for breaks than I am, to use the example above.
 
-But certainly "does it give a false sense of securty" is not a question we can really answer quantifiably.
+But certainly "does it give a false sense of security" is not a question we can really answer quantifiably.
 
 ## So what's best?
 
diff --git a/docs/usage/private-modules.md b/docs/usage/private-modules.md
index fbd0007d8c37254007e9e268e0d942c8dfa5b19f..08a581ade5212708d7db1731fdf6fa6b2ef0eab1 100644
--- a/docs/usage/private-modules.md
+++ b/docs/usage/private-modules.md
@@ -19,7 +19,7 @@ Assuming the private module lookup succeeds (solutions for that are described la
 
 If you are using a lock file (e.g. yarn's `yarn.lock` or npm's `package-lock.json`) then Renovate needs to update that lock file whenever _any_ package listed in your package file is updated to a new version.
 
-To do this, Renovate will run `npm install` or equivalent and save the resulting lock file. If a private module hasn't been updated, it _usually_ won't matter to npm/yarn because they won't attempt to udpate its lock file entry anyway. However it's possible that the install will fail if it attempts to look up that private module for some reason, even when that private module is not the main one being updated. It's therefore better to provide Renovate with all the credentials it needs to look up private packages.
+To do this, Renovate will run `npm install` or equivalent and save the resulting lock file. If a private module hasn't been updated, it _usually_ won't matter to npm/yarn because they won't attempt to update its lock file entry anyway. However it's possible that the install will fail if it attempts to look up that private module for some reason, even when that private module is not the main one being updated. It's therefore better to provide Renovate with all the credentials it needs to look up private packages.
 
 ## Supported npm authentication approaches
 
diff --git a/docs/usage/self-hosting.md b/docs/usage/self-hosting.md
index 95a483e8e16a806d7384d6f15dfb62ade987551f..d469d6cfa596d9c096fa3e458de6970357ca0751 100644
--- a/docs/usage/self-hosting.md
+++ b/docs/usage/self-hosting.md
@@ -147,7 +147,7 @@ Self-hosted Renovate can be configured using any of the following (or a combinat
 - CLI params
 - Environment params
 
-Note that some Renovate configuratino options are _only_ available for self-hosting, and so can only be configured using one of the above methods. These are described in the [Self-hosted Configuration](./self-hosted-configuration.md) doc.
+Note that some Renovate configuration options are _only_ available for self-hosting, and so can only be configured using one of the above methods. These are described in the [Self-hosted Configuration](./self-hosted-configuration.md) doc.
 
 ## Authentication
 
diff --git a/lib/config/definitions.ts b/lib/config/definitions.ts
index a4efd5a1447e6acd594434acc995c40750009820..3d50d2369e01c89df22992844c105f70bb7aa48b 100644
--- a/lib/config/definitions.ts
+++ b/lib/config/definitions.ts
@@ -1669,7 +1669,7 @@ const options: RenovateOptions[] = [
   },
   {
     name: 'insecureRegistry',
-    description: 'explicity turn on insecure docker registry access (http)',
+    description: 'explicitly turn on insecure docker registry access (http)',
     type: 'boolean',
     stage: 'repository',
     parent: 'hostRules',
diff --git a/lib/config/presets/gitlab/index.ts b/lib/config/presets/gitlab/index.ts
index fa6f1aec1c7127fd58d37b84c4e982506829b457..7a8abf07c4272e964e8eae82c245673af1db3375 100644
--- a/lib/config/presets/gitlab/index.ts
+++ b/lib/config/presets/gitlab/index.ts
@@ -16,15 +16,15 @@ async function getDefaultBranchName(
 
   const res = await gitlabApi.getJson<GitLabBranch[]>(branchesUrl);
   const branches = res.body;
-  let defautlBranchName = 'master';
+  let defaultBranchName = 'master';
   for (const branch of branches) {
     if (branch.default) {
-      defautlBranchName = branch.name;
+      defaultBranchName = branch.name;
       break;
     }
   }
 
-  return defautlBranchName;
+  return defaultBranchName;
 }
 
 export async function fetchJSONFile(
@@ -35,11 +35,11 @@ export async function fetchJSONFile(
   try {
     const urlEncodedRepo = encodeURIComponent(repo);
     const urlEncodedPkgName = encodeURIComponent(fileName);
-    const defautlBranchName = await getDefaultBranchName(
+    const defaultBranchName = await getDefaultBranchName(
       urlEncodedRepo,
       endpoint
     );
-    const url = `${endpoint}projects/${urlEncodedRepo}/repository/files/${urlEncodedPkgName}/raw?ref=${defautlBranchName}`;
+    const url = `${endpoint}projects/${urlEncodedRepo}/repository/files/${urlEncodedPkgName}/raw?ref=${defaultBranchName}`;
     return (await gitlabApi.getJson<Preset>(url)).body;
   } catch (err) {
     if (err instanceof ExternalHostError) {
diff --git a/lib/datasource/common.ts b/lib/datasource/common.ts
index eb7d02c38a9c5dc8e42c1a13bd8f9d9f8caedbc4..8e0749f8a8f31eb9f86e78a3ea56e20e978555a0 100644
--- a/lib/datasource/common.ts
+++ b/lib/datasource/common.ts
@@ -80,5 +80,5 @@ export interface DatasourceApi {
   registryStrategy?: 'first' | 'hunt' | 'merge';
 }
 
-// TODO: remove, only for compatabillity
+// TODO: remove, only for compatibility
 export type Datasource = DatasourceApi;
diff --git a/lib/datasource/jenkins-plugins/get.ts b/lib/datasource/jenkins-plugins/get.ts
index 7d9b1a14651bb376e468eb7dfdaf447af471cea2..a8ffb8534d19a3a8595d0ce5bf167324d0febdcd 100644
--- a/lib/datasource/jenkins-plugins/get.ts
+++ b/lib/datasource/jenkins-plugins/get.ts
@@ -109,7 +109,7 @@ async function getJenkinsUpdateCenterResponse<T>(
   };
 
   try {
-    logger.debug(`jenkins-plugins: Fetching Jenkins plugns ${cache.name}`);
+    logger.debug(`jenkins-plugins: Fetching Jenkins plugins ${cache.name}`);
     const startTime = Date.now();
     response = (await http.getJson<T>(cache.dataUrl, options)).body;
     const durationMs = Math.round(Date.now() - startTime);
diff --git a/lib/datasource/nuget/index.ts b/lib/datasource/nuget/index.ts
index b6859bc8ebd201aa1b4932df81978c43729c94ae..3d90c560ca5cd84c1eb291dd8504865420ed504d 100644
--- a/lib/datasource/nuget/index.ts
+++ b/lib/datasource/nuget/index.ts
@@ -15,8 +15,8 @@ function parseRegistryUrl(
   try {
     const parsedUrl = urlApi.parse(registryUrl);
     let protocolVersion = 2;
-    const protolVersionRegExp = /#protocolVersion=(2|3)/;
-    const protocolVersionMatch = protolVersionRegExp.exec(parsedUrl.hash);
+    const protocolVersionRegExp = /#protocolVersion=(2|3)/;
+    const protocolVersionMatch = protocolVersionRegExp.exec(parsedUrl.hash);
     if (protocolVersionMatch) {
       parsedUrl.hash = '';
       protocolVersion = Number.parseInt(protocolVersionMatch[1], 10);
diff --git a/lib/manager/bazel/__snapshots__/update.spec.ts.snap b/lib/manager/bazel/__snapshots__/update.spec.ts.snap
index c6081441937613ddfb1124e13fe53d03649e229d..2631b00d3ad7ca3066c95b8bbaf3fed8e7677c74 100644
--- a/lib/manager/bazel/__snapshots__/update.spec.ts.snap
+++ b/lib/manager/bazel/__snapshots__/update.spec.ts.snap
@@ -145,7 +145,7 @@ Array [
 ]
 `;
 
-exports[`manager/bazel/update updateDependency updates container_pull deptype and prserves comment 1`] = `
+exports[`manager/bazel/update updateDependency updates container_pull deptype and preserves comment 1`] = `
 "container_pull(
           name=\\"hasura\\",
           registry=\\"index.docker.io\\",
diff --git a/lib/manager/bazel/extract.ts b/lib/manager/bazel/extract.ts
index 83823e4ebe85ed2f26d2117fbf5e39453bad4df6..515ee6b2e894c2273525bc8cdf2e5ded09f2f372 100644
--- a/lib/manager/bazel/extract.ts
+++ b/lib/manager/bazel/extract.ts
@@ -49,7 +49,7 @@ function findBalancedParenIndex(longString: string): number {
    * if one opening parenthesis -> 1
    * if two opening parenthesis -> 2
    * if two opening and one closing parenthesis -> 1
-   * if ["""] finded then ignore all [)] until closing ["""] parsed.
+   * if ["""] found then ignore all [)] until closing ["""] parsed.
    * https://github.com/renovatebot/renovate/pull/3459#issuecomment-478249702
    */
   let intShouldNotBeOdd = 0; // openClosePythonMultiLineComment
diff --git a/lib/manager/bazel/update.spec.ts b/lib/manager/bazel/update.spec.ts
index acbde7e323759ec6ae7b9f850eccb4d8a1981634..791edb891339f34e3afc7000d519e3c2f9459c25 100644
--- a/lib/manager/bazel/update.spec.ts
+++ b/lib/manager/bazel/update.spec.ts
@@ -56,7 +56,7 @@ describe('manager/bazel/update', () => {
       expect(res).not.toEqual(content);
     });
 
-    it('updates container_pull deptype and prserves comment', async () => {
+    it('updates container_pull deptype and preserves comment', async () => {
       const upgrade = {
         depName: 'hasura',
         depType: 'container_pull',
diff --git a/lib/manager/cargo/artifacts.ts b/lib/manager/cargo/artifacts.ts
index 83c2faf8a0c5741495e74f0e4c24955ff2f35c46..9d08e90dbac3efaf4c51fbf60ab8b1c4e735a65b 100644
--- a/lib/manager/cargo/artifacts.ts
+++ b/lib/manager/cargo/artifacts.ts
@@ -27,7 +27,7 @@ async function cargoUpdate(
   } catch (err) /* istanbul ignore next */ {
     // Two different versions of one dependency can be present in the same
     // crate, and when that happens an attempt to update it with --package ${dep}
-    // key results in cargo exiting with error code `101` and an error mssage:
+    // key results in cargo exiting with error code `101` and an error message:
     // "error: There are multiple `${dep}` packages in your project".
     //
     // If exception `err` was caused by this, we execute `updateAll` function
diff --git a/lib/manager/dockerfile/__snapshots__/extract.spec.ts.snap b/lib/manager/dockerfile/__snapshots__/extract.spec.ts.snap
index 5f9d89ffb129410dbb177695457b6672fe1094ef..d3d0dd125e65f28d21fe59ebb65f3154906f9dcb 100644
--- a/lib/manager/dockerfile/__snapshots__/extract.spec.ts.snap
+++ b/lib/manager/dockerfile/__snapshots__/extract.spec.ts.snap
@@ -95,7 +95,7 @@ Array [
 ]
 `;
 
-exports[`lib/manager/dockerfile/extract extractPackageFile() handles abnoral spacing 1`] = `
+exports[`lib/manager/dockerfile/extract extractPackageFile() handles abnormal spacing 1`] = `
 Array [
   Object {
     "autoReplaceStringTemplate": "{{depName}}{{#if newValue}}:{{newValue}}{{/if}}{{#if newDigest}}@{{newDigest}}{{/if}}",
diff --git a/lib/manager/dockerfile/extract.spec.ts b/lib/manager/dockerfile/extract.spec.ts
index 04b3518c7873c3837ca5fb550a471c6b9e17a2a5..0bec2593b2c775ca2bc2bd592e8dd8518ebc3c24 100644
--- a/lib/manager/dockerfile/extract.spec.ts
+++ b/lib/manager/dockerfile/extract.spec.ts
@@ -81,7 +81,7 @@ describe('lib/manager/dockerfile/extract', () => {
       ).deps;
       expect(res).toMatchSnapshot();
     });
-    it('handles abnoral spacing', () => {
+    it('handles abnormal spacing', () => {
       const res = extractPackageFile(
         'FROM    registry.allmine.info:5005/node:8.7.0\n\n'
       ).deps;
@@ -94,7 +94,7 @@ describe('lib/manager/dockerfile/extract', () => {
       expect(res).toMatchSnapshot();
       expect(res).toHaveLength(2);
     });
-    it('skips scratchs', () => {
+    it('skips scratches', () => {
       const res = extractPackageFile('FROM scratch\nADD foo\n');
       expect(res).toBeNull();
     });
diff --git a/lib/manager/gradle-wrapper/artifacts.ts b/lib/manager/gradle-wrapper/artifacts.ts
index c359adddd9fcb4703605a22a65ec0f20f8e3fe14..6908bbe617ff385424abe777eba6627491ca8f59 100644
--- a/lib/manager/gradle-wrapper/artifacts.ts
+++ b/lib/manager/gradle-wrapper/artifacts.ts
@@ -71,7 +71,7 @@ export async function updateArtifacts({
     if (distributionUrl) {
       cmd += ` --gradle-distribution-url ${distributionUrl}`;
       if (newPackageFileContent.includes('distributionSha256Sum=')) {
-        // need to reset version, otherwise we have a checksum missmatch
+        // need to reset version, otherwise we have a checksum mismatch
         await writeLocalFile(
           packageFileName,
           newPackageFileContent.replace(config.toVersion, config.currentValue)
diff --git a/lib/manager/gradle/gradle-updates-report.ts b/lib/manager/gradle/gradle-updates-report.ts
index 879b6eb844c5324730fce26795ccb9ae74f197b5..6660de40964cd4bc2ba41b206e70b91caf5cc735 100644
--- a/lib/manager/gradle/gradle-updates-report.ts
+++ b/lib/manager/gradle/gradle-updates-report.ts
@@ -102,7 +102,7 @@ function mergeDependenciesWithRepositories(
   }));
 }
 
-function flatternDependencies(
+function flattenDependencies(
   accumulator: GradleDependencyWithRepos[],
   currentValue: GradleDependencyWithRepos[]
 ): GradleDependencyWithRepos[] {
@@ -147,7 +147,7 @@ export async function extractDependenciesFromUpdatesReport(
 
   const dependencies = gradleProjectConfigurations
     .map(mergeDependenciesWithRepositories, [])
-    .reduce(flatternDependencies, [])
+    .reduce(flattenDependencies, [])
     .reduce(combineReposOnDuplicatedDependencies, []);
 
   return dependencies
diff --git a/lib/manager/helmfile/extract.ts b/lib/manager/helmfile/extract.ts
index fc2b9f199ba06131ed10bb78f41b47609efddcfe..8a253b0183176459d084a1f288190cf4cf819435 100644
--- a/lib/manager/helmfile/extract.ts
+++ b/lib/manager/helmfile/extract.ts
@@ -68,7 +68,7 @@ export function extractPackageFile(
       res.skipReason = SkipReason.LocalChart;
     }
 
-    // By definition on helm the chart name should be lowecase letter + number + -
+    // By definition on helm the chart name should be lowercase letter + number + -
     // However helmfile support templating of that field
     if (!isValidChartName(res.depName)) {
       res.skipReason = SkipReason.UnsupportedChartType;
diff --git a/lib/manager/jenkins/readme.md b/lib/manager/jenkins/readme.md
index 95dc06b0624d322fa12a3e2968e8f32d29a06eeb..d143762a841a8662dab16ef78aa53494a8103686 100644
--- a/lib/manager/jenkins/readme.md
+++ b/lib/manager/jenkins/readme.md
@@ -1,4 +1,4 @@
-The Jenkins manager suppports the following format of the plugin list:
+The Jenkins manager supports the following format of the plugin list:
 
 ```text
 plugin1:1.2.3
diff --git a/lib/manager/npm/extract/common.ts b/lib/manager/npm/extract/common.ts
index da1f53429549cb72d95ececfdf7ef45962bf42c9..ed2b7a959e5327e67cabf1f71a41c86eaaca788a 100644
--- a/lib/manager/npm/extract/common.ts
+++ b/lib/manager/npm/extract/common.ts
@@ -1,6 +1,6 @@
 import type { PackageJson } from 'type-fest';
 
-export type NpmPackageDependeny = PackageJson.Dependency;
+export type NpmPackageDependency = PackageJson.Dependency;
 
 export interface NpmPackage extends PackageJson {
   renovate?: unknown;
diff --git a/lib/manager/npm/extract/index.ts b/lib/manager/npm/extract/index.ts
index 07d77a1aec86631ceb6b1f8b7aa4237b08ea2273..7f5e6f3372ac1e04887c1c0da9cd6d7c6a4f4515 100644
--- a/lib/manager/npm/extract/index.ts
+++ b/lib/manager/npm/extract/index.ts
@@ -19,7 +19,7 @@ import {
   PackageDependency,
   PackageFile,
 } from '../../common';
-import { NpmPackage, NpmPackageDependeny } from './common';
+import { NpmPackage, NpmPackageDependency } from './common';
 import { getLockedVersions } from './locked-versions';
 import { detectMonorepos } from './monorepo';
 import { mightBeABrowserLibrary } from './type';
@@ -299,7 +299,7 @@ export async function extractPackageFile(
     if (packageJson[depType]) {
       try {
         for (const [key, val] of Object.entries(
-          packageJson[depType] as NpmPackageDependeny
+          packageJson[depType] as NpmPackageDependency
         )) {
           const depName = parseDepName(depType, key);
           const dep: PackageDependency = {
diff --git a/lib/manager/pipenv/artifacts.spec.ts b/lib/manager/pipenv/artifacts.spec.ts
index 95de3ddb70bd98fdb0c327ae50c3f8194fc96a5c..041b4f21f93b86d16cecb26616bec147f7114d1d 100644
--- a/lib/manager/pipenv/artifacts.spec.ts
+++ b/lib/manager/pipenv/artifacts.spec.ts
@@ -29,7 +29,7 @@ const config = {
 };
 
 const dockerConfig = { ...config, binarySource: BinarySource.Docker };
-const lockMaintenceConfig = { ...config, isLockFileMaintenance: true };
+const lockMaintenanceConfig = { ...config, isLockFileMaintenance: true };
 
 describe('.updateArtifacts()', () => {
   let pipFileLock;
@@ -148,7 +148,7 @@ describe('.updateArtifacts()', () => {
         packageFileName: 'Pipfile',
         updatedDeps: [],
         newPackageFileContent: '{}',
-        config: lockMaintenceConfig,
+        config: lockMaintenanceConfig,
       })
     ).not.toBeNull();
     expect(execSnapshots).toMatchSnapshot();
diff --git a/lib/manager/poetry/__snapshots__/artifacts.spec.ts.snap b/lib/manager/poetry/__snapshots__/artifacts.spec.ts.snap
index 19716fb8eefbbc870565c441772c77ebde7a1024..0996fcab4c94c5818677fadf2d4c80f233096e79 100644
--- a/lib/manager/poetry/__snapshots__/artifacts.spec.ts.snap
+++ b/lib/manager/poetry/__snapshots__/artifacts.spec.ts.snap
@@ -85,7 +85,7 @@ Array [
 ]
 `;
 
-exports[`.updateArtifacts() returns updated poetry.lock using docker (constaints) 1`] = `
+exports[`.updateArtifacts() returns updated poetry.lock using docker (constraints) 1`] = `
 Array [
   Object {
     "cmd": "docker pull renovate/python:2.7.5",
diff --git a/lib/manager/poetry/artifacts.spec.ts b/lib/manager/poetry/artifacts.spec.ts
index 00d6fe4d770d6e1d4d26cc8fa9bbcfe228bf5097..a6c3370b7fac00f5aa8163beb743e45633987d20 100644
--- a/lib/manager/poetry/artifacts.spec.ts
+++ b/lib/manager/poetry/artifacts.spec.ts
@@ -157,7 +157,7 @@ describe('.updateArtifacts()', () => {
     ).not.toBeNull();
     expect(execSnapshots).toMatchSnapshot();
   });
-  it('returns updated poetry.lock using docker (constaints)', async () => {
+  it('returns updated poetry.lock using docker (constraints)', async () => {
     jest.spyOn(docker, 'removeDanglingContainers').mockResolvedValueOnce();
     await setExecConfig({
       ...config,
diff --git a/lib/manager/regex/readme.md b/lib/manager/regex/readme.md
index 7bda2c92cad92cddaabd1893d1914b32b3b51050..0847123d4d027681aa3432b800b2ee3724829e59 100644
--- a/lib/manager/regex/readme.md
+++ b/lib/manager/regex/readme.md
@@ -97,6 +97,6 @@ The above (obviously not a complete `Dockerfile`, but abbreviated for this examp
 }
 ```
 
-In the above the `versioningTemplate` is not actually necessary because Renovate already defaults to `semver` versioning, but it has been included to help illustrate why we call these fields _templates_. They are named this way because they are compiled using `handlebars` and so can be composed from values you collect in named capture groups. You will usually want to use the tripe brace `{{{ }}}` template (e.v. `{{{versioniong}}}` to be safe because `handlebars` escapes special characters by default with double braces.
+In the above the `versioningTemplate` is not actually necessary because Renovate already defaults to `semver` versioning, but it has been included to help illustrate why we call these fields _templates_. They are named this way because they are compiled using `handlebars` and so can be composed from values you collect in named capture groups. You will usually want to use the tripe brace `{{{ }}}` template (e.v. `{{{versioning}}}` to be safe because `handlebars` escapes special characters by default with double braces.
 
 By adding the comments to the `Dockerfile`, you can see that instead of four separate `regexManagers` being required, there is now only one - and the `Dockerfile` itself is now somewhat better documented too. The syntax we used there is completely arbitrary and you may choose your own instead if you prefer - just be sure to update your `matchStrings` regex.
diff --git a/lib/platform/azure/azure-helper.ts b/lib/platform/azure/azure-helper.ts
index 0cf7782396a1449edc0ec20bd810da210b513cd8..f0a7068dab580b781dbc6c79282033ed682627ed 100644
--- a/lib/platform/azure/azure-helper.ts
+++ b/lib/platform/azure/azure-helper.ts
@@ -92,7 +92,7 @@ async function streamToString(stream: NodeJS.ReadableStream): Promise<string> {
   return p;
 }
 
-// if no branchName, look globaly
+// if no branchName, look globally
 export async function getFile(
   repoId: string,
   filePath: string,
@@ -157,17 +157,17 @@ export function getProjectAndRepo(
   str: string
 ): { project: string; repo: string } {
   logger.trace(`getProjectAndRepo(${str})`);
-  const strSplited = str.split(`/`);
-  if (strSplited.length === 1) {
+  const strSplit = str.split(`/`);
+  if (strSplit.length === 1) {
     return {
       project: str,
       repo: str,
     };
   }
-  if (strSplited.length === 2) {
+  if (strSplit.length === 2) {
     return {
-      project: strSplited[0],
-      repo: strSplited[1],
+      project: strSplit[0],
+      repo: strSplit[1],
     };
   }
   const msg = `${str} can be only structured this way : 'repository' or 'projectName/repository'!`;
diff --git a/lib/platform/github/index.ts b/lib/platform/github/index.ts
index 3412a2d3037b40bce7ea4f3dfa4c2ee2dc332242..bc3312505bd7dddebac3c6f38e64696ade7e0c0e 100644
--- a/lib/platform/github/index.ts
+++ b/lib/platform/github/index.ts
@@ -1243,7 +1243,7 @@ async function getComments(issueNo: number): Promise<Comment[]> {
     return comments;
   } catch (err) /* istanbul ignore next */ {
     if (err.statusCode === 404) {
-      logger.debug('404 respose when retrieving comments');
+      logger.debug('404 response when retrieving comments');
       throw new ExternalHostError(err, PLATFORM_TYPE_GITHUB);
     }
     throw err;
diff --git a/lib/util/git/index.ts b/lib/util/git/index.ts
index d7857a5fabfc630ae6fffc7ec222b70735d3729e..1f9247fce9964f23ac944b7f24c7cfe35f41699e 100644
--- a/lib/util/git/index.ts
+++ b/lib/util/git/index.ts
@@ -652,11 +652,11 @@ export async function commitFiles({
       )
     ) {
       logger.warn(
-        'App has not been granted permissios to update Workflows - aborting branch.'
+        'App has not been granted permissions to update Workflows - aborting branch.'
       );
       return null;
     }
-    logger.debug({ err }, 'Error commiting files');
+    logger.debug({ err }, 'Error committing files');
     throw new Error(REPOSITORY_CHANGED);
   }
 }
diff --git a/lib/util/http/legacy.ts b/lib/util/http/legacy.ts
index 19bbf6845559a012f22d2d3195e92b7639da7d9a..53c8aa347f5da9ac43c661e8cf1c019bde447af2 100644
--- a/lib/util/http/legacy.ts
+++ b/lib/util/http/legacy.ts
@@ -1,7 +1,7 @@
 // istanbul ignore file
 import { HttpError } from './types';
 
-// TODO: remove when code is refactord
+// TODO: remove when code is refactored
 
 Object.defineProperty(HttpError.prototype, 'statusCode', {
   get: function statusCode(this: HttpError) {
diff --git a/lib/versioning/composer/index.ts b/lib/versioning/composer/index.ts
index 4f7048d246d1d339630f415cea834aa9a114e22e..d9399b1d54b471c8f977efadf3742eeb329d89a6 100644
--- a/lib/versioning/composer/index.ts
+++ b/lib/versioning/composer/index.ts
@@ -33,7 +33,7 @@ function padZeroes(input: string): string {
   return sections.join('.') + stability;
 }
 
-function convertStabilitiyModifier(input: string): string {
+function convertStabilityModifier(input: string): string {
   // Handle stability modifiers.
   const versionParts = input.split('@');
   if (versionParts.length === 1) {
@@ -54,7 +54,7 @@ function convertStabilitiyModifier(input: string): string {
 function normalizeVersion(input: string): string {
   let output = input;
   output = output.replace(/(^|>|>=|\^|~)v/i, '$1');
-  return convertStabilitiyModifier(output);
+  return convertStabilityModifier(output);
 }
 
 function composer2npm(input: string): string {
diff --git a/lib/versioning/docker/index.ts b/lib/versioning/docker/index.ts
index 3271a87ad37a88409384a82acffe5b70c228d4dc..689d1839650c1f6d629ccb405d1ddc07d3c7bdaf 100644
--- a/lib/versioning/docker/index.ts
+++ b/lib/versioning/docker/index.ts
@@ -34,9 +34,9 @@ function valueToVersion(value: string): string {
   return value ? value.split('-')[0] : value;
 }
 
-function compare(version1: string, vervion2: string): number {
+function compare(version1: string, version2: string): number {
   const parsed1 = parse(version1);
-  const parsed2 = parse(vervion2);
+  const parsed2 = parse(version2);
   // istanbul ignore if
   if (!(parsed1 && parsed2)) {
     return 1;
diff --git a/lib/versioning/index.ts b/lib/versioning/index.ts
index 7106a2a3ee871a809d40133c1ac661538c44b6f0..5d872a34a4aa64c7cb86ef3f63d83443cefa1e2d 100644
--- a/lib/versioning/index.ts
+++ b/lib/versioning/index.ts
@@ -10,7 +10,7 @@ export * from './common';
 
 export const getVersioningList = (): string[] => Array.from(versionings.keys());
 /**
- * Get versioning map. Can be used to dynamically add new versionig type
+ * Get versioning map. Can be used to dynamically add new versioning type
  */
 export const getVersionings = (): Map<
   string,
diff --git a/lib/versioning/loose/index.ts b/lib/versioning/loose/index.ts
index 6731b8cb8d06a7c3cdea0ded8a37993047ad203e..685f3efd05a1b1977bd7d6a9c5e30cf3f25fa6a9 100644
--- a/lib/versioning/loose/index.ts
+++ b/lib/versioning/loose/index.ts
@@ -26,9 +26,9 @@ function parse(version: string): any {
   return { release, suffix: suffix || '' };
 }
 
-function compare(version1: string, vervion2: string): number {
+function compare(version1: string, version2: string): number {
   const parsed1 = parse(version1);
-  const parsed2 = parse(vervion2);
+  const parsed2 = parse(version2);
   // istanbul ignore if
   if (!(parsed1 && parsed2)) {
     return 1;
diff --git a/lib/versioning/nuget/index.ts b/lib/versioning/nuget/index.ts
index 0f26d90803652529a7ab224db8d9c5ccd732c65e..aa76674efc42bb9ce8cd996e8b1d32b01ec78f5b 100644
--- a/lib/versioning/nuget/index.ts
+++ b/lib/versioning/nuget/index.ts
@@ -20,9 +20,9 @@ function parse(version: string): any {
   return { release, suffix: prereleasesuffix || '' };
 }
 
-function compare(version1: string, vervion2: string): number {
+function compare(version1: string, version2: string): number {
   const parsed1 = parse(version1);
-  const parsed2 = parse(vervion2);
+  const parsed2 = parse(version2);
   // istanbul ignore if
   if (!(parsed1 && parsed2)) {
     return 1;
diff --git a/lib/versioning/pep440/range.ts b/lib/versioning/pep440/range.ts
index 020cc1e9ec8f3cd0ff9a5d3d3eb21cf7a0fce8d6..5ec614d6b4ae1ce7376f3471c8d6a28d83e0802b 100644
--- a/lib/versioning/pep440/range.ts
+++ b/lib/versioning/pep440/range.ts
@@ -147,7 +147,7 @@ export function getNewValue({
     // we failed at creating the range
     logger.error(
       { result, toVersion, currentValue },
-      'pep440: failed to calcuate newValue'
+      'pep440: failed to calculate newValue'
     );
     return null;
   }
diff --git a/lib/versioning/poetry/index.ts b/lib/versioning/poetry/index.ts
index b433d8fb807dd3e3bbdb03f34e2c869817dbba3f..005d17ef43ac579c9bd1f29ba0a7e6f25a69d32b 100644
--- a/lib/versioning/poetry/index.ts
+++ b/lib/versioning/poetry/index.ts
@@ -24,7 +24,7 @@ function poetry2npm(input: string): string {
   return versions.join(' ');
 }
 
-// NOTE: This function is copied from cargo versionsing code.
+// NOTE: This function is copied from cargo versioning code.
 // Poetry uses commas (like in cargo) instead of spaces (like in npm)
 // for AND operation.
 function npm2poetry(input: string): string {
diff --git a/lib/versioning/regex/readme.md b/lib/versioning/regex/readme.md
index aafe9fbf10f10b6784afcc8be31447d6abf1633c..2a116d56533c9f1e86567e5e6954df1ec310d069 100644
--- a/lib/versioning/regex/readme.md
+++ b/lib/versioning/regex/readme.md
@@ -4,7 +4,7 @@ The `regex` scheme makes use of Regular Express capture groups. The valid captur
 
 - `major`, `minor`, and `patch`: at least one of these must be provided. When determining whether a package has updated, these values will be compared in the standard semantic versioning fashion. If any of these fields are omitted, they will be treated as if they were `0` -- in this way, you can describe versioning schemes with up to three incrementing values.
 - `prerelease`: this value, if captured, will mark a given release as a prerelease (eg. unstable). If this value is captured and you have configured `"ignoreUnstable": true`, the given release will be skipped.
-- `compatibility`: this value defines the "build compatibility" of a given dependency. A proposed Renovate update will never change the specified compatibility value. For example, if you are pinning to `1.2.3-linux` (and `linux` is captured as the compatbility value), Renovate will not update you to `1.2.4-osx`.
+- `compatibility`: this value defines the "build compatibility" of a given dependency. A proposed Renovate update will never change the specified compatibility value. For example, if you are pinning to `1.2.3-linux` (and `linux` is captured as the compatibility value), Renovate will not update you to `1.2.4-osx`.
 
 The compatibility concept was originally introduced for Docker versioning but sometimes package authors may use/misuse suffixes to mean compatibility in other versioning schemes.
 
diff --git a/lib/workers/branch/automerge.spec.ts b/lib/workers/branch/automerge.spec.ts
index 4d0b7c5c18832a6f06086112b39c9a2b0ea8fe87..7749de685414316b7cdbbc7709a29cca4ad332b6 100644
--- a/lib/workers/branch/automerge.spec.ts
+++ b/lib/workers/branch/automerge.spec.ts
@@ -17,7 +17,7 @@ describe('workers/branch/automerge', () => {
       config.automerge = false;
       expect(await tryBranchAutomerge(config)).toBe('no automerge');
     });
-    it('returns false if automergType is pr', async () => {
+    it('returns false if automergeType is pr', async () => {
       config.automerge = true;
       config.automergeType = 'pr';
       expect(await tryBranchAutomerge(config)).toBe('no automerge');
diff --git a/lib/workers/branch/reuse.spec.ts b/lib/workers/branch/reuse.spec.ts
index 9c66d53ab9b3012bd54968be56ca549f8e629ae6..1a05526c22d6ee0a692953dc0edd9d363f57480f 100644
--- a/lib/workers/branch/reuse.spec.ts
+++ b/lib/workers/branch/reuse.spec.ts
@@ -32,7 +32,7 @@ describe('workers/branch/parent', () => {
       const res = await shouldReuseExistingBranch(config);
       expect(res.reuseExistingBranch).toBe(true);
     });
-    it('returns branchName if does not need rebaseing', async () => {
+    it('returns branchName if does not need rebasing', async () => {
       git.branchExists.mockReturnValueOnce(true);
       platform.getBranchPr.mockResolvedValueOnce({
         ...pr,
diff --git a/lib/workers/repository/onboarding/pr/__snapshots__/pr-list.spec.ts.snap b/lib/workers/repository/onboarding/pr/__snapshots__/pr-list.spec.ts.snap
index 9b558af3c224b659d2aee725b8faed59ca06016f..c2be377e00d59b9ddd2db907d57b5af745c1f89c 100644
--- a/lib/workers/repository/onboarding/pr/__snapshots__/pr-list.spec.ts.snap
+++ b/lib/workers/repository/onboarding/pr/__snapshots__/pr-list.spec.ts.snap
@@ -1,6 +1,6 @@
 // Jest Snapshot v1, https://goo.gl/fbAQLP
 
-exports[`workers/repository/onboarding/pr/pr-list getPrList() handles emptyu 1`] = `
+exports[`workers/repository/onboarding/pr/pr-list getPrList() handles empty 1`] = `
 "
 ### What to Expect
 
diff --git a/lib/workers/repository/onboarding/pr/pr-list.spec.ts b/lib/workers/repository/onboarding/pr/pr-list.spec.ts
index ceb33f0caf13197d3a9884d313ae67017c000b81..97cc7f355dfbe8929039a9e937668403c6dc0b2b 100644
--- a/lib/workers/repository/onboarding/pr/pr-list.spec.ts
+++ b/lib/workers/repository/onboarding/pr/pr-list.spec.ts
@@ -9,7 +9,7 @@ describe('workers/repository/onboarding/pr/pr-list', () => {
       jest.resetAllMocks();
       config = getConfig();
     });
-    it('handles emptyu', () => {
+    it('handles empty', () => {
       const branches: BranchConfig[] = [];
       const res = getPrList(config, branches);
       expect(res).toMatchSnapshot();
diff --git a/lib/workers/repository/process/write.ts b/lib/workers/repository/process/write.ts
index 71a13bde2879d48197127f7d97affe975e81b801..74a86a76868c9943354b6afd0e14acd9de45b08f 100644
--- a/lib/workers/repository/process/write.ts
+++ b/lib/workers/repository/process/write.ts
@@ -53,7 +53,7 @@ export async function writeUpdates(
       res === ProcessBranchResult.Automerged &&
       branch.automergeType !== 'pr-comment'
     ) {
-      // Stop procesing other branches because base branch has been changed
+      // Stop processing other branches because base branch has been changed
       return 'automerged';
     }
     let deductPrRemainingCount = 0;
diff --git a/lib/workers/repository/updates/generate.ts b/lib/workers/repository/updates/generate.ts
index 6ef1bd6e905d4fec1d8015275cd5e4267f0d651f..b49297d2778280355f9c32060398277bce042dd9 100644
--- a/lib/workers/repository/updates/generate.ts
+++ b/lib/workers/repository/updates/generate.ts
@@ -206,7 +206,7 @@ export function generateBranchConfig(
       'to v$1'
     );
     if (upgrade.toLowerCase) {
-      // We only need to lowercvase the first line
+      // We only need to lowercase the first line
       const splitMessage = upgrade.commitMessage.split('\n');
       splitMessage[0] = splitMessage[0].toLowerCase();
       upgrade.commitMessage = splitMessage.join('\n');