Eask was originally designed as a package development tool for Elisp projects. However, it has since expanded to support a wide range of Emacs Lisp tasks. It can now be used in three major ways:
With these capabilities in mind, what sets Eask apart from other build tools like Cask, makem.sh, and Eldev?
Great question! Eask has evolved beyond just a build toolβit serves multiple purposes! Hereβs what Eask aims to be:
byte-compilation
, checkdoc
, and more.π P.S. See Why Eask? for more detailed information.
Eask
follows the same philosophy as Cask. To understand why you should use Eask
(or Cask), check out the Why Cask? section on their website.
Many tools, such as Cask, makem.sh, and Eldev, donβt fully support Windows. Cask
has dropped support for Legacy Windows, makem.sh
relies on Bash, and while Eldev
does support Windows, its author doesnβt actively use it on the platform, meaning it lacks full testing (as seen in their CI workflows). In contrast, Eask
is designed to work across all major platforms, including Linux, macOS, and Windows It prioritizes cross-platform compatibility and ensures consistency across different operating systems. If Eask
runs on your machine, it will work reliably on any platform.
Hereβs our recommendation: if youβre developing an OS-specific package that will never need cross-platform support, other tools may be a better fit. However, if you want a tool that ensures seamless consistency across different operating systems, Eask is an excellent choice.
Another major advantage of Eask
is its transparencyβthere are no hidden workflows or obscure processes running in the background. Additionally, Eask
strictly avoids hacks or workaround fixes, ensuring that solutions are clean, maintainable, and aligned with best practices.
The table was compiled by reading these projectsβ documentation and source code, but the author is not an expert on these tools. Corrections are welcome.
The table shows what technology has been chosen by their author and how the project is being constructed. Furthermore, what technical decisions have they made? Drop support? Projectβs layout? Etc.
Eask Cask Eldev makem.sh bin folder binary, bash, bat bash, bat bash, bat, ps1 bash Cross-Platform β β, no Windows support β β, no Windows support Emacs version 26.1+ 24.5+ 24.4+ 26.1+ Size 9,000+ lines 3,000+ lines 8,000+ lines 1,200+ lines Executable β β β β Pure Elisp β, JavaScript β β β CLI Parser yargs commander built-in built-inNote
π‘
makem.shhas a good comparisons document as well, visit their
site
This is the feature comparison between each tool. Every tool has its advantages; choose the right tool that works for you!
If the features are not listed below, either it is forgotten or simply considered too essential, so every tool has it; hence we donβt add them to the list.
Eask Cask Eldev makem.sh Elisp configuration β , DSL is optional β, DSL only β , pure elisp β Handlearchives
failure β
, see archives β β β create
project, etc β
β β β link
local dependencies β
β
β
β exec
program β
β
β β eval
expressions β
β
β
β emacs
execution β
β
β β Support docker
β
β β
β Built-in linters
β
β β
β Built-in tests
β
β β
β Run script β
β β β Self-defined commands β
β β
β Subcommand β
β β β
0.11.x
- Add commands install-file
and install-vc
.0.10.x
- Add five new commands and improve the default user experience.0.9.x
- Enhance overall user experience.0.8.x
- Add link
command.0.7.x
- Fix default-directory
isnβt honored by -g option.0.6.x
- You can now use eask create
to create an Elisp project.0.5.x
- Handle error for failed archive.0.4.x
- Add color logger.0.3.x
- Add verbosity level and timestamps.0.2.x
- Done basic error handling with exit code at the end of executions.publish
command; to publish the package to the eask archive?The design of Eask was greatly influenced by the following projects:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4