Skip to content
/ yeet Public

For when shell scripts aren't enough but a full program is too much. Yeet that script out!

License

Notifications You must be signed in to change notification settings

TecharoHQ/yeet

Repository files navigation

yeet

enbyware GitHub Issues or Pull Requests by label GitHub go.mod Go version language count repo size

Yeet out actions with maximum haste! Declare your build instructions as small JavaScript snippets and let er rip!

For example, here's how you build a Go program into an RPM for x86_64 Linux:

// yeetfile.js
const platform = "linux";
const goarch = "amd64";

rpm.build({
  name: "hello",
  description: "Hello, world!",
  license: "CC0",
  platform,
  goarch,

  build: ({ bin }) => {
    $`go build ./cmd/hello ${bin}/hello`;
  },
});

Yeetfiles MUST obey the following rules:

  1. Thou shalt never import thine code from another file nor require npm for any reason.
  2. If thy task requires common functionality, thou shalt use native interfaces when at all possible.
  3. If thy task hath been copied and pasted multiple times, yon task belongeth in a native interface.

See the API documentation for more information about the exposed API.

Installation

To install yeet, use the following command:

go install github.com/TecharoHQ/yeet/cmd/yeet@latest

Development

To get started developing for yeet, install Go and Node from Homebrew.

brew bundle
npm ci
npm run prepare

Support

For support, please subscribe to me on Patreon and ask in the #yeet channel in the patron Discord.

Packaging Status

Packaging status

Contributors

Made with contrib.rocks.

About

For when shell scripts aren't enough but a full program is too much. Yeet that script out!

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages