cd /news/developer-tools/show-hn-there-are-many-factories-but… · home topics developer-tools article
[ARTICLE · art-101052] src=github.com ↗ pub= topic=developer-tools verified=true sentiment=· neutral

Show HN: There are many factories, but this one's *yours

Mikael Weiss released Penguin, an open-source TypeScript workflow builder that lets developers define their own software factory workflows with deterministic pauses and adapters, addressing flaws in existing coding harnesses. Installable via `npm install -g @mikaelweiss/penguin`, Penguin is in early beta and available on GitHub.

read2 min views1 publishedAug 18, 2026

All coding harnesses and code factories have a few major flaws: 1. You don't get to pick the workflow - someone else decides the workflow for you 2. It's often unclear when the human is needed - is the agent done, or do you need to verify? 3. You're limited to prose and all it's downsides - nested logic and complex compesition is pretty much out of the question 4. We end up relying heavily on agents calling mcp's or cli's for things that should be deterministic calls

You don't get to pick the workflow #

Why should the guys at vercel, linear, factory, anthropic, or openai decide what workflow is best for you?

Penguin flips that:

YOU decide what workflow is best.

Three concepts: Workflows - what's run Adapters - a way to connect to the outside world Messages - async or sync sent between workflows and adapters

With these three primitives, you can build incredibly complex workflows including, but not limited to, software factories.

It's often unclear when the human is needed #

With Penguin, you can write deterministic s in workflow ("New messages from slack, would you like to implementing or read them after?")

When an agent stops it's either because the agent needs human input or because it is done. When done, the workflow moves on to the next step until a human is needed. There is clear separation between an agent finishing and human input needed.

You're limited to prose and all it's downsides #

If you want a workflow that runs another workflow that runs another workflow that runs several agents and it runs all those workflows in peralell, you just can't do that with prose very easily. Code is much more clear The workflows and adapters all are written in TypeScript making it incredibly straightforward to build a new workflow or adapter.

We end up relying heavily on agents calling mcp's or cli's for things that should be deterministic calls #

When you implement a github issue, jira ticket, or review a PR, you are ALWAYS going to pull the info from those sources, and you can do this with a script. There's no need for the agent to use an MCP.

Final notes #

You can build a workflow that has steps, blockers, and all, without ever even calling an agent.

You can make workflows that respond to all kinds of triggers: Slack, GitHub, Jira, User, a webhook, anything you can bulid an adapter for

Penguin is the ultimately composable workflow builder

Install with: npm install -g @mikaelweiss/penguin

https://github.com/mikaelweiss/penguin Still early beta, but I've already started using Penguin at work as well as to build Penquin!

Comments URL: [https://news.ycombinator.com/item?id=49342987](https://news.ycombinator.com/item?id=49342987)

Points: 1

── more in #developer-tools 4 stories · sorted by recency
── more on @mikael weiss 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/show-hn-there-are-ma…] indexed:0 read:2min 2026-08-18 ·