StackSherpa

Created By
astein913 months ago
Intelligent API recommendation engine that silently picks the best APIs for your stack. Analyzes your project profile, compliance requirements, past decisions, and known issues to recommend the right provider for auth, payments, email, storage, and 25+ other categories.
Overview

stacksherpa

Intelligent API recommendation engine. 450+ providers across 28 categories — with pricing, known issues, compliance data, and live GitHub issue tracking.

Browse the catalog →

Quick start

# 1. Install the CLI
npm install -g stacksherpa

# 2. Install the Claude Code skill (Claude will auto-consult stacksherpa when you need an API)
mkdir -p ~/.claude/skills/api-selection
curl -sL https://raw.githubusercontent.com/astein91/stacksherpa/main/skills/api-selection/SKILL.md \
  -o ~/.claude/skills/api-selection/SKILL.md

# 3. Try it
stacksherpa providers email --pretty

No API keys needed. The catalog is a shared read-only database.


Browse the catalog

Visit stacksherpa.vercel.app to explore providers, compare options, and see pricing and known issues — no install required.

CLI usage

stacksherpa categories --pretty                # List all 28 categories
stacksherpa providers email --pretty            # All email providers + your profile
stacksherpa providers database --pretty         # All database providers
stacksherpa provider stripe --pretty            # Deep-dive on one provider

stacksherpa profile --pretty                    # View your project profile
stacksherpa profile --set '{"project.scale": "startup"}'
stacksherpa profile --set '{"constraints.compliance": ["SOC2"]}'

stacksherpa decide --api Resend --category email --outcome positive
stacksherpa report --id <decision-id> --success

stacksherpa projects list --pretty

All commands output JSON. Add --pretty for human-readable formatting.

Claude Code skill

The quick start installs the skill globally (~/.claude/skills/). You can also install per-project:

mkdir -p .claude/skills/api-selection
curl -sL https://raw.githubusercontent.com/astein91/stacksherpa/main/skills/api-selection/SKILL.md \
  -o .claude/skills/api-selection/SKILL.md

Once installed, Claude will silently run stacksherpa providers <category> before suggesting any API integration. No slash command needed — the skill triggers automatically.

Alternative — no skill, just instructions: Add this to your project's CLAUDE.md:

## API Selection
When implementing features that require external APIs:
1. Run `stacksherpa providers <category>` via Bash before choosing a provider
2. Pick the best match based on the returned profile, pricing, and issues
3. After integration, run `stacksherpa decide --api X --category Y --outcome positive`

Categories (28)

GroupCategories
Coreauth, database, storage, email, payments, analytics, monitoring, search
Messagingsms, push, realtime, chat
AIai, ai-audio, ai-video, ai-image, vector-db
Infrastructurecache, jobs, message-queue, hosting, cdn, feature-flags
Content & datacms, media, maps, web-search, finance

What each provider includes

  • Description, website, docs URL, pricing URL
  • Strengths (dx, reliability, cost, performance, support, security, customization)
  • Best for (hobby / startup / growth / enterprise)
  • Avoid if / best when (concrete conditions)
  • Alternatives (linked provider IDs)
  • Compliance certs (SOC2, HIPAA, GDPR, PCI-DSS, ISO27001)
  • Ecosystem affinity (vercel, supabase, aws, cloudflare, etc.)
  • Self-hostable flag
  • Live pricing — scraped from provider websites
  • Known issues — scraped from GitHub (reactions, severity, workarounds)

Project profile

Create .stacksherpa/profile.json in your project root to personalize recommendations:

{
  "project": {
    "name": "my-app",
    "stack": { "language": "TypeScript", "framework": "Next.js", "hosting": "Vercel" },
    "scale": "startup"
  },
  "constraints": {
    "compliance": ["SOC2"],
    "budgetCeiling": { "monthly": 100 }
  },
  "preferences": {
    "prioritize": ["dx", "reliability"],
    "avoidProviders": ["sendgrid"]
  }
}

Global defaults in ~/.stacksherpa/defaults.json apply to all projects (local profiles override).

Data architecture

Turso (shared, read-only for CLI clients)
  providers      — 450+ providers with rich metadata
  pricing        — versioned pricing snapshots
  known_issues   — scraped from GitHub (reactions, severity)
  discovery_log  — audit trail of bootstrap runs

Local (~/.stacksherpa/)
  defaults.json  — global defaults across all projects

Local (<project>/.stacksherpa/)
  profile.json   — project constraints & preferences
  decisions.json — API selection history

Your data never leaves your machine. The Turso catalog is read-only.


Keeping the catalog fresh

The catalog is maintained by an agentic pipeline — no manual data entry.

StepScheduleWhat it does
GitHub issuesEvery runScrapes issues with 2+ reactions from provider repos
PricingEvery runRe-scrapes up to 3 stale providers via Firecrawl
Discovery1st & 15thFinds new providers via Exa search
Agent refreshDaily (AI), Mondays (all)Claude Haiku re-evaluates provider profiles with live web data
Bootstrap1st of monthFull agentic discovery across all 28 categories

Provider review

npm run cron:review -- --list                    # See pending providers
npm run cron:review -- --approve pinecone qdrant # Approve specific ones
npm run cron:review -- --reject some-blog        # Reject bad entries

Environment variables (for maintainers)

VariableRequired forPurpose
TURSO_AUTH_TOKENAll readsRead-only Turso access
TURSO_WRITE_TOKENCron jobsWrite access for scrapers/agents
ANTHROPIC_API_KEYAgent refresh, bootstrapClaude Haiku for agentic pipelines
EXA_API_KEYBootstrapWeb search for provider discovery
FIRECRAWL_API_KEYPricing, metadataWebsite scraping
GITHUB_TOKENIssue scrapingHigher rate limits for GitHub API

Development

npm install
npm run build                                     # Type-check
npm run dev -- providers email --pretty            # Run CLI locally
npm test                                           # Run tests
npm run cron:bootstrap -- --category jobs --dry-run # Bootstrap one category
npm run cron:agent-refresh -- --full               # Full agent refresh

License

MIT

Server Config

{
  "mcpServers": {
    "stacksherpa": {
      "command": "npx",
      "args": [
        "-y",
        "stacksherpa"
      ]
    }
  }
}
Project Info
Created At
3 months ago
Updated At
3 months ago
Author Name
astein91
Star
-
Language
-
License
-
Category
Tags

Recommend Servers

View All