> hoppscotch
Test and debug APIs with Hoppscotch. Use when a user asks to test API endpoints, debug REST/GraphQL/WebSocket APIs, create API collections, or find a Postman alternative that's open-source.
curl "https://skillshub.wtf/TerminalSkills/skills/hoppscotch?format=md"Hoppscotch
Overview
Hoppscotch is an open-source API development platform — a lightweight, fast alternative to Postman. It supports REST, GraphQL, WebSocket, SSE, Socket.IO, and MQTT. Available as a web app (hoppscotch.io), desktop app, or self-hosted instance.
Instructions
Step 1: Self-Host with Docker
# docker-compose.yml — Self-hosted Hoppscotch
services:
hoppscotch:
image: hoppscotch/hoppscotch:latest
ports:
- "3000:3000" # main app
- "3100:3100" # admin dashboard
- "3170:3170" # backend API
env_file: .env
depends_on:
- postgres
postgres:
image: postgres:16
environment:
POSTGRES_DB: hoppscotch
POSTGRES_USER: hoppscotch
POSTGRES_PASSWORD: ${DB_PASSWORD}
volumes:
- pgdata:/var/lib/postgresql/data
volumes:
pgdata:
Step 2: API Collections with CLI
# Install CLI
npm install -g @hoppscotch/cli
# Run collection from file
hopp test -e environment.json collection.json
# Run from Hoppscotch instance
hopp test --server https://hoppscotch.mycompany.com --token $TOKEN collection-id
Step 3: Pre-request Scripts
// Pre-request script — runs before each request
const token = pw.env.get("AUTH_TOKEN")
const expiry = pw.env.get("TOKEN_EXPIRY")
if (!token || Date.now() > Number(expiry)) {
const res = await pw.api.post("https://api.example.com/auth/token", {
body: JSON.stringify({
client_id: pw.env.get("CLIENT_ID"),
client_secret: pw.env.get("CLIENT_SECRET"),
}),
})
const data = JSON.parse(res.body)
pw.env.set("AUTH_TOKEN", data.access_token)
pw.env.set("TOKEN_EXPIRY", String(Date.now() + data.expires_in * 1000))
}
Guidelines
- Use collections to organize endpoints by feature or service.
- Environment variables keep secrets out of shared collections.
- Self-host for teams — everyone shares collections and environments.
- CLI enables API testing in CI/CD pipelines.
- Hoppscotch is faster than Postman for quick API testing — no account required on hoppscotch.io.
> related_skills --same-repo
> zustand
You are an expert in Zustand, the small, fast, and scalable state management library for React. You help developers manage global state without boilerplate using Zustand's hook-based stores, selectors for performance, middleware (persist, devtools, immer), computed values, and async actions — replacing Redux complexity with a simple, un-opinionated API in under 1KB.
> zod
You are an expert in Zod, the TypeScript-first schema declaration and validation library. You help developers define schemas that validate data at runtime AND infer TypeScript types at compile time — eliminating the need to write types and validators separately. Used for API input validation, form validation, environment variables, config files, and any data boundary.
> xero-accounting
Integrate with the Xero accounting API to sync invoices, expenses, bank transactions, and contacts — and generate financial reports like P&L and balance sheet. Use when: connecting apps to Xero, automating bookkeeping workflows, syncing accounting data, or pulling financial reports programmatically.
> windsurf-rules
Configure Windsurf AI coding assistant with .windsurfrules and workspace rules. Use when: customizing Windsurf for a project, setting AI coding standards, creating team-shared Windsurf configurations, or tuning Cascade AI behavior.