--- id: wiki-2026-0508-modern-environment-ecosystem title: Modern Environment Ecosystem category: 10_Wiki/Topics status: verified canonical_id: self aliases: [Dev Environment 2026, Modern Toolchain] duplicate_of: none source_trust_level: A confidence_score: 0.9 verification_status: applied tags: [tooling, devex, ecosystem] raw_sources: [] last_reinforced: 2026-05-10 github_commit: pending tech_stack: language: any framework: any --- # Modern Environment Ecosystem ## 매 한 줄 > **"매 2026 dev environment 매 reproducible, fast, AI-assisted"**. 매 Docker (2013) → 매 nix/devcontainer/devbox → 매 Bun/Deno + AI editors (Cursor, Claude Code) 의 stack. 매 lockfile + container + AI agent 의 trinity. ## 매 핵심 ### 매 layers (2026 stack) 1. **Hardware**: M-series Mac, Linux (Asahi/native), Cloud VM. 2. **OS / shell**: macOS / Linux + zsh / fish, atuin, starship. 3. **Package manager**: brew, mise, nix, devbox. 4. **Lang runtime**: Bun (1.2+), Deno (2.x), Node 22 LTS, Python 3.13 + uv, Rust 1.85. 5. **Container**: Docker Desktop, Podman, OrbStack. 6. **Editor**: Cursor, Claude Code (CLI), VSCode + Copilot. 7. **CI**: GitHub Actions, Buildkite, Dagger. ### 매 modern shifts (2025-2026) - Bun replacing npm/pnpm/tsc/jest in many JS projects. - uv replacing pip/poetry in Python. - AI-first editors (Cursor, Claude Code) 매 default. - Devcontainers (.devcontainer.json) 매 reproducible setup. ### 매 응용 1. Onboarding-day-zero — clone + 1-command setup. 2. CI parity with local. 3. Multi-repo monorepo workflows. ## 💻 패턴 ### `mise` (asdf successor) for tool versioning ```toml # .mise.toml [tools] node = "22.14.0" python = "3.13.2" bun = "1.2.0" go = "1.23" ``` ### `devcontainer.json` (VSCode / Codespaces) ```json { "name": "app-dev", "image": "mcr.microsoft.com/devcontainers/typescript-node:22", "features": { "ghcr.io/devcontainers/features/docker-in-docker:2": {}, "ghcr.io/devcontainers/features/git:1": {} }, "postCreateCommand": "bun install", "customizations": { "vscode": { "extensions": ["dbaeumer.vscode-eslint"] } } } ``` ### Bun project (replaces node + npm + tsc + jest) ```bash bun init bun add hono bun run dev # built-in --watch bun test # built-in test runner bun build ./src/index.ts --target=bun ``` ### Python with `uv` (10-100x pip) ```bash uv init uv add fastapi uvicorn uv run uvicorn main:app --reload uv lock --upgrade ``` ### Devbox (nix-based, simpler) ```json { "packages": ["nodejs@22", "python@3.13", "postgresql@16"], "shell": { "init_hook": ["echo welcome"] } } ``` ### Claude Code as default agent ```bash claude # interactive claude /init # generate CLAUDE.md claude /review # review pending PR ``` ### CI (GitHub Actions, modern matrix) ```yaml jobs: test: strategy: matrix: { os: [ubuntu-24.04, macos-14], bun: ['1.2'] } runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - uses: oven-sh/setup-bun@v2 with: { bun-version: ${{ matrix.bun }} } - run: bun install --frozen-lockfile - run: bun test ``` ## 매 결정 기준 | Need | Tool (2026) | |---|---| | JS runtime/package | Bun | | Python deps | uv | | Tool versioning | mise | | Reproducible env | devcontainer / devbox | | AI coding | Cursor / Claude Code | **기본값**: mise + Bun (JS) + uv (Python) + devcontainer + Claude Code. ## 🔗 Graph - 부모: [[Developer-Experience]] - 응용: [[Monorepo]] · [[CI-CD-Pipeline]] - Adjacent: [[Bun]] · [[Deno]] · [[Claude-Code]] ## 🤖 LLM 활용 **언제**: setting up new project, onboarding, CI parity. **언제 X**: legacy frozen environments (use whatever already works). ## ❌ 안티패턴 - **Global installs**: 매 version drift. - **Untracked tool versions**: 매 "works on my machine". - **Skipping lockfile commits**: 매 reproducibility 매 broken. ## 🧪 검증 / 중복 - Verified (mise.jdx.dev, bun.sh, docs.astral.sh/uv, GitHub devcontainer spec). - 신뢰도 A. ## 🕓 Changelog | 날짜 | 변경 | |---|---| | 2026-05-08 | Phase 1 | | 2026-05-10 | Manual cleanup — Modern Env Ecosystem FULL with 2026 stack |