{"repo":"dodok8/gaji","free":true,"listed":false,"github":"https://github.com/dodok8/gaji","clone":"git clone https://github.com/dodok8/gaji.git","description":"Type-safe GitHub Actions workflows in TypeScript, GitHub Actions Justified Improvements","language":"Rust","stars":26,"topics":["cd","ci","github-actions","typescript","cli","rust"],"license":"MIT","category":"cli-tools","readme_excerpt":"gaji Type-safe GitHub Actions workflows in TypeScript GitHub Actions Justified Improvements 🍆 Named after the Korean word \"가지\" (gaji, eggplant) - a versatile vegetable Overview gaji is a CLI tool that allows developers to write GitHub Actions workflows in TypeScript with full type safety, then compile them to YAML. It automatically fetches action.yml definitions and generates typed wrappers, providing autocomplete and type checking for action inputs and outputs. Features - TypeScript-based workflow authoring with full type safety - Automatic type generation from action.yml files - Composite action and reusable workflow support - File watching for development ( --watch ) - Built-in QuickJS execution with npx tsx fallback - GitHub Enterprise support - Single binary distribution (Rust) Installation From npm From cargo Quick Start Usage Writing Workflows Create TypeScript files in the workflows/ directory: Run gaji build and it outputs .github/workflows/ci.yml . Recommended Development Workflow 1. Start watch mode : Leave this running in a terminal. It will automatically generate types when you add new actions. 2. Edit your TypeScript workflows in workflows/ .ts : - Add or modify steps - Use getAction() with full type safety - Types are automatically generated for new actions 3. Build to YAML : 4. Review the generated YAML in .github/workflows/ : - Verify commands are correct - Check that step order is as expected - Ensure all required fields are present 5. Commit both TypeScrip","default_branch":null,"files":null,"tree":[],"storefront":"/r/dodok8","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/dodok8/gaji/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}