1
0
mirror of https://github.com/go-task/task.git synced 2024-12-14 10:52:43 +02:00
task/website/docs/intro.mdx

62 lines
1.9 KiB
Plaintext
Raw Normal View History

---
slug: /
sidebar_position: 1
title: Home
hide_title: true
---
2020-12-27 23:55:55 +02:00
<div align="center">
<img id="logo" src="/img/logo.svg" height="250px" width="250px" />
2020-12-27 23:55:55 +02:00
</div>
<br />
2020-12-27 23:55:55 +02:00
2018-10-07 23:34:03 +02:00
Task is a task runner / build tool that aims to be simpler and easier to use
than, for example, [GNU Make][make].
2018-09-22 23:44:24 +02:00
2018-10-07 23:34:03 +02:00
Since it's written in [Go][go], Task is just a single binary and has no other
dependencies, which means you don't need to mess with any complicated install
setups just to use a build tool.
Once [installed](/installation), you just need to describe your build tasks
2018-10-07 23:34:03 +02:00
using a simple [YAML][yaml] schema in a file called `Taskfile.yml`:
```yaml title="Taskfile.yml"
2020-08-17 03:01:49 +02:00
version: '3'
2018-10-07 23:34:03 +02:00
tasks:
hello:
cmds:
- echo 'Hello World from Task!'
silent: true
```
2022-04-01 07:14:38 +02:00
And call it by running `task hello` from your terminal.
2018-10-07 23:34:03 +02:00
The above example is just the start, you can take a look at the [usage](/usage)
2018-10-07 23:34:03 +02:00
guide to check the full schema documentation and Task features.
## Features
- [Easy installation](/installation): just download a single binary, add to
`$PATH` and you're done! Or you can also install using [Homebrew][homebrew],
[Snapcraft][snapcraft], or [Scoop][scoop] if you want.
- Available on CIs: by adding
[this simple command](/installation#install-script) to install on your CI
script and you're ready to use Task as part of your CI pipeline;
2018-10-07 23:34:03 +02:00
- Truly cross-platform: while most build tools only work well on Linux or macOS,
Task also supports Windows thanks to [this shell interpreter for Go][sh].
- Great for code generation: you can easily
[prevent a task from running](/usage#prevent-unnecessary-work) if a given set
of files haven't changed since last run (based either on its timestamp or
content).
2018-09-22 23:44:24 +02:00
2024-03-19 21:48:46 +02:00
{/* prettier-ignore-start */}
2018-09-22 23:44:24 +02:00
[make]: https://www.gnu.org/software/make/
[go]: https://go.dev/
2018-10-07 23:34:03 +02:00
[yaml]: http://yaml.org/
[homebrew]: https://brew.sh/
[snapcraft]: https://snapcraft.io/
[scoop]: https://scoop.sh/
2022-06-15 19:33:15 +02:00
[sh]: https://github.com/mvdan/sh
2024-03-19 21:48:46 +02:00
{/* prettier-ignore-end */}