diff --git a/.github/workflows/bump-version.yml b/.github/workflows/bump-version.yml new file mode 100644 index 0000000..fb77595 --- /dev/null +++ b/.github/workflows/bump-version.yml @@ -0,0 +1,32 @@ +name: Bump version + +on: + push: + branches: [main] + paths: ['src/**', 'container/**'] + +jobs: + bump-version: + runs-on: ubuntu-latest + steps: + - uses: actions/create-github-app-token@v1 + id: app-token + with: + app-id: ${{ secrets.APP_ID }} + private-key: ${{ secrets.APP_PRIVATE_KEY }} + + - uses: actions/checkout@v4 + with: + token: ${{ steps.app-token.outputs.token }} + + - name: Bump patch version + run: | + npm version patch --no-git-tag-version + git add package.json package-lock.json + git diff --cached --quiet && exit 0 + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" + VERSION=$(node -p "require('./package.json').version") + git commit -m "chore: bump version to $VERSION" + git pull --rebase + git push diff --git a/CLAUDE.md b/CLAUDE.md index 504cafc..171047a 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -28,6 +28,7 @@ Single Node.js process that connects to WhatsApp, routes messages to Claude Agen | `/setup` | First-time installation, authentication, service configuration | | `/customize` | Adding channels, integrations, changing behavior | | `/debug` | Container issues, logs, troubleshooting | +| `/update` | Pull upstream NanoClaw changes, merge with customizations, run migrations | ## Development diff --git a/README.md b/README.md index 09755fb..ccc1938 100644 --- a/README.md +++ b/README.md @@ -88,6 +88,16 @@ Or run `/customize` for guided changes. The codebase is small enough that Claude can safely modify it. +## Updating + +Pull the latest NanoClaw changes into your fork: + +```bash +claude +``` + +Then run `/update`. Claude Code fetches upstream, previews changes, merges with your customizations, runs migrations, and verifies the result. + ## Contributing **Don't add features. Add skills.** @@ -101,9 +111,7 @@ Users then run `/add-telegram` on their fork and get clean code that does exactl Skills we'd like to see: **Communication Channels** -- `/add-telegram` - Add Telegram as channel. Should give the user option to replace WhatsApp or add as additional channel. Also should be possible to add it as a control channel (where it can trigger actions) or just a channel that can be used in actions triggered elsewhere - `/add-slack` - Add Slack -- `/add-discord` - Add Discord **Platform Support** - `/setup-windows` - Windows via WSL2 + Docker diff --git a/docs/REQUIREMENTS.md b/docs/REQUIREMENTS.md index 9815319..227c9ad 100644 --- a/docs/REQUIREMENTS.md +++ b/docs/REQUIREMENTS.md @@ -172,6 +172,7 @@ A personal Claude assistant accessible via WhatsApp, with minimal custom code. ### Skills - `/setup` - Install dependencies, authenticate WhatsApp, configure scheduler, start services - `/customize` - General-purpose skill for adding capabilities (new channels like Telegram, new integrations, behavior changes) +- `/update` - Pull upstream changes, merge with customizations, run migrations ### Deployment - Runs on local Mac via launchd