Way magefile
Re-usable skills for agents at Way
npx -y skills add way-platform/skills --skill way-magefileAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
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.
SKILL.md
1.7 KB, as published. Nobody here has run it
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
//go:build mage(or+build magefor older Go). - Usually named
magefile.goor placed inmagefiles/directory. 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
mg.Deps(Func)to declare dependencies. - Dependencies run exactly once per execution.
mg.Depsruns in parallel;mg.SerialDepsruns serially.
Quick Start
To create a new magefile:
mage -init
Common Tasks
Running Commands:
Use github.com/magefile/mage/sh for shell execution.
import "github.com/magefile/mage/sh"
// ...
err := sh.Run("go", "build", "./...")
Clean Up:
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,sh, andtargetpackage details. - Examples: See references/examples.md for common patterns.