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 1: Docker (Recommended — fastest start)¶
- Docker installed (Get Docker)
Option 2: Local Python setup¶
- Python 3.10 or higher
- uv package manager
- Git
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:
- Read the language guide for your primary language
- Review Anti-Patterns to avoid common mistakes
- Configure IDE settings for real-time feedback
- Explore Metadata Schema for AI-annotation standards
- Check your team's adoption level with the Maturity Model
Resources¶
- Documentation: https://tydukes.github.io/coding-style-guide/
- GitHub: https://github.com/tydukes/coding-style-guide
- Container:
ghcr.io/tydukes/coding-style-guide:latest - Issues: GitHub Issues
- Changelog — Version history
- Glossary — Terminology
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