## 1. Project Overview & Quickstart (renovatebot/installing-onboarding)

# installing-onboarding

Open-source repository renovatebot/installing-onboarding

### Repository Details
- **Repository:** [renovatebot/installing-onboarding](https://github.com/renovatebot/installing-onboarding)
- **Primary Language:** Code

*Note: High-volume repository documentation is actively indexed and synchronized by YakaAI.*

## 2. Official Technical Reference & Guides (renovatebot/renovatebot.github.io)

## File: README.md

> [!WARNING]
> This repository is now archived, as it is no longer used.
>
> The docs build now happens entirely from [Renovate's own repository](https://github.com/renovatebot/renovate).

## Security / Disclosure

If you find any bug with Renovate that may be a security problem, then e-mail us at: [renovate-disclosure@mend.io](mailto:renovate-disclosure@mend.io).
This way we can evaluate the bug and hopefully fix it before it gets abused.
Please give us enough time to investigate the bug before you report it anywhere else.

Please do not create GitHub issues for security-related doubts or problems.

---

## File: package.json

{
  "name": "docs.renovatebot.com",
  "version": "1.0.0",
  "private": true,
  "repository": {
    "type": "git",
    "url": "https://github.com/renovatebot/renovatebot.github.io.git"
  },
  "type": "module",
  "scripts": {
    "prepare": "husky",
    "prettier": "prettier --check --ignore-unknown --cache \"**/*.*\"",
    "prettier-fix": "prettier --write --ignore-unknown --cache \"**/*.*\""
  },
  "devDependencies": {
    "@testing-library/cypress": "10.1.0",
    "cypress": "15.10.0",
    "husky": "9.1.7",
    "lint-staged": "16.2.7",
    "prettier": "3.8.1",
    "prettier-plugin-packagejson": "2.5.22",
    "typescript": "5.9.3"
  },
  "packageManager": "pnpm@10.28.2",
  "engines": {
    "node": "^18.12.0 || >=20.9.0",
    "pnpm": "^10.0.0"
  },
  "pnpm": {
    "onlyBuiltDependencies": [
      "cypress"
    ]
  }
}

---

## File: pnpm-workspace.yaml

packages:
  - deps/cache-decoder

---

## File: renovate.json

{
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
  "extends": ["local>renovatebot/.github", "customManagers:makefileVersions"],
  "semanticCommitScope": "deps",
  "minimumReleaseAge": "3 days",
  "git-submodules": {
    "enabled": true
  },
  "packageRules": [
    {
      "description": "No minimum release age for some packages",
      "matchDepNames": [
        "deps/renovate",
        "https://github.com/renovatebot/renovate.git",
        "renovatebot/renovate",
        "ghcr.io/containerbase/**"
      ],
      "minimumReleaseAge": null
    },
    {
      "matchDepNames": [
        "deps/renovate",
        "https://github.com/renovatebot/renovate.git",
        "renovatebot/renovate"
      ],
      "groupName": "Renovate",
      // For the following files:
      // deps/renovate
      // Makefile
      // bin/get-docs.sh
      "minimumGroupSize": 3
    },
    {
      "matchUpdateTypes": ["minor"],
      "automerge": false,
      "matchManagers": ["pep621", "poetry"]
    },
    {
      "description": "Separate python minor from patch versions because of delayed availability",
      "matchDepNames": ["python"],
      "separateMinorPatch": true
    },
    {
      "description": "Require dashboard approval for python minor versions because of delayed availability",
      "matchUpdateTypes": ["minor"],
      "matchDepNames": ["python"],
      "dependencyDashboardApproval": true
    },
    {
      "matchManagers": ["git-submodules"],
      "automerge": true,
      "automergeType": "branch",
      "semanticCommitScope": "docs",
      "minimumReleaseAge": null
    }
  ]
}

---

## File: SECURITY.md

# Security / Disclosure

If you find any bug with Renovate that may be a security problem, then e-mail us at: [renovate-disclosure@mend.io](mailto:renovate-disclosure@mend.io).
This way we can evaluate the bug and hopefully fix it before it gets abused.
Please give us enough time to investigate the bug before you report it anywhere else.

Please do not create GitHub issues for security-related doubts or problems.

---

## File: tsconfig.json

{
  "compilerOptions": {
    "target": "ES2020",
    "module": "ES2022",
    "lib": ["ES2020"],
    "types": ["cypress", "@testing-library/cypress"],
    "esModuleInterop": true
  },
  "files": ["cypress.config.ts"]
}

---

## File: .lintstagedrc.json

{
  "*.sh": "shellcheck",
  ".husky/*": "shellcheck",
  "*": "prettier --ignore-unknown --write"
}

---

## File: .prettierrc.json

{
  "singleQuote": true,
  "trailingComma": "all",
  "plugins": ["prettier-plugin-packagejson"]
}

---

## File: cypress/tsconfig.json

{
  "compilerOptions": {
    "target": "es2020",
    "lib": ["es2020", "dom"],
    "types": ["cypress", "@testing-library/cypress"],
    "esModuleInterop": true
  },
  "include": ["**/*.ts"]
}

---

## File: deps/cache-decoder/package.json

{
  "name": "repo-cache-decoder",
  "source": "src/index.html",
  "browserslist": "> 0.5%, last 2 versions, not dead",
  "scripts": {
    "dev": "parcel --dist-dir=../../docs/cache-decoder --public-url /cache-decoder",
    "build": "parcel build --dist-dir=../../docs/cache-decoder --public-url /cache-decoder"
  },
  "devDependencies": {
    "buffer": "6.0.3",
    "parcel": "2.16.4",
    "path-browserify": "1.0.1",
    "process": "0.11.10"
  },
  "dependencies": {
    "brotli": "1.3.3"
  }
}

---

## File: src/security.txt

Contact: mailto:renovate-disclosure@mend.io
Expires: 2025-12-31T23:59:00.000Z
Preferred-Languages: en
Canonical: https://docs.renovatebot.com/security.txt
Policy: https://github.com/renovatebot/renovatebot.github.io/blob/main/SECURITY.md

---

## File: .devcontainer/devcontainer.json

{
  "name": "Renovate",
  "build": {
    "dockerfile": "Dockerfile"
  },
  "init": true,
  "customizations": {
    "vscode": {
      "terminal.integrated.profiles.linux": {
        "bash": {
          "path": "bash",
          "icon": "terminal-bash"
        }
      },
      "terminal.integrated.defaultProfile.linux": "bash",
      "extensions": [
        "esbenp.prettier-vscode",
        "EditorConfig.editorconfig",
        "github.vscode-github-actions",
        "timonwong.shellcheck",
        "ms-vscode.makefile-tools"
      ],
      "settings": {
        "shellcheck.executablePath": "shellcheck",
        "shellcheck.disableVersionCheck": true
      }
    }
  },
  "forwardPorts": [8000],
  "postCreateCommand": ".devcontainer/post-create.sh",
  "waitFor": "postCreateCommand"
}

---

## File: .github/contributing.md

# Contributing

## Security / Disclosure

If you find any bug with Renovate that may be a security problem, then e-mail us at: [renovate-disclosure@mend.io](mailto:renovate-disclosure@mend.io).
This way we can evaluate the bug and hopefully fix it before it gets abused.
Please give us enough time to investigate the bug before you report it anywhere else.

Please do not create GitHub issues for security-related doubts or problems.

## Bug Reports and Feature Requests

If you've found a **bug** or have a **feature request** then please create an issue in this repository (but search first in case a similar issue already exists).

## Code

If you would like to fix a bug or implement a feature, please fork the repository and create a Pull Request.
More information on getting set up locally can be found in [.github/local-development.md](https://github.com/renovatebot/renovatebot.github.io/blob/main/.github/local-development.md).

Before you start any Pull Request, it's recommended that you create an issue to discuss first if you have any doubts about requirements or implementation.
That way you can be sure that the maintainer(s) agree on what to change and how, and you can hopefully get a quick merge afterwards.
Also, let the maintainers know that you plan to work on a particular issue so that no one else starts any duplicate work.

## Do not force push to your pull request branch

Please do not force push to your PR's branch after you have created your PR, as doing so makes it harder for us to review your work.
PRs will always be squashed by us when we merge your work.
Commit as many times as you need in your pull request branch.

## Re-requesting a review

Please do not ping your reviewer(s) by mentioning them in a new comment.
Instead, use the re-request review functionality.
Read more about this in the [GitHub docs, Re-requesting a review](https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/incorporating-feedback-in-your-pull-request#re-requesting-a-review).

## Slack collaboration with maintainers

Sometimes the codebase can be a challenge to navigate, especially for a first-time contributor.
We don't want you spending an hour trying to work out something that would take us only a minute to explain.

For that reason, we have a Slack channel dedicated to helping anyone who's working on or considering Pull Requests for Renovate.
Please email rhys@arkins.net and simply mention that you need an invitation to the channel and you'll be added as soon as possible.

---

## File: .github/local-development.md

# Local Development

This document gives tips and tricks on how to create the Renovate documentation website locally to add features or fix bugs.
You can improve this documentation by opening a pull request.
For example, if you think anything is unclear, or you think something needs to be added, open a pull request!

> [!NOTE]
> Currently, there is no support for a "remote" development environment, such as GitHub Codespaces.
>
> For updates on progress, see: https://github.com/renovatebot/renovatebot.github.io/issues/704

## Local installation

### Prerequisites

You need the following dependencies for local development:

- Git
- Node.js `>=14.15.4`
- Yarn `^1.22.5`
- Python `^3.9.1`
- Bash shell with `make`
- [PDM](https://pypi.org/project/pdm/) `^2.26.0`

We support Node.js versions according to the [Node.js release schedule](https://github.com/nodejs/Release#release-schedule).

## Fork and Clone

If you want to contribute to the project, you should first "fork" the main project using the GitHub website and then clone your fork locally.
The Renovate project uses the [Yarn](https://github.com/yarnpkg/yarn) package management system instead of npm.

To ensure everything is working properly on your end, you must:

1. Make sure you don't have a local `.npmrc` file that overrides npm's default registry
1. Run `make` to install all dependencies and make a build
1. Serve the build of the website locally with `mkdocs serve`

Before you submit a pull request you should:

1. Ensure your feature branch is up-to-date with the upstream `main` branch
1. Run `make` to install all dependencies and make a build
1. Serve the build of the website locally with `mkdocs serve`

## Keeping your Renovate fork up to date

First of all, never commit to `main` of your fork - always use a branch like `style/fix-css-error`.

Make sure your fork's `main` branch is up to date with the upstream `main` before creating a new branch, read the [GitHub docs, syncing a fork](https://help.github.com/articles/syncing-a-fork/).

If you're working with Git locally, you need to configure the remote branch correctly, read the[GitHub docs, configuring a remote for a fork](https://help.github.com/articles/configuring-a-remote-for-a-fork/) to learn how to do this.

---

## File: .github/pull_request_template.md

## Changes:



## Context:

---

## File: .github/ISSUE_TEMPLATE/bug_report.yml

name: Bug report
labels: ['bug']
body:
  - type: dropdown
    attributes:
      label: What browser are you using?
      options:
        - 'Android browser'
        - 'Chrome'
        - 'Edge'
        - 'Firefox'
        - 'Opera'
        - 'Safari on iOS'
        - 'Safari on macOS'
        - 'Other'
    validations:
      required: true

  - type: input
    attributes:
      label: Other browser name
        If your browser is not listed above, then put your browser's name here:
    validations:
      required: false

  - type: textarea
    attributes:
      label: Describe the bug
        A clear and concise description of what the bug is.

        Please do not report any security concerns this way.
        Email [renovate-disclosure@mend.io](mailto:renovate-disclosure@mend.io) instead.
    validations:
      required: true

  - type: textarea
    attributes:
      label: Steps to reproduce
        Explain how to reproduce the bug.
        Make screenshots if necessary.
      placeholder: |
        1. Do ....
        2. Then do ...
    validations:
      required: true

  - type: textarea
    attributes:
      label: Additional context
        Add any other context about the problem here, including your own debugging or ideas on what went wrong.
    validations:
      required: false

---

## File: .github/ISSUE_TEMPLATE/config.yml

blank_issues_enabled: false
contact_links:
  - name: Renovate bot config help
    url: https://github.com/renovatebot/renovate/discussions
    about: Please ask questions on how to configure your Renovate bot here.

---

## File: .github/ISSUE_TEMPLATE/feature_request.yml

name: Feature request
labels:
  - 'enhancement'
body:
  - type: textarea
    attributes:
      label: What would you like to be able to do?
        Tell us what requirements you need solving, and be sure to mention too if this is part of any "bigger" problem you're trying to solve.
    validations:
      required: true

  - type: textarea
    attributes:
      label: Did you already have any implementation ideas?
        In case you've already dug into existing options or source code and have ideas, mention them here.
        Try to keep implementation ideas separate from *requirements* above.
    validations:
      required: true

  - type: dropdown
    attributes:
      label: Do you want to write this feature yourself?
      options:
        - 'Yes'
        - 'Maybe'
        - 'No'
        Please also mention here in case this is a feature you'd be interested in writing yourself, so you can be assigned it.
    validations:
      required: true

---

## File: .github/ISSUE_TEMPLATE/refactor.yml

name: Refactor (internal)
labels: ['']
body:
  - type: markdown
    attributes:
      value: '# This form is for Renovate maintainers only.'

  - type: textarea
    id: describe-proposed-changes
    attributes:
      label: Describe the proposed change(s).
    validations:
      required: true

---

## File: .github/workflows/devcontainer.yml

name: devcontainer
on:
  push:
    branches:
      - '**'
      - '!main'
  pull_request:
    branches:
      - main
    types:
      - opened
      - synchronize
      - reopened
      - ready_for_review

jobs:
  devcontainer-test:
    runs-on: ubuntu-latest
    if: github.event_name != 'pull_request' || (github.repository_owner != github.event.pull_request.head.repo.owner.login && github.event.pull_request.draft != true)
    steps:
      - name: Checkout
        uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
        with:
          submodules: true

      - name: Build and run dev container task
        uses: devcontainers/ci@8bf61b26e9c3a98f69cb6ce2f88d24ff59b785c6 # v0.3.1900000417
        with:
          push: never
          runCmd: id
          env: |
            GITHUB_TOKEN
            SKIP_GITHUB_ISSUES
        env:
          GITHUB_TOKEN: ${{ github.token }}
          SKIP_GITHUB_ISSUES: 'true'

---

## File: .github/workflows/lock.yml

name: lock-threads

on:
  # run daily
  schedule:
    - cron: '0 1 * * *'

  # allow manual trigger
  workflow_dispatch:

permissions:
  issues: write
  pull-requests: write

# Ensure only one lock action can run at a time
concurrency:
  group: lock

jobs:
  lock:
    runs-on: ubuntu-latest
    steps:
      - uses: dessant/lock-threads@7266a7ce5c1df01b1c6db85bf8cd86c737dadbe7 # v6.0.0
        if: github.repository == 'renovatebot/renovatebot.github.io'
        with:
          github-token: ${{ github.token }}
          process-only: 'issues, prs'
          issue-inactive-days: 30
          pr-inactive-days: 30

---

## File: .github/workflows/publish-docs.yml

name: publish-docs

on:
  push:
    branches:
      - '**'
      - '!gh-pages'
  pull_request:
    branches:
      - 'main'
  workflow_dispatch:

env:
  PDM_VERSION: 2.26.6 # renovate: datasource=pypi depName=pdm
  HUSKY: 0 # disable husky on CI

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
  group: ${{ github.workflow }}-${{ (github.event_name == 'push' || github.event_name == 'workflow_dispatch') && github.ref_name || github.run_number }}
  cancel-in-progress: ${{ github.ref_name != 'main' }}

permissions:
  contents: write
  pages: write
  id-token: write

jobs:
  build:
    name: build
    runs-on: ubuntu-latest

    steps:
      - name: Checkout
        uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
        with:
          submodules: true

      - name: Setup pnpm
        uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
        with:
          standalone: true

      - name: Set up Node.js
        uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
        with:
          node-version-file: .node-version
          cache: 'pnpm' # doesn't cache cypress
          cache-dependency-path: |
            **/pnpm-lock.yaml
            **/package.json

      - name: Setup PDM
        uses: pdm-project/setup-pdm@94a823180e06fcde4ad29308721954a521c96ed0 # v4.4
        with:
          python-version-file: .python-version
          version: ${{ env.PDM_VERSION }}
          cache: true

      - name: Init platform
        run: |
          git config --global core.autocrlf false
          git config --global core.symlinks true
          git config --global user.email 'bot@renovateapp.com'
          git config --global user.name  'Renovate Bot'
          python --version
          pdm --version

      - name: Cache node_modules and cypress
        uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3
        with:
          path: |
            ~/.cache/Cypress
            node_modules
          key: npm-${{ runner.os }}-${{ hashFiles('**/package.json', '**/pnpm-lock.yaml') }}

      - name: Installing dependencies
        run: make install

      - name: Run Prettier
        run: pnpm prettier

      - name: Run shellcheck
        uses: reviewdog/action-shellcheck@4c07458293ac342d477251099501a718ae5ef86e # v1.32.0
        with:
          reporter: github-pr-review
          filter_mode: nofilter
          path: |
            bin
            .devcontainer
            .husky
          pattern: '*.sh'
          check_all_files_with_shebangs: 'true'

      - name: Prepare docs
        run: make prepare
        env:
          # NOTE that this is used for read-only operations (to look up outstanding Issues), but will use the job-level permissions with some level of write access to this repo
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

      - name: Build cache decoder
        run: make build-decoder

      - name: Build docs
        run: make build-docs

      - name: Upload site artifacts
        uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
        with:
          name: site
          path: site/
          if-no-files-found: error

      - name: Upload pages artifact
        if: github.ref_name == 'main'
        uses: actions/upload-pages-artifact@7b1f4a764d45c48632c6b24a0339c27f5614fb0b # v4.0.0
        with:
          path: site/

      - name: Cypress run
        uses: cypress-io/github-action@f790eee7a50d9505912f50c2095510be7de06aa7 # v6.10.9
        with:
          start: make serve
          wait-on: 'http://127.0.0.1:8000/'
          # we have already installed all dependencies above
          install: false
        timeout-minutes: 3

      - name: Upload cypress artifacts
        uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
        if: always()
        with:
          name: cypress
          path: |
            cypress/videos/
            cypress/screenshots/
          if-no-files-found: error

      - name: Publish docs
        if: github.event_name == 'push' && github.ref_name == 'main'
        run: make deploy

  # Deployment job
  deploy:
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    runs-on: ubuntu-latest
    if: github.ref_name == 'main'
    needs:
      - build
    steps:
      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4.0.5