1001Ferramentas
⚙️Dev

GitHub Actions Generator

Generate YAML workflows for GitHub Actions: Node CI, static deploy, semver release, lint+test. Customize triggers and steps. Everything in your browser.

Generate GitHub Actions workflows

Setting up CI/CD on GitHub Actions means writing YAML, and the indentation and structure of those files trip you up easily. This generator delivers ready-made workflows for the most everyday scenarios, so you don't have to memorise the syntax.

Three ready-made workflows: CI for Node projects, static-site deploy and creating a release with semantic versioning. What you adjust is the branch that fires the run; the rest of the YAML comes assembled and valid, ready to paste into the repository's .github/workflows folder and edit from there.

Everything is generated inside the browser. A nimble way to add automation to your project without starting from a blank sheet or hunting for examples online.

Frequently asked questions

Can I edit the triggers and the steps before generating?
No: the branch box is the only editable field. Triggers, steps and versions come fixed in each template. The Node CI, for one, always runs on ubuntu-latest with actions/setup-node@v4 pinned to version 20, npm caching and the sequence npm ci, npm run lint --if-present, npm test. Changing the Node version, adding an operating-system matrix or swapping the build command means editing by hand, after copying the YAML.
I changed the branch and the release workflow didn't budge.
Expected: the Release semver template never looks at that field. It fires on a tag, with on: push: tags: ['v*'], since the point is publishing when a version gets tagged rather than on every commit. The branch box reaches only the other two templates, the Node CI, which uses it for both push and pull_request, and the Pages deploy, which uses it on push alone. To publish, push a tag shaped like v1.2.3.
Can I put more than one branch in the field?
Yes. The text goes in raw between the brackets, so typing main, develop yields branches: [main, develop], which is valid YAML, and a wildcard such as release/* works too. What breaks it is a name holding a YAML metacharacter, like a bracket, a brace, a colon or a hash, since the line stops parsing. Leave the field empty and it falls back to main on its own.

Related Tools