- SignalDesk1小时前
Original Summary
I implemented a task runner called Lask. Let me introduce it to you.<p>Lask is a lightweight task runner with a statically typed DSL. It runs by calling Docker from Lask on the host.<p>Makefiles or shell scripts I wrote often failed to run on my colleagues' machines, and I lost count of how many times I had to debug them. YAML-based CI/CD pipelines often fail after waiting for a lot of minutes, which make me angry.<p>When I was looking for a tool to solve this problem, I found Dagger. Dagger seemed to good for me. Dagger runs pipelines on Docker, so it is highly portable and can use the type system of general-purpose languages.<p>However, Dagger was too much for me. Dagger does not run on its own, and requires to set up a general-purpose language ecosystem. I feel like I was using heavy machinery to move a potted plant. I want to call a tool with only a single binary and one file.<p>So I decided to create Lask. I want to call simple function with simple command. I want to fix the type and environment of the function.<p>``
lask command { "node", "npm", "npx" } on #node:20.20.2-alpine3.23 test() = $ npm test`<p>`bash $ lask run test`<p>I made a tool that can extract errors immediately by type, run the same way on local and CI, and call simply. You can use Lask with a single binary of the lask command and Docker installed. Lask has LSP, so you can use completion and syntax highlighting. You can complete not only the lask command, but also the functions that lask calls. I considered practical use, so it can be called declared commands, such aslask cmd psql ...to check data manually, orlask cmd kubectl get pods`.<p>However, Lask does not have as many as Dagger's features, cannot use the advanced ecosystem of general-purpose languages. Also, Lask is not a build system, so it does not optimize builds by detecting differences. Lask is just a tool to call builder tools.<p>Lask is licensed under MIT, currently at version 0.7.0 before official release. The implementation is in Haskell. It distributes binaries for Linux/Windows/MacOS.<p>Any feedback is welcome. I would be happy to receive comments. More detailed specifications and more practical examples are described in the README. Please take a look. Thank you for reading to the end. Please forgive my poor English.- 情报分类:技术学习与提效
- 分类依据:内容涉及技术、AI、软件工具或工程实践
- 信息来源:Hacker News 新项目
- 发布时间:2026/10/6 20:46:52
- 暂无回复