way-magefile
Original:🇺🇸 English
Translated
Build tool for Go projects. Use when the user wants to create, edit, or understand Way-specific Magefiles, build targets, or automate Go project tasks.
7installs
Sourceway-platform/skills
Added on
NPX Install
npx skill4agent add way-platform/skills way-magefileTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Mage
Mage is a make-like build tool using Go. You write plain-old go functions, and Mage automatically uses them as Makefile-like runnable targets.
When to Use
- Creating build scripts for Go projects.
- Automating tasks (install, build, clean, release).
- Managing dependencies between tasks.
Core Concepts
1. Magefiles
- Any Go file with (or
//go:build magefor older Go).+build mage - Usually named or placed in
magefile.godirectory.magefiles/ - .
package main
2. Targets
- Exported functions with specific signatures:
func Target()func Target() errorfunc Target(ctx context.Context) error- First sentence of doc comment is the short description ().
mage -l
3. Dependencies
- Use to declare dependencies.
mg.Deps(Func) - Dependencies run exactly once per execution.
- runs in parallel;
mg.Depsruns serially.mg.SerialDeps
Quick Start
To create a new magefile:
mage -initCommon Tasks
Running Commands:
Use for shell execution.
github.com/magefile/mage/shgo
import "github.com/magefile/mage/sh"
// ...
err := sh.Run("go", "build", "./...")Clean Up:
go
import "github.com/magefile/mage/sh"
// ...
sh.Rm("bin")References
- Way Conventions: See references/way-style.md for Way-specific patterns and helpers.
- API Documentation: See references/api.md for ,
mg, andshpackage details.target - Examples: See references/examples.md for common patterns.