diff --git a/.claude/skills/github-ops/SKILL.md b/.claude/skills/github-ops/SKILL.md new file mode 100644 index 0000000..0de4b2f --- /dev/null +++ b/.claude/skills/github-ops/SKILL.md @@ -0,0 +1,50 @@ +--- +name: github-ops +description: Use this skill for GitHub issue, PR, and release operations in the Mole repository via gh CLI. +--- + +# GitHub Operations Skill + +Use this skill when working with GitHub issues, PRs, and releases for Mole. + +## Golden Rule + +**ALWAYS use `gh` CLI** for GitHub operations. Never use raw git commands or web scraping. + +## Issue Handling + +```bash +# View issue +gh issue view 123 + +# List issues +gh issue list --state open + +# NEVER comment without explicit user request +# Only prepare responses for user review +``` + +## Pull Request Workflow + +```bash +# View current PR +gh pr view + +# View PR diff +gh pr diff + +# Checkout PR branch +gh pr checkout 123 +``` + +## Safety Rules + +1. **NEVER** comment on issues/PRs without explicit user request +2. **NEVER** create PRs automatically +3. **NEVER** merge without explicit confirmation +4. **ALWAYS** prepare responses for user review first +5. **ALWAYS** use `gh` instead of manual curl/API calls + +## Issue Language + +Draft replies in the same language as the issue author. diff --git a/.claude/skills/release/SKILL.md b/.claude/skills/release/SKILL.md new file mode 100644 index 0000000..00bac5b --- /dev/null +++ b/.claude/skills/release/SKILL.md @@ -0,0 +1,57 @@ +--- +name: release +description: Use this skill when preparing, validating, and publishing a Mole release. +--- + +# Release Skill + +Use this skill when preparing or executing a Mole release. + +## Release Checklist + +### Pre-Release +1. [ ] All tests pass: `./scripts/test.sh` +2. [ ] Format check: `./scripts/check.sh --format` +3. [ ] No uncommitted changes: `git status` + +### Version Bump + +Update version in: +- `bin/mole` (VERSION variable) +- `install.sh` (if version referenced) + +### Build Verification + +```bash +# Build +make build + +# Test dry run +MOLE_DRY_RUN=1 ./mole clean +``` + +## Release Process + +### 1. Create Git Tag + +```bash +# Create annotated tag +git tag -a v0.x.x -m "Release v0.x.x" + +# Push tag +git push origin v0.x.x +``` + +### 2. GitHub Release + +Create release via GitHub UI or: +```bash +gh release create v0.x.x --generate-notes +``` + +## Safety Rules + +1. **NEVER** auto-commit release changes +2. **ALWAYS** test build before tagging +3. **ALWAYS** verify tests pass +4. **NEVER** include local paths in release notes diff --git a/.gitignore b/.gitignore index b83a872..b9d6c03 100644 --- a/.gitignore +++ b/.gitignore @@ -42,7 +42,6 @@ tests/tmp-* *.lock # AI Assistant Instructions -.claude/ .agents/ .gemini/ .kiro/