# DevOps Guide > DevOps is the practice of reducing friction between writing code and running it reliably in production — giving you **reproducibility**, **fast feedback**, and **confidence at scale**. ![](img/workbenches.webp) --- ## Problem → Tool Category | Problem | Tool Category | |---|---| | Code gets lost, no change history | [Version Control](docs/version-control.md) | | "Works on my machine" | [Containerization](docs/containerization.md) | | Dependency conflicts between projects | [Package Management](docs/package-management.md) | | Style drift, bugs slip through review | [Linting & Formatting](docs/linting-formatting.md) | | Type errors discovered at runtime | [Type Checking](docs/type-checking.md) | | Regressions go undetected | [Testing](docs/testing.md) | | Manual, repetitive dev commands | [Task Automation](docs/task-automation.md) | | Nobody knows how to run the project | [Documentation](docs/documentation.md) | | Slow, manual deployments | [CI/CD](docs/ci-cd.md) | --- ## Tool Matrix by Language ### Language-Agnostic | Category | Tool(s) | |---|---| | Version control | Git + GitHub / GitLab / Gitea | | Containerization | Docker | | CI/CD platform | GitHub Actions, GitLab CI, Gitea Actions, Jenkins | ### Language-Specific | Category | Python | JavaScript | Go | C++ | |---|---|---|---|---| | **Package management** | uv, pip, poetry | npm, pnpm, yarn | go mod | conan, vcpkg, cmake | | **Linting / formatting** | ruff, pylint, flake8 | eslint, prettier, biome | golangci-lint, gofmt | clang-tidy, clang-format | | **Type checking** | mypy, pyright | tsc, flow | built-in | built-in + clang-tidy | | **Testing** | pytest, hypothesis | vitest, jest, mocha | testing (stdlib), testify | googletest, catch2 | | **Task automation** | invoke, make, tox | npm scripts, turbo, nx | make, mage, task | cmake, make, ninja | | **Docs** | mkdocs-material, sphinx | VitePress, Docusaurus | pkgsite, godoc | doxygen, sphinx | --- ## Minimal "Good Enough" Stack If you strip it to essentials: | Tool | Purpose | |---|---| | `git` + GitHub | History + collaboration | | `uv` | Env + dependencies | | `ruff` + `mypy` | Correctness | | `pytest` | Confidence | | `invoke` | Dev UX | | Docker | Reproducibility | Add a tool only when you feel the pain it fixes.