project-tooling

安装量: 80
排名: #9836

安装

npx skills add https://github.com/alinaqi/claude-bootstrap --skill project-tooling

Project Tooling Skill Load with: base.md Standard CLI tools for project infrastructure management. Required CLI Tools Before starting any project, verify these tools are installed and authenticated: 1. GitHub CLI (gh)

Verify installation

gh --version

Verify authentication

gh auth status

If not authenticated:

gh auth login 2. Vercel CLI

Verify installation

vercel --version

Verify authentication

vercel whoami

If not authenticated:

vercel login 3. Supabase CLI

Verify installation

supabase --version

Verify authentication (check if linked to a project or logged in)

supabase projects list

If not authenticated:

supabase login 4. Render CLI (optional - for Render deployments)

Verify installation

render --version

If using Render API instead:

Ensure RENDER_API_KEY is set in environment

Validation Script Run this at project initialization to verify all tools:

!/bin/bash

scripts/verify-tooling.sh

set -e echo "Verifying project tooling..."

GitHub CLI

if command -v gh &> /dev/null ; then if gh auth status &> /dev/null ; then echo "✓ GitHub CLI authenticated" else echo "✗ GitHub CLI not authenticated. Run: gh auth login" exit 1 fi else echo "✗ GitHub CLI not installed. Run: brew install gh" exit 1 fi

Vercel CLI

if command -v vercel &> /dev/null ; then if vercel whoami &> /dev/null ; then echo "✓ Vercel CLI authenticated" else echo "✗ Vercel CLI not authenticated. Run: vercel login" exit 1 fi else echo "✗ Vercel CLI not installed. Run: npm i -g vercel" exit 1 fi

Supabase CLI

if command -v supabase &> /dev/null ; then if supabase projects list &> /dev/null ; then echo "✓ Supabase CLI authenticated" else echo "✗ Supabase CLI not authenticated. Run: supabase login" exit 1 fi else echo "✗ Supabase CLI not installed. Run: brew install supabase/tap/supabase" exit 1 fi echo "" echo "All tools verified!" GitHub Repository Setup Create New Repository

Create and push in one command

gh repo create < repo-name

--private --source = . --remote = origin --push

Or public:

gh repo create < repo-name

--public --source = . --remote = origin --push Connect Existing Repository

If repo exists on GitHub but not linked locally

gh repo clone < owner

/ < repo

Or add remote to existing local project

git remote add origin https://github.com/ < owner

/ < repo

.git git push -u origin main Repository Settings

Enable branch protection on main

gh api repos/ { owner } / { repo } /branches/main/protection -X PUT \ -F required_status_checks = '{"strict":true,"contexts":["quality"]}' \ -F enforce_admins = false \ -F required_pull_request_reviews = '{"required_approving_review_count":1}'

Set default branch

gh repo edit --default-branch main Vercel Deployment Link Project

Link current directory to Vercel project

vercel link

Or create new project

vercel Environment Variables

Add environment variable

vercel env add ANTHROPIC_API_KEY production

Pull env vars to local .env

vercel env pull .env.local Deploy

Deploy to preview

vercel

Deploy to production

vercel --prod Supabase Setup Create New Project

Create project (interactive)

supabase projects create < project-name

--org-id < org-id

Link local to remote

supabase link --project-ref < project-ref

Local Development

Start local Supabase

supabase start

Stop local Supabase

supabase stop

Reset database (apply all migrations fresh)

supabase db reset Migrations

Create new migration

supabase migration new < migration-name

Apply migrations to remote

supabase db push

Pull remote schema to local

supabase db pull Generate Types

Generate TypeScript types from schema

supabase gen types typescript --local

src/types/database.ts

Or from remote

supabase gen types typescript --project-id < ref

src/types/database.ts Render Setup (API-based) Environment

Set API key

export RENDER_API_KEY = < your-api-key

Common Operations via API

List services

curl -H "Authorization: Bearer $RENDER_API_KEY " \ https://api.render.com/v1/services

Trigger deploy

curl -X POST -H "Authorization: Bearer $RENDER_API_KEY " \ https://api.render.com/v1/services/ < service-id

/deploys

Get deploy status

curl -H "Authorization: Bearer $RENDER_API_KEY " \ https://api.render.com/v1/services/ < service-id

/deploys/ < deploy-id

Package.json Scripts Add these scripts for common operations: { "scripts" : { "verify-tools" : "./scripts/verify-tooling.sh" , "deploy:preview" : "vercel" , "deploy:prod" : "vercel --prod" , "db:start" : "supabase start" , "db:stop" : "supabase stop" , "db:reset" : "supabase db reset" , "db:migrate" : "supabase db push" , "db:types" : "supabase gen types typescript --local > src/types/database.ts" } } CI/CD Integration GitHub Actions with Vercel

.github/workflows/deploy.yml

name : Deploy on : push : branches : [ main ] pull_request : branches : [ main ] jobs : deploy : runs-on : ubuntu - latest steps : - uses : actions/checkout@v4 - name : Deploy to Vercel uses : amondnet/vercel - action@v25 with : vercel-token : $ { { secrets.VERCEL_TOKEN } } vercel-org-id : $ { { secrets.VERCEL_ORG_ID } } vercel-project-id : $ { { secrets.VERCEL_PROJECT_ID } } vercel-args : $ { { github.ref == 'refs/heads/main' && ' - - prod' | | '' } } GitHub Actions with Supabase

.github/workflows/migrate.yml

name
:
Migrate Database
on
:
push
:
branches
:
[
main
]
paths
:
-
'supabase/migrations/**'
jobs
:
migrate
:
runs-on
:
ubuntu
-
latest
steps
:
-
uses
:
actions/checkout@v4
-
name
:
Setup Supabase CLI
uses
:
supabase/setup
-
cli@v1
with
:
version
:
latest
-
name
:
Push migrations
run
:
supabase db push
env
:
SUPABASE_ACCESS_TOKEN
:
$
{
{
secrets.SUPABASE_ACCESS_TOKEN
}
}
SUPABASE_DB_PASSWORD
:
$
{
{
secrets.SUPABASE_DB_PASSWORD
}
}
Deployment Platform Setup
REQUIRED
When initializing a project, always create todos for deployment platform connection based on the stack. Platform Selection by Stack Stack Default Platform Action Required Next.js / Node.js Vercel Connect Git repo to Vercel Python (FastAPI, Flask) Render Connect Git repo to Render, get API key Static sites Vercel or Cloudflare Pages Connect Git repo Vercel: Connect Git Repository When Vercel is the deployment platform, create this todo: TODO: Connect Git repository to Vercel for automatic deployments Steps:

Option 1: Via CLI

vercel link vercel git connect

Option 2: Via Dashboard (recommended for first setup)

1. Go to vercel.com/new

2. Import Git repository

3. Configure project settings

4. Deploy

After connecting: Push to main → Production deploy Push to other branches → Preview deploy PRs get deploy previews automatically Render: Connect Git Repository (Python) When Render is the deployment platform for Python projects: Step 1: Ask user for Render API key Before proceeding, please provide your Render API key. Get it from: https://dashboard.render.com/u/settings/api-keys Store it securely - we'll add it to your environment. Step 2: Create todos TODO: Get Render API key from user TODO: Connect Git repository to Render TODO: Configure Render service (web service or background worker) TODO: Set environment variables on Render Step 3: Connect via Dashboard (recommended)

1. Go to dashboard.render.com/create

2. Select "Web Service" for APIs, "Background Worker" for async

3. Connect your GitHub/GitLab repository

4. Configure:

- Name:

- Runtime: Python 3

- Build Command: pip install -r requirements.txt

- Start Command: uvicorn main:app --host 0.0.0.0 --port $PORT

Step 4: Store API key for CI/CD

Add to GitHub secrets for CI/CD

gh secret set RENDER_API_KEY

Or add to local env

echo "RENDER_API_KEY="

.env Step 5: Configure render.yaml (optional - Infrastructure as Code)

render.yaml

services : - type : web name : <project - name

- api runtime : python buildCommand : pip install - r requirements.txt startCommand : uvicorn main : app - - host 0.0.0.0 - - port $PORT envVars : - key : PYTHON_VERSION value : "3.11" - key : DATABASE_URL fromDatabase : name : <project - name

- db property : connectionString databases : - name : <project - name

- db plan : free Deployment Checklist Template Add to project todos when setting up deployment:

Deployment Setup

[ ] Create Git repository (gh repo create)

[ ] Choose deployment platform (Vercel/Render/other)

[ ] Connect Git to deployment platform

[ ] Configure environment variables

[ ] Set up CI/CD workflow

[ ] Verify preview deployments work

[ ] Configure production domain Tooling Anti-Patterns ❌ Hardcoded secrets - use CLI env management or GitHub secrets ❌ Manual deployments - automate via CI/CD ❌ Skipping local Supabase - always develop locally first ❌ Direct production database changes - use migrations ❌ No branch protection - require PR reviews and CI checks ❌ Missing environment separation - keep dev/staging/prod separate

返回排行榜