choose-stack · git:20260530.d3be4dd · 2026-05-30 · sha256 216df4ad76191918
choose-stack git:20260530.d3be4ddA
Immutable. This exact content never changes and is served at /api/v1/blob/216df4ad76191918.
--- name: choose-stack description: > Canonical tech-stack reference organized by purpose: release/versioning (sr), docs/demos (teasr, fsrc), codegen (oag), and per-language tools (cargo, clippy, clap, golangci-lint, biome, tsdown, uv, ruff, ty, pytest, pydantic, fastapi). Use when choosing a library, picking the standard CLI/linter/logging tool for a language, setting up a project, or asking "what do we use for X." Do NOT use for coding patterns or error-handling idioms (use write-code) or testing frameworks in depth (use test-code). allowed-tools: Read, Grep, Glob metadata: title: Tools Reference category: development order: 2 --- # Tools Reference ## Release & Versioning - **sr** (semantic-release) automated versioning, changelog, GitHub releases, AI-powered commits/rebase/review/PR generation (multi-backend: Claude, Copilot, Gemini) ## Documentation & Demos - **teasr** automated screenshot/GIF capture (web, terminal, screen) - **fsrc** sync source code into markdown files ## Code Generation - **oag** (openapi-generator) OpenAPI → TypeScript/React/Python clients ## Rust - **cargo** build system and package manager - **clippy** linting and idiomatic Rust checks - **clap** command-line argument parsing - **cross** cross-compilation for ARM/musl targets - **cargo-insta** snapshot testing ## Go - **wails** desktop applications with Go backend and web frontend - **golangci-lint** comprehensive Go linting - **go-rod** browser automation ## Node - **ncc** compile Node.js modules into single files - **tsdown** TypeScript bundler (Rolldown-based) - **biome** linting and formatting for JS/TS - **turbo** monorepo build system (task caching, parallel execution) ## Python - **uv** package manager and virtual environment tool - **ruff** linting and formatting - **ty** static type checking - **pytest** testing framework - **pydantic** data validation with type annotations - **fastapi** async web framework - **logging** (stdlib) foundation layer; prefer over loguru (`logging.getLogger(__name__)`) - **structlog** structured/JSON logging on top of stdlib; use when services need machine-readable output - **loguru** quick scripts and one-off CLIs only; never in libraries or production services - **opentelemetry** tracing, metrics, and log export (otel-sdk + otel-exporter-otlp); stdlib logging has first-class OTel support, structlog works transitively