Tools: Oneconfig: A CLI That Detects Your Stack and Provisions Your Dev Environment (2026)

Tools: Oneconfig: A CLI That Detects Your Stack and Provisions Your Dev Environment (2026)

What it does

Why not just use Docker Compose?

What's detected today

The detection engine

What it's not

Try it Every repo has the same onboarding ritual: figure out the stack, install the right tools, start the right services, and hope the README is still accurate. I built Oneconfig because I got tired of writing READMEs that went stale. Oneconfig is a single Go binary with two commands: oneconfig generate recursively scans your project — including monorepos with packages/ and apps/ workspaces — and infers your entire stack: languages, runtimes, package managers, frameworks, databases, env files, Dockerfiles, Makefiles, Procfiles. It outputs a single oneconfig.yml. oneconfig up reads that YAML and executes a deterministic pipeline: install runtimes, resolve dependencies, inject env vars, start services in dependency order, run health checks, then execute post-start steps like migrations and seeds. Docker Compose and devcontainers solve this problem, but they require upfront configuration. You write a Dockerfile. You define services. You maintain it. Oneconfig assumes you already have a working project with lockfiles and config files. It reads what's there and generates the setup automatically. If you outgrow it, the generated YAML is a useful starting point for something heavier. The core is a simple Detector interface: Adding a new ecosystem is one file. The engine recursively walks your repo, scores matches, and resolves conflicts when multiple detectors hit the same files. Config validation happens against a JSON Schema before up runs anything. Services start in topologically sorted order. Health checks use TCP and HTTP probes with configurable timeouts. The generated oneconfig.yml is meant to be committed alongside your code — executable documentation for your dev setup. Templates let you quickly answer FAQs or store snippets for re-use. Hide child comments as well For further actions, you may consider blocking this person and/or reporting abuse

Code Block

Copy

type Detector interface { Detect(projectDir string, result *ScanResult) error } type Detector interface { Detect(projectDir string, result *ScanResult) error } type Detector interface { Detect(projectDir string, result *ScanResult) error } go install github.com/Thanos2002/Oneconfig@latest cd your-project/ oneconfig generate oneconfig up go install github.com/Thanos2002/Oneconfig@latest cd your-project/ oneconfig generate oneconfig up go install github.com/Thanos2002/Oneconfig@latest cd your-project/ oneconfig generate oneconfig up - Languages: Node.js, Python, Go, Rust, Java, Ruby - Package managers: npm, yarn, pnpm, bun, pip, Poetry, uv, Pipenv, Cargo, Maven, Gradle, Bundler - Frameworks: Next.js, Django, FastAPI, Flask, Streamlit, Gradio, Rails, Sinatra - Databases: PostgreSQL, MongoDB, Redis, MySQL (spun up via Docker) - Infrastructure: Dockerfile, docker-compose.yml, Makefile, Procfile - Not a container runtime or replacement for Docker in production - Not a CI/CD tool — purely for local dev environment setup - Not magic — undocumented system-level dependencies still require manual addition