Sherpa-Action
sherpa-sh · sherpa-sh/Sherpa-Action
Enables AI agents to deploy code to any cloud provider using plain English prompts, automatically configuring infrastructure like servers, DNS, and SSL certificates.
AI that ships your code. Deploy to any cloud with plain English.
Preview
What you can do with it
- Deploy a Next.js application to Cloudflare Workers by simply stating the intent to the AI agent.
- Configure a production environment with load balancing and backups across different cloud providers using natural language.
- Integrate continuous deployment into a project where the AI agent manages infrastructure changes.
Safety check
No risky patterns found in the files we scanned.
Automated scan of the repo files. Always review code you run.
From the README
Sherpa.sh - AI that ships your code
Transform any cloud provider into a deployment platform. Just describe what you want in plain English.
prompt: "Deploy my Nextjs app on Cloudflare"
Sherpa's AI automatically creates and configures your infrastructure: servers, DNS, SSL certificates, CDN, databases, backups, load balancing, and more.
Why Sherpa?
Infrastructure should be invisible. Developers want to ship products, not configure YAML files. Sherpa is the open-source intelligence layer that makes deployment disappear—in the best possible way.
Any Cloud — AWS, Google Cloud, Hetzner, Akamai, Cloudflare, your own servers. Switch anytime. No lock-in, ever. Any Framework — Next.js, SvelteKit, Nuxt, Remix, Astro, Django, Laravel, Docker, and more. Plain English — No Terraform. No DevOps expertise. Describe what you want, Sherpa figures out how. Open Source — Fully transparent, auditable, and community-driven. See exactly what runs in your infrastructure.
We believe the future of deployment is AI that reads your code, understands your intent, and configures optimal infrastructure automatically. No dashboards to learn. No vendor lock-in to escape. Just code that ships.
Where we are going
We're building toward infrastructure that manages itself entirely — AI that reads your code, picks optimal providers automatically, reroutes traffic when outages hit, and continuously optimizes costs across every cloud.
The end state? You push code and it's live, globally distributed, auto-scaling, always improving. Infrastructure becomes invisible.
And because it's open source, you can see exactly how it works, contribute to the roadmap, and never get locked in to a vendor.
Usage
With Github Actions
Run Sherpa on repo pushes, deploys, PRs, and more. Integrate into your existing Github Workflows. Get the Vercel/Netlify/Heroku experience on your own terms.
Create a file at .github/workflows/deploy.yml in your repository:
name: Push to deploy
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
permissions:
contents: write # Required for memories.
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 1
- uses: sherpa-sh/sherpa-action@v1.0.0-alpha.1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
prompt: "Deploy my nexjs app on AWS lambda and Cloudfront"
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_REGION: us-east-1
With Claude Code
Using with Claude Code CLI (Local Testing)
# Clone the action repository
git clone https://github.com/sherpa-sh/sherpa-action.git
# Point to the sherpa plugin directory inside the action
claude --plugin-dir ./sherpa-action/sherpa
Prompt:
Deploy my static nextjs app to cloudflare
Features
Describe your infrastructure needs in plain English. Here are some examples:
Specify Resources
prompt: "Deploy my app to AWS Lambda"
prompt: "Deploy to an EC2 t3.medium instance"
prompt: "Deploy to EKS with 2 replicas"
Custom Domains
prompt: "Deploy to Cloudflare and use my domain myapp.com"
prompt: "Deploy to AWS and configure api.mycompany.com"
Load Balancers
prompt: "Deploy with a load balancer, route /api/* to the backend service and /* to the frontend"
prompt: "Set up an ALB with health checks on /health"
CDN Configuration
prompt: "Deploy with CloudFront CDN, cache static assets for 1 year"
prompt: "Enable Cloudflare CDN with aggressive caching for images"
Full Example
Combine multiple features in a single prompt:
name: Deploy Full Stack
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v5
- uses: sherpa-sh/sherpa-action@v1.0.0-alpha.1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
prompt: |
Deploy my Next.js app with:
- Backend on a Hetzner CX22 server
- Cloudflare CDN in front with aggressive caching for static assets
- Custom domain app.mycompany.com with SSL
- Load balancer routing /api/* to the backend
- Use .env.production for environment variables
- NODE_ENV=production
env:
HETZNER_API_TOKEN: ${{ secrets.HETZNER_API_TOKEN }}
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
SSH_PUBLIC_KEY: ${{ secrets.SSH_PUBLIC_KEY }}
ENV_FILE: ${{ secrets.ENV_FILE }}
How It Works
- Runs Claude Code with the Sherpa plugin
- Executes the
/Sherpa/deploycommand with your prompt (See command descriptions below) - Saves memories into your repo in
.sherpa.sh. (The github action commits these into the repo)
Memories
Memories are files that represent Sherpa's understanding of your project. They are saved into .sherpa.sh/ and committed to your repo. Sherpa uses these to maintain context between deployments.
| File | Purpose |
|---|---|
executionlog.md | Records successful build/deploy commands. Makes subsequent deploys much faster by skipping discovery. |
infrastructure.md | Tracks provisioned resources (servers, DNS, etc.) so Sherpa knows what exists. This is just a starting point and not a "source of truth". The Sherpa AI will look at existing infra to see if its changed ferom the markdown file and make the correct provisioning decisions. |
build-info.md | Stores detected framework, build commands, and output directories. |
When to modify memories:
- **Delete `executionl