Skip to content

savvy-web/github-action-effects

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

@savvy-web/github-action-effects

npm version License: MIT TypeScript Node.js 24

Composable Effect services for building GitHub Actions with schema-validated inputs, structured logging, and GitHub API operations -- zero @actions/* dependencies.

Features

  • Zero CJS dependencies -- native ESM implementations of the GitHub Actions runtime protocol replace all @actions/* packages
  • 29 composable services -- action I/O, GitHub API, git operations, package publishing, and more
  • Schema-validated inputs -- read action inputs via Effect's Config API with built-in parsing and defaults
  • Structured logging -- Effect Logger maps to workflow commands with collapsible groups and buffer-on-failure
  • In-memory test layers -- every service ships a test layer for fast, deterministic unit tests

Installation

npm install @savvy-web/github-action-effects effect @effect/platform @effect/platform-node

Quick Start

import { Config, Effect } from "effect"; import { Action, ActionOutputs } from "@savvy-web/github-action-effects"; const program = Effect.gen(function* () { const name = yield* Config.string("package-name"); const outputs = yield* ActionOutputs; yield* outputs.set("result", `checked ${name}`); }); Action.run(program);

Action.run provides ActionsRuntime.Default (ConfigProvider, Logger, core services, and Node.js platform layers), catches errors, and sets the workflow exit status automatically.

Documentation

For service reference, architecture, testing guides, and advanced usage, see docs/.

License

MIT

About

Library of helper functions for building bulletproof Node.js 24 GitHub Actions with Effect

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors