Skip to content

Getting Started

Welcome to the DevOps Engineering Style Guide! This page gets you validating code in under 30 seconds and points you to the right in-depth tutorial for your project type.

Prerequisites

Option 2: Local Python setup

Quick Start (30 Seconds)

# Navigate to your project
cd /path/to/your/project

# Run full validation — no installation required
docker run --rm -v $(pwd):/workspace \
  ghcr.io/tydukes/coding-style-guide:latest validate

You'll immediately see linting errors, missing metadata tags, and formatting issues across all languages.

Auto-fix what's fixable:

docker run --rm -v $(pwd):/workspace \
  ghcr.io/tydukes/coding-style-guide:latest format

Prefer a local setup?

git clone https://github.com/tydukes/coding-style-guide.git
cd coding-style-guide
uv sync
mkdocs serve
# Browse to http://127.0.0.1:8000

Choose Your Path

Select the tutorial that matches your project:

Your Project Time Tutorial
Python project (Flask, FastAPI, scripts) 30 min Tutorial 1: Zero to Validated Python Project
Terraform / IaC module 45 min Tutorial 2: Migrating Existing Terraform Module
Multi-language monorepo 60 min Tutorial 3: Full-Stack App with Multiple Languages
Team adoption / onboarding 20 min Tutorial 4: Team Onboarding
Manual → automated workflow 40 min Tutorial 5: From Manual to Automated
MkDocs documentation site 12 min MkDocs Site Example

Not sure where to start? Begin with Tutorial 4: Team Onboarding — it covers the foundations for every other path.


Integration Patterns

GitHub Actions

# .github/workflows/validate.yml
name: Code Quality
on:
  push:
    branches: [main]
  pull_request:

jobs:
  validate:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Run Full Validation
        run: |
          docker run --rm -v $(pwd):/workspace \
            ghcr.io/tydukes/coding-style-guide:latest validate

Pre-commit Hooks

# .pre-commit-config.yaml
repos:
  - repo: local
    hooks:
      - id: coding-style-validator
        name: Validate Coding Standards
        entry: docker run --rm -v $(pwd):/workspace ghcr.io/tydukes/coding-style-guide:latest
        args: [lint]
        language: system
        pass_filenames: false
        stages: [commit]
pip install pre-commit
pre-commit install

Docker Compose (Team Development)

# docker-compose.yml
services:
  validate:
    image: ghcr.io/tydukes/coding-style-guide:latest
    volumes:
      - .:/workspace
    command: validate

  lint:
    image: ghcr.io/tydukes/coding-style-guide:latest
    volumes:
      - .:/workspace
    command: lint

  format:
    image: ghcr.io/tydukes/coding-style-guide:latest
    volumes:
      - .:/workspace
    command: format
docker-compose run --rm validate
docker-compose run --rm format

Makefile

.PHONY: validate lint format

validate:
 docker run --rm -v $(PWD):/workspace \
   ghcr.io/tydukes/coding-style-guide:latest validate

lint:
 docker run --rm -v $(PWD):/workspace \
   ghcr.io/tydukes/coding-style-guide:latest lint

format:
 docker run --rm -v $(PWD):/workspace \
   ghcr.io/tydukes/coding-style-guide:latest format

Common Issues

Problem Quick Fix
Permission denied in Docker Add --user $(id -u):$(id -g) to the docker run command
Hundreds of errors on first run Run format first, then validate again
CI pipeline is slow Use lint mode instead of validate (skips docs build)
Metadata validation fails on legacy code Start with non-blocking mode; add @module tags incrementally
Pre-commit hooks are slow Move full validation to push stage; keep only formatters on commit
Container fails to pull in CI Pin to a specific version tag: ghcr.io/tydukes/coding-style-guide:v1.8.0

See FAQ for more detailed answers.


Next Steps

After completing your first validation:


Resources

Container Commands Cheat Sheet

# Validate entire project
docker run --rm -v $(pwd):/workspace ghcr.io/tydukes/coding-style-guide:latest validate

# Lint only (faster — skips docs build)
docker run --rm -v $(pwd):/workspace ghcr.io/tydukes/coding-style-guide:latest lint

# Auto-format code
docker run --rm -v $(pwd):/workspace ghcr.io/tydukes/coding-style-guide:latest format

# Build documentation
docker run --rm -v $(pwd):/workspace ghcr.io/tydukes/coding-style-guide:latest docs

# Validate metadata tags only
docker run --rm -v $(pwd):/workspace ghcr.io/tydukes/coding-style-guide:latest metadata

# Show all available commands
docker run --rm ghcr.io/tydukes/coding-style-guide:latest help