- Category
- Developer Tools
- Rank
- No. 1529Tools index
Previous survey · No. 1536 ·
- Pricing
- Open Source
- Type
- TOOL
- Builder
- coollabsio
- GitHub
- 136 stars
- Latest release
- v0.0.2
- Date
About
Zero-config buildpack that analyzes any codebase and produces a container image — built by the Coolify team.
What it does
Coolpack is a Go command-line tool that inspects JavaScript project metadata and configuration, creates a reusable build plan, generates a multi-stage Dockerfile, and can ask Docker to build or locally run the resulting image.
Why it's ranked here
The strongest case is inspectability plus escape hatches. You can preview the inferred plan, save and edit it, or override commands, packages, versions, output mode, and static server. Its broad framework list is tempered by one implemented language provider.
What's good
Generated builds use separate build and runtime stages, BuildKit cache mounts, and non-root runtime users. Coolpack distinguishes build-time variables from runtime secrets, detects several native package requirements, recognizes multiple package managers, and configures fallback routing for detected single-page applications.
Tradeoffs
Despite general-purpose wording, the detector currently registers only a Node.js provider, with Bun handled through that provider. Framework and mode detection remains heuristic. Local running is explicitly for development. The documented source requirement says Go 1.21 or newer, while the module declares Go 1.25.4.
How to use it well
Use Coolpack when a JavaScript or Bun project needs a reviewable path from project metadata to a Docker image. Inspect and save the plan first, then pin overrides for reproducible builds. Keep deployment, production orchestration, secret injection, and runtime operations in adjacent tooling.
Technical notes+
main.go delegates to the Cobra CLI under cmd/coolpack/. pkg/detector/detector.go registers only pkg/providers/node/node.go, whose detection requires package.json and emits the model defined in pkg/app/plan.go. pkg/providers/node/framework.go uses dependency checks plus tree-sitter parsing from pkg/providers/node/config_parser.go to distinguish static and server modes. pkg/generator/generator.go emits provider-specific multi-stage Dockerfiles, BuildKit cache mounts, non-root users, and Caddy or nginx static stages. pkg/providers/node/native_deps.go maps known Node packages to APT dependencies. go.mod declares Go 1.25.4 and includes Cobra and go-tree-sitter.
Observed
- Primary language
- Go
- Interface
- Command-line application with plan, prepare, build, run, and version commands
- Installation surface
- Shell-based quick installer or source build producing a standalone binary
- Build requirement
- Docker with BuildKit support is required to build container images
- Implemented provider
- Only the Node.js provider is registered; it also handles Bun projects
- Static serving
- Caddy is the default static server, with nginx available as an option
Read from README.md, go.mod, main.go, pkg/app/plan.go, pkg/app/context.go, pkg/detector/types.go, pkg/version/version.go, pkg/detector/detector.go, pkg/generator/generator.go, pkg/providers/node/node.go, pkg/providers/node/version.go, pkg/providers/node/framework.go, pkg/providers/node/native_deps.go, pkg/providers/node/package_json.go, pkg/providers/node/config_parser.go.
What it can do
Analyze codebase automatically
Source code repository or codebase → Analysis of code structure and dependencies
Generate container image from code
Analyzed codebase → Docker container image
Detect programming language and framework
Source code files → Identified language and framework specifications
Configure build environment automatically
Code analysis results → Build configuration settings
Package application with dependencies
Source code and dependency specifications → Self-contained application package
Tags
Tech Stack
Media

Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.
