About using-cli-tools
A command-line tool guide for developers that recommends scriptable CLI workflows when a service provides a CLI. It includes examples across GitHub, cloud platforms, databases, payments, and containers, plus package-manager selection based on lock files.
Key features
- 01Prefer CLIs over web dashboards
- 02Examples for common tool categories
- 03GitHub and cloud service commands
- 04Detect package manager from lock files
- 05Fallback guidance when a CLI is unavailable
Use cases
- 01Create or inspect pull requests with gh
- 02Deploy apps using a hosting CLI
- 03Manage database migrations and types
- 04Choose a package manager from project lock files
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ augmnt/ webdev-skills --skill using-cli-toolsAfter installing, type/using-cli-toolsin Claude Code to confirm it loaded.
Bundled filesADDITIONAL-TOOLS.md
Details
From the project READMEUsing CLI Tools
Prefer CLI tools over web dashboards. CLIs are scriptable, reproducible, and keep developers in flow.
Principle: If a CLI exists for a service, use it. Only fall back to web UI when the CLI genuinely can't do the task.
Quick Reference
| Category | Tools |
|---|---|
| Hosting | vercel, netlify, wrangler, railway, flyctl |
| Backend/DB | supabase, prisma, aws |
| Payments | stripe |
| Dev Tools | gh, docker compose, ngrok, turbo |
Git & GitHub (gh)
gh pr create --title "feat: add auth" --body "..."
gh pr list --state open
gh pr checkout 123
gh pr merge --squash
gh issue create --title "Bug" --label bug
gh run list
gh run view 12345 --log
Supabase (supabase)
supabase link --project-ref <ref>
supabase db push
supabase db pull
supabase migration new <name>
supabase functions deploy <name>
supabase gen types typescript --linked > types/supabase.ts
Vercel (vercel)
vercel # preview deploy
vercel --prod # production deploy
vercel env pull .env.local
vercel logs <url>
Netlify (netlify)
netlify init
netlify dev # local dev server with functions
netlify deploy # draft deploy
netlify deploy --prod
netlify env:set KEY value
netlify functions:serve
Cloudflare (wrangler)
wrangler init
wrangler dev # local dev
wrangler deploy
wrangler pages deploy ./dist
wrangler kv:namespace create <name>
wrangler r2 bucket create <name>
wrangler secret put <name>
Prisma (prisma)
npx prisma init
npx prisma generate # generate client
npx prisma db push # sync schema (dev)
npx prisma migrate dev # create migration
npx prisma migrate deploy
npx prisma studio # visual editor
Stripe (stripe)
stripe login
stripe listen --forward-to localhost:3000/api/webhooks
stripe trigger payment_intent.succeeded
stripe logs tail
stripe products create --name="Pro Plan"
Docker (docker compose)
docker compose up -d
docker compose logs -f <service>
docker compose exec <service> sh
docker compose down
docker compose build --no-cache
Package Manager Detection
Respect the project's lock file:
package-lock.json→npmpnpm-lock.yaml→pnpmyarn.lock→yarnbun.lockb→bun
Never mix package managers in the same project.
Additional Tools
For less common but useful CLIs, see ADDITIONAL-TOOLS.md:
- AWS CLI basics
- Railway, Fly.io
- ngrok, Turborepo
- Database CLIs (Planetscale, Neon)
When CLI Unavailable
If a task requires the web UI (e.g., enabling a Supabase extension), note this explicitly with the exact navigation path.