A comprehensive toolkit for managing and interacting with Git and GitHub, including version control, issue tracking, and repository management.
- π Automated Release Management - Streamlined release processes with semantic versioning
- π¦ Monorepo Support - Handle multiple packages with fixed or independent versioning strategies
- π Git Integration - Comprehensive git operations and repository management
- π GitHub API Integration - Create releases, manage repositories, and more
- π Multi-Language Support - Support for Node.js and Python projects
- βοΈ Flexible Configuration - JSON/JSONC configuration with schema validation
npm install -g orbit-it
# or
pnpm add -g orbit-it
# or
yarn global add orbit-it-
Initialize configuration in your project:
orbit-it init
-
Create a release:
orbit-it release --type patch
-
Preview changes with dry run:
orbit-it release --type minor --dry-run
The CLI will generate an orbit-it.jsonc configuration file:
Initialize configuration for your project. This will:
- Detect your project environment (Node.js/Python)
- Create configuration file
- Set up GitHub Actions workflow (if auto release strategy is selected)
Options:
--dry-run- Preview the initialization without making changes
Create a new release for your project.
Options:
--type <type>- Release type:major,minor,patch, orprerelease--draft- Create a draft release--dry-run- Preview the release without making changes--ci- Run in CI mode (non-interactive)
Set up a .env file in your project root:
GITHUB_TOKEN=your_github_personal_access_tokenThe GitHub token needs the following scopes:
repo- Full repository accessworkflow- Workflow access (if using auto release strategy)
All packages in the monorepo share the same version number and are released together.
Each package maintains its own version and can be released independently based on changes.
- Node.js - Manages
package.jsonfiles - Python - Manages
pyproject.toml,setup.py, and__init__.pyfiles
MIT License - see LICENSE file for details.
Contributions are welcome! Please see our contributing guidelines for details.
{ "project": { "type": "monorepo", "environment": "nodejs", "packageManager": "pnpm", "workspaces": ["packages/*", "apps/*"], "version": "1.0.0" }, "release": { "strategy": "auto", "versioningStrategy": "fixed", "preReleaseIdentifier": "beta" } }