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.
- Zetken CI/CD Studio · ph · 2026-09-14 · 3 upvotes · similarity 0.43
- DSCI · hn · 2026-02-15 · 19 upvotes · similarity 0.43
- A visual CI/CD system · hn · 2026-04-22 · 7 upvotes · similarity 0.42
- CI/CD in your terminal, zero YAML · hn · 2026-03-25 · 7 upvotes · similarity 0.39
- I built Wool, a lightweight distributed Python runtime · hn · 2026-03-14 · 15 upvotes · similarity 0.38
- Nori CLI, a better interface for Claude Code (no flicker) · hn · 2026-01-14 · 37 upvotes · similarity 0.38
- Pyra · hn · 2026-04-17 · 13 upvotes · similarity 0.38
- Codex CLI compiled to WASM running in the browser · hn · 2026-08-19 · 5 upvotes · similarity 0.38
Other launches for this product
- No other launches for this product.
Same idea, different domain
Nobody's really built a dev tools tool for Sales yet.