Repository navigation
·
312 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
Commit Action v0.1.0 - Initial Release
Release Date: December 19, 2025
Overview
Initial release of Commit Action, a GitHub Action that enables automated commits via the GitHub API. This action creates automatically signed commits and can bypass repository rulesets and branch protection rules, making it perfect for CI/CD pipelines and automated workflows.
What's New
Core Features
- Automatically Signed Commits - All commits created via GitHub API are automatically signed by GitHub, eliminating the need for GPG key setup
- Ruleset Bypass - Uses GitHub API instead of traditional
git push, allowing commits to bypass branch protection rules and repository rulesets - Modular Design - Use as a GitHub Action, CLI tool, or import as a TypeScript module
- Type-Safe - Built with TypeScript for full type safety and excellent developer experience
- Well Tested - Comprehensive unit test coverage with Jest
Key Capabilities
- Flexible File Input - Support for individual files, directories, or automatic detection from git status
- Directory Expansion - Automatically expands directory paths to individual files
- File Permissions - Preserves executable permissions for scripts and binaries
- Base64 Encoding - Binary-safe file content transfer
- Environment Configuration - Simple setup via environment variables
Installation
As a GitHub Action
Add this to your workflow:
- name: Commit and push changes via API
uses: vig-os/commit-action@v0.1.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_REPOSITORY: ${{ github.repository }}
GITHUB_REF: refs/heads/main
COMMIT_MESSAGE: "chore: update files"
FILE_PATHS: "docs,README.md"As a CLI Tool
npm install -g commit-action
npm run commitAs a Module
import { commitViaAPI } from 'commit-action';
const result = await commitViaAPI({
token: 'your-token',
owner: 'owner',
repo: 'repo',
branch: 'main',
message: 'chore: update files',
filePaths: ['file1.txt', 'file2.txt'],
});Configuration
Required Environment Variables
GITHUB_TOKENorGH_TOKEN- GitHub token (app token or personal access token)
Optional Environment Variables
GITHUB_REPOSITORY- Repository in format "owner/repo" (defaults to workflow context)GITHUB_REF- Branch reference (e.g., "refs/heads/main", defaults to workflow context)COMMIT_MESSAGE- Commit message (defaults to "chore: update files")FILE_PATHS- Comma-separated list of file paths or directories (auto-detects from git status if not provided)BASE_SHA- Optional base commit SHA (defaults to branch HEAD)
Use Cases
- Automated Documentation Updates - Commit generated docs in CI/CD pipelines
- Bot Commits - Allow bots to commit without bypassing branch protection
- Synchronization Scripts - Keep repositories in sync automatically
- Generated Content - Commit auto-generated reports, configs, or artifacts
- Release Automation - Automate version bumps and changelog updates
Documentation
Links
- Repository: https://github.com/vig-os/commit-action
- Issues: https://github.com/vig-os/commit-action/issues
- Releases: https://github.com/vig-os/commit-action/releases
Technical Details
- Runtime: Node.js 20
- Language: TypeScript 5.3+
- License: MIT
- Dependencies: @actions/core, @actions/github
Changelog
See CHANGELOG.md for detailed changes.
Contributing
Contributions are welcome! Please read our contributing guidelines and submit pull requests.
New Contributors
Full Changelog: initial...v0.1.0