Nicheloom

Market intelligence for builders — see what's gaining traction before it's crowded.

Hm

a task runner with a Python DSL, growing into a CI/CD system

Details

External ID
48296828
Source
HN
Company
—
Product
Hm
Website domain
github.com
Launched
May 27, 2026
Cohort
—
Upvotes
12
Upvotes percentile
0.6397415185783522
Tags
—
Fetched at
Sept. 7, 2026, 9:26 p.m.
Updated at
Sept. 7, 2026, 9:26 p.m.

Description

Hi HN! My name is Marko and I am working on a CI/CD system at harmont.dev, a CI/CD system that sucks slightly less. As I've been working on the cloud, I realized that the CLI might be generally useful as a task runner, even if you don't care for our CI/CD, and that's what I'm sharing here!Every CI system I've used at Tesla, Bun, and mesa.dev has had the same problems: stateless and slow (GHA), or stateful and horizontally unscalable (Jenkins), with YAML on top of either. The straw that broke the camel's back for me was the realization that all my Claudes are waiting upwards of an hour. So I quit my job to work on harmont, which aims to solve all of these pain points I've had.In its current state, the project is very similar to Dagger in spirit with the core difference of harmont having what I believe to be a more pleasant API as well as being smaller in scope.I'm looking for opinions and feedback. What might be the most interesting with the CLI is the DSL -- I've tried to make it ergonomic and friendly. To get started: curl -fsSL https://get.harmont.dev/install.sh | sh mkdir foo cd foo uv init cat >> pyproject.toml <<EOF [dependency-groups] dev = [ "pytest", "ruff", "ty", ] EOF # Create the pipeline mkdir .harmont cat > .harmont/pipeline.py <<EOF import harmont as hm from harmont.python import PythonToolchain @hm.target() def project() -> PythonToolchain: return hm.python(path=".") @hm.pipeline( "ci", default_image="ubuntu:24.04", triggers=[hm.push(branch="main")], ) def ci(project: hm.Target[PythonToolchain]) -> tuple[hm.Step, ...]: return ( project.test(), project.lint(), project.fmt(), project.typecheck(), ) EOF hm run Currently our API has pretty good support for Rust, Typescript and Python. There are other languages that are "supported" in the examples, but those are mostly demo APIs and are likely to change, aggressively. The project is early, but usable and I'd love to get your feedback.What's coming next: - COW filesystems: In a future release of hm, we mount FS layers on top of preceding layers, copy-on-write. I ran some experiments and they resulted in up to 40% faster runs on `uv run ruff`-style commands. - Development containers: `hm dev` enables you to spin up your application in however many instances you need -- if you have a local application, there is nothing stopping you from spinning it up once, twice, or 10 times. - The cloud: In parallel to the CLI, I've been working on the cloud, which I am hoping to private-access release in the coming month. It follows the same model as the CLI, but uses a very different execution engine (supporting RAM caches too, for you Bazel enjoyers =). - Additional language SDKs -- The private-access cloud is written in Haskell, Elixir and Rust. We already have harmont rules for Rust (which I would suggest you check out in Harmont's very own dogfood pipeline: https://github.com/harmont-dev/harmont-cli/blob/main/.harmont/ci.py), but we're adding more languages! - Plugin system: I recognize that not everyone will want to join the Harmont cloud but may find some utility in the Harmont task runner. At some point, I had a plugin system in place that allowed you to download and use harmont without any cloud-specific bloat, but unfortunately I tore that out, because the code wasn't great. Definitely working on bringing that back. Full disclaimer: I am the founder of Harmont, Inc. PBC. We are committed to the CLI remaining open-source and as bloat-free as possible and doing the best we can with the cloud for the community.PS: I've gotten questions about the name. It is a reference to https://en.wikipedia.org/wiki/Roadside_Picnic (awesome sci-fi book, worth a read =) )

Enrichment

Theme
AI agent frameworks and developer tools
Vertical
Horizontal
Function
Dev tools
Audience
Developer
AI stance
Not AI
Project type
Commercial product
Normalized one-liner
task runner and ci/cd system
Manually corrected
False

Could you build this?

Yes Creating a CLI task runner that evaluates tasks defined via a Python DSL and orchestrates shell execution or containers is well within the scope of vibe coding.

Discussion

1 comment analyzed.

Competitors mentioned: Bazel

Feature requests: dev command integration with Vite for unified frontend/backend setup with HMR support

Competitors

Other products that read as similar to this one — 57 launches clear the similarity bar, closest 8 shown.

Attention rank: #27 of 58 (itself plus its competitors, highest first — normalized so YC and Product Hunt are compared fairly).

Launched 203 days after the earliest competitor.

Other launches for this product

Same idea, different domain

Nobody's really built a dev tools tool for Sales yet.