vibe-ship: Your Code Works. Now Actually Ship It.

There is a new kind of developer in the world. They describe what they want, an AI writes most of the code, and twenty minutes later something real is running on localhost. People call it vibe coding, and honestly, I love it. More people building things is a win, full stop.
But I kept noticing where the story ends. It ends at localhost. The app works, the screenshot goes in the group chat, and then comes the question that kills the momentum: "how do I put this online?" Suddenly the vibe coder is staring at Dockerfile syntax, GitHub Actions YAML, and a Stack Overflow thread from 2019. Most projects do not survive that night.
vibe-ship exists for that exact moment.
What it actually does
vibe-ship is an open source skill for Claude Code. You install it once, and from then on you just say what you mean: "dockerize this app" or "make this production-ready." The skill activates on its own, reads your codebase, works out what stack you are running, and generates the entire deployment layer in one pass:
- A multi-stage
Dockerfiletuned to your stack, not a generic template - A
docker-compose.ymlthat already knows about your database and services - A GitHub Actions workflow for CI/CD
- An
.env.exampleso your secrets stay out of the repo - Kubernetes manifests, if you ask for them
It auto-detects Node, Python, Go, Java and Kotlin, Ruby, Rust, PHP, and plain static frontends. No config file, no wizard with twelve questions. It looks at what you built and meets you there.
The part I am most proud of
Generating files is only half the job. The half nobody does is checking the setup you already have. vibe-ship ships with a standalone security auditor, a Python script that statically analyzes your Docker and CI configuration and flags the classic mistakes: containers running as root, secrets baked into images, missing health checks. It does not even need Docker installed to run, and it will happily audit files it did not create.
That was a deliberate design rule from day one: generate working files, never checklists. A checklist tells you that you have homework. A working file means the homework is done and you are reviewing it instead of writing it. The difference sounds small. In practice it is the difference between shipping tonight and shipping never.
Try it in one minute
If you use Claude Code, this is the fastest route:
/plugin marketplace add sudais-khalid/vibe-ship
/plugin install vibe-ship@vibe-ship
Then open any project and say "make this production-ready." That is the whole tutorial. The repo has manual install options too, including one for claude.ai.
vibe-ship on GitHub →It is MIT licensed, and the roadmap is open. If it saves your project from dying on localhost, tell me about it. If it breaks on your weird monorepo, tell me even faster. Shipped tools get better because real people run them on real code, and that feedback loop is the entire reason I publish my work instead of keeping it in a folder.
Ideas are cheap until shipped. This one is shipped. Your move.