## 1. Project Overview & Quickstart (bitwarden/STYLE_AND_BEST_PRACTICES)

# STYLE_AND_BEST_PRACTICES

Open-source repository bitwarden/STYLE_AND_BEST_PRACTICES

### Repository Details
- **Repository:** [bitwarden/STYLE_AND_BEST_PRACTICES](https://github.com/bitwarden/STYLE_AND_BEST_PRACTICES)
- **Primary Language:** Code

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

## 2. Official Technical Reference & Guides (bitwarden/docs)

## File: README.md

[](https://github.com/bitwarden/docs/actions?query=workflow%3ABuild)
[](https://gitter.im/bitwarden/Lobby)

# Bitwarden Docs Site

The Bitwarden docs site project is written using Jekyll.

# Build/Run

**Requirements**

- Node.js
- [Ruby](https://www.ruby-lang.org/)
- [Jekyll](https://jekyllrb.com/)

Run the following commands:
- `npm install`
- `npm run build:watch`

You can now access the help center at `http://localhost:4011`.

# Contribute

Article contributions are welcome! Please commit any pull requests against the `master` branch.

---

## File: _config-sub.yml

baseurl: /help/api
main_baseurl: ''

---

## File: _config.yml

markdown: kramdown
highlighter: none
permalink: pretty
encoding: utf-8
port: 4011
main_baseurl: https://bitwarden.com

sass:
  style: compressed

exclude:
  - node_modules
  - package.json
  - package-lock.json
  - gulpfile.js
  - appveyor.yml
  - README.md

include: 
  - ".nojekyll"

---

## File: manifest.json

{
  "name": "bitwarden docs",
  "icons": [
    {
      "src": "images/icons/android-chrome-192x192.png",
      "sizes": "192x192",
      "type": "image/png"
    },
    {
      "src": "images/icons/android-chrome-512x512.png",
      "sizes": "512x512",
      "type": "image/png"
    }
  ],
  "theme_color": "#ffffff",
  "background_color": "#ffffff"
}

---

## File: package.json

{
  "name": "bitwarden-docs",
  "version": "0.0.0",
  "scripts": {
    "build": "jekyll build",
    "build:watch": "jekyll serve --watch --host=0.0.0.0",
    "build:prod": "cross-env JEKYLL_ENV=production jekyll build",
    "build:prod:sub": "cross-env JEKYLL_ENV=production jekyll build --config _config.yml,_config-sub.yml"
  },
  "devDependencies": {
    "cross-env": "^5.2.0"
  }
}

---

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

name: Build

on: push

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
      - name: Set up Node
        uses: actions/setup-node@46071b5c7a2e0c34e49c3cb8a0e792e86e18d5ea
        with:
          node-version: '14'

      - name: Set up Ruby
        uses: actions/setup-ruby@e932e7af67fc4a8fc77bd86b744acd4e42fe3543
        with:
          ruby-version: 2.6

      - name: Set up Jekyll
        run: gem install bundler jekyll

      - name: Print environment
        run: |
          node --version
          npm --version
          ruby --version
          jekyll --version

      - name: Checkout repo
        uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f

      - name: Install Node dependencies
        run: npm install

      - name: Build site
        if: github.ref != 'refs/heads/master'
        run: npm run build:prod

      - name: Build site for S3
        if: github.ref == 'refs/heads/master'
        run: npm run build:prod:sub

      - name: Deploy to S3
        if: github.ref == 'refs/heads/master'
        uses: jakejarvis/s3-sync-action@be0c4ab89158cac4278689ebedd8407dd5f35a83
        with:
          args: --acl public-read --follow-symlinks --delete
        env:
          AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
          AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
          AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
          AWS_REGION: 'us-east-1'
          SOURCE_DIR: '_site/api'
          DEST_DIR: 'help/api'