Auto-Deploy Skill
Automatically deploy oh-my-gemini to npm and create a GitHub release.
Purpose
Enable automated deployment workflow:
- •Version bump
- •Build and test
- •Publish to npm
- •Create GitHub release
- •Tag the release
Workflow
Phase 1: Pre-Deployment Checks
- •
Verify Build
codenpm run build
- •
Run Tests
codenpm test
- •
Check Lint
codenpm run lint
- •
Type Check
codenpx tsc --noEmit
- •
Verify Git Status
- •Check for uncommitted changes
- •Check current branch (should be main)
- •Check if remote is up to date
Phase 2: Version Management
- •
Determine Version
- •If user specified: use that version
- •If patch: increment patch (0.1.0 → 0.1.1)
- •If minor: increment minor (0.1.0 → 0.2.0)
- •If major: increment major (0.1.0 → 1.0.0)
- •
Update package.json
codenpm version <version> --no-git-tag-version
- •
Update CHANGELOG.md
- •Generate changelog from git commits
- •Add new version section
Phase 3: Deployment
- •
Create Git Tag
codegit tag v<version> git push origin v<version>
- •
Push Changes
codegit add package.json package-lock.json CHANGELOG.md git commit -m "chore: release v<version>" git push origin main
- •
Trigger GitHub Actions
- •GitHub Actions will automatically:
- •Build the project
- •Run tests
- •Publish to npm
- •Create GitHub release
- •GitHub Actions will automatically:
Phase 4: Verification
- •
Verify npm Publication
- •Check npm registry for new version
- •Verify package contents
- •
Verify GitHub Release
- •Check GitHub releases page
- •Verify release notes
Usage
Natural Language
code
> deploy: 버전 0.1.0으로 배포해줘 > 배포: 패치 버전으로 배포해줘 > publish: 마이너 버전으로 배포해줘 > release: 메이저 버전으로 배포해줘
Command
code
/oh-my-gemini:auto-deploy /oh-my-gemini:auto-deploy --version 0.1.0 /oh-my-gemini:auto-deploy --patch /oh-my-gemini:auto-deploy --minor /oh-my-gemini:auto-deploy --major
Safety Measures
- •
Pre-Deployment Checks
- •All tests must pass
- •Build must succeed
- •No uncommitted changes
- •Must be on main branch
- •
Dry Run Mode
- •Use
--dry-runto preview changes - •Show what would be deployed
- •No actual changes made
- •Use
- •
Confirmation
- •Ask user for confirmation before deploying
- •Show version and changes summary
- •Wait for explicit approval
- •
Rollback Plan
- •Keep previous version available
- •Document rollback procedure
- •Tag previous version as backup
Configuration
Can be configured via .gemini-cli/GEMINI.md:
markdown
## Auto-Deploy Settings - Auto-confirm: false (always ask) - Pre-deploy-tests: true - Pre-deploy-lint: true - Pre-deploy-build: true - Create-changelog: true
Integration with Self-Improve
Auto-deploy can be combined with self-improve:
code
> self-improve: 모든 버그를 수정하고 배포해줘
This will:
- •Detect and fix all issues
- •Run tests to verify fixes
- •Deploy if all checks pass