# Software Dev Flow Tools > Modern developer tooling ecosystem: from local dev to cloud, covering IDEs, linters, formatters, testing, CI/CD, project management, and collaboration in 2026. --- ## 1. IDEs & Code Editors | Tool | Best For | Key Features | | :--- | :--- | :--- | | **VS Code** | General, Python, Web | Extensions, Copilot, DevContainers | | **Cursor** | AI-first coding | GPT-4o/Claude inline, codebase chat | | **Zed** | Speed-focused | GPU-accelerated, Rust-native, fast | | **JetBrains IDEs** | Enterprise Java/Python | Deep refactoring, IntelliJ/PyCharm | | **Neovim + LazyVim** | Terminal power users | LSP, Treesitter, fully configurable | ### VS Code Power Tips ``` Ctrl+P -> Quick file open Ctrl+Shift+P -> Command palette Ctrl+` -> Toggle terminal Ctrl+K Ctrl+S -> Keyboard shortcuts Ctrl+B -> Toggle sidebar F12 -> Go to definition Shift+F12 -> Find all references Ctrl+. -> Quick fix / refactor ``` --- ## 2. Version Control & Git Workflows ### Git Flow vs Trunk-Based | Approach | When to Use | Key Principle | | :--- | :--- | :--- | | **Git Flow** | Versioned releases, large teams | `main`, `develop`, `feature/*`, `release/*` branches | | **Trunk-Based** | CI/CD-heavy, fast teams | All devs push to `main` daily, feature flags for WIP | | **GitHub Flow** | Web apps, frequent deploys | `main` always deployable, PR per feature | ```bash # Trunk-based setup git checkout -b feat/my-feature git commit -m "feat: add search" git push origin feat/my-feature # -> Open PR -> merge to main -> deploy # Conventional Commits (standard format) feat: add login page # new feature fix: resolve auth token bug # bug fix chore: update deps # maintenance docs: update README # documentation refactor: extract user model # code restructure ``` ### Git Tooling ```bash gh pr create --title "feat: add search" --body "closes #42" # GitHub CLI gh pr list # list open PRs gh issue create --title "Bug: ..." --label bug git log --oneline --graph --all # visual branch graph git bisect start # binary search for regressions git bisect bad HEAD git bisect good v1.0 ``` --- ## 3. Package & Environment Management ### Python Environment Tools | Tool | Use Case | Command | | :--- | :--- | :--- | | **uv** | Ultra-fast pip/venv replacement (2024+) | `uv pip install pandas` | | **Poetry** | Dependency + packaging | `poetry add requests` | | **pyenv** | Python version management | `pyenv install 3.12` | | **conda/mamba** | Data science envs | `mamba create -n ml python=3.11` | ```bash # uv (fastest Python package manager in 2026) uv venv .venv source .venv/bin/activate # Linux/Mac .venv\Scripts\activate # Windows uv pip install -r requirements.txt uv pip freeze > requirements.txt # Poetry poetry init poetry add pandas numpy scikit-learn poetry shell # activate env poetry run python script.py ``` ### Node Package Managers ```bash pnpm install # faster, disk-efficient alternative to npm bun install # Bun runtime - fastest JS package manager ``` --- ## 4. Code Quality Tools ### Linters & Formatters | Tool | Language | Purpose | | :--- | :--- | :--- | | **Ruff** | Python | Ultra-fast linter + formatter (replaces flake8+black) | | **Black** | Python | Opinionated formatter | | **isort** | Python | Import sorter | | **mypy / pyright** | Python | Static type checking | | **ESLint** | JS/TS | Linting | | **Prettier** | JS/HTML/CSS/JSON | Opinionated formatter | | **Biome** | JS/TS | Fast linter+formatter (Rust, replaces ESLint+Prettier) | ```bash # Ruff (Python - fastest, recommended 2026) ruff check . # lint ruff check --fix . # auto-fix ruff format . # format (like black) # mypy type checking mypy src/ --strict # Pre-commit hooks pip install pre-commit # .pre-commit-config.yaml: repos: - repo: https://github.com/astral-sh/ruff-pre-commit rev: v0.4.0 hooks: - id: ruff - id: ruff-format ``` --- ## 5. Testing Frameworks | Tool | Language | Type | | :--- | :--- | :--- | | **pytest** | Python | Unit, integration, fixtures | | **hypothesis** | Python | Property-based testing | | **Playwright** | Python/JS/TS | E2E browser testing | | **Vitest** | JS/TS | Unit tests (fast, Vite-native) | | **pytest-cov** | Python | Coverage reporting | ```python # pytest basics # tests/test_utils.py def test_add(): assert add(2, 3) == 5 def test_raises(): with pytest.raises(ValueError): parse_age("abc") # Fixtures @pytest.fixture def db_connection(): conn = create_connection() yield conn conn.close() # Run pytest tests/ -v pytest tests/ --cov=src --cov-report=html pytest tests/ -k "test_login" # run specific tests ``` --- ## 6. CI/CD Pipelines ### GitHub Actions (Most Common 2026) ```yaml # .github/workflows/ci.yml name: CI on: [push, pull_request] jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: "3.12" - run: pip install uv && uv pip install -r requirements.txt - run: ruff check . - run: pytest tests/ --cov=src - uses: codecov/codecov-action@v4 deploy: needs: test runs-on: ubuntu-latest if: github.ref == 'refs/heads/main' steps: - uses: actions/checkout@v4 - run: docker build -t myapp . - run: docker push ghcr.io/user/myapp ``` ### Other CI/CD Tools | Tool | Hosting | Best For | | :--- | :--- | :--- | | **GitHub Actions** | GitHub | Free for OSS, easy secrets | | **GitLab CI** | GitLab | Self-hosted, powerful pipelines | | **CircleCI** | Cloud | Parallelism, caching | | **Dagger** | Any | Portable pipelines in code | --- ## 7. Containerization ```bash # Docker essentials docker build -t myapp:latest . docker run -p 8000:8000 myapp docker compose up -d docker compose logs -f app docker exec -it container_name bash # Dockerfile best practices FROM python:3.12-slim # use slim images WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY . . CMD ["uvicorn", "main:app", "--host", "0.0.0.0"] ``` --- ## 8. Project Management & Collaboration | Tool | Type | Use Case | | :--- | :--- | :--- | | **Linear** | Issue tracking | Modern, fast, keyboard-first | | **GitHub Projects** | Kanban + Issues | Native GitHub integration | | **Notion** | Docs + DB | Team wiki, roadmaps | | **Obsidian** | Personal knowledge | Local markdown, graph view | | **Excalidraw** | Diagramming | Whiteboard, system diagrams | | **Mermaid** | Code-as-diagrams | Flowcharts in Markdown | ```mermaid graph LR A[Feature Request] --> B[GitHub Issue] B --> C[Branch Created] C --> D[PR Opened] D --> E[CI Passes] E --> F[Code Review] F --> G[Merged to Main] G --> H[Auto Deploy] ``` --- ## 9. Debugging & Observability | Tool | Purpose | Use | | :--- | :--- | :--- | | **pdb / ipdb** | Python debugger | `breakpoint()` in code | | **py-spy** | Python profiler | Flame graphs, no code changes | | **memory-profiler** | Memory usage | `@profile` decorator | | **Sentry** | Error tracking | Real-time crash reporting | | **OpenTelemetry** | Tracing | Distributed trace across services | | **Grafana** | Dashboards | Metrics visualization | ```python # Python debugging breakpoint() # drops into pdb at this line import ipdb; ipdb.set_trace() # ipdb (better UI) # py-spy profiling (no code changes needed) py-spy top --pid 1234 py-spy record -o profile.svg --pid 1234 # Memory profiling pip install memory-profiler from memory_profiler import profile @profile def my_func(): data = [i for i in range(1_000_000)] ``` --- ## 10. API Development Tools | Tool | Purpose | | :--- | :--- | | **FastAPI** | Python REST/async API framework | | **Hono** | Ultra-fast JS/TS API (edge-ready) | | **Bruno** | Local API testing (Postman alternative) | | **HTTPie** | CLI HTTP client | | **Insomnia** | API design + testing GUI | ```bash # HTTPie (better than curl for humans) http GET https://api.example.com/users http POST https://api.example.com/users name="Alice" age:=30 http GET https://api.example.com/data Authorization:"Bearer token123" # Bruno (local-first API testing) bru run collection.bru ``` --- ## 11. Documentation Tools | Tool | Format | Best For | | :--- | :--- | :--- | | **MkDocs + Material** | Markdown | Python project docs | | **Docusaurus** | MDX/React | OSS docs sites | | **Mintlify** | MDX | API docs with auto-gen | | **Sphinx** | reStructuredText | Legacy Python docs | ```bash # MkDocs Material pip install mkdocs-material mkdocs new my-docs mkdocs serve # local preview mkdocs gh-deploy # deploy to GitHub Pages ``` --- ## 12. Quick Dev Workflow Summary ``` New project: git init && uv venv .venv && source .venv/bin/activate uv pip install ruff pytest pre-commit pre-commit install Daily loop: git pull origin main git checkout -b feat/my-feature [write code] ruff format . && ruff check --fix . pytest tests/ git add -A && git commit -m "feat: ..." git push && gh pr create Code review: gh pr view --web [address comments] git commit --amend / git push --force-with-lease Deploy: merge PR -> CI/CD runs -> Docker build -> auto-deploy ```