pinme

This skill should be used when the user asks to "deploy", "upload", "publish" a frontend project, static website, or build output. Also activates when user mentions "pinme", "IPFS deployment", or wants to host static files online.

$ Installer

git clone https://github.com/glitternetwork/pinme /tmp/pinme && cp -r /tmp/pinme/skills/pinme ~/.claude/skills/pinme

// tip: Run this command in your terminal to install the skill


name: pinme version: 1.0.0 description: This skill should be used when the user asks to "deploy", "upload", "publish" a frontend project, static website, or build output. Also activates when user mentions "pinme", "IPFS deployment", or wants to host static files online. author: name: glitternetwork url: https://github.com/glitternetwork homepage: https://github.com/glitternetwork/skills/tree/main/pinme repository: https://github.com/glitternetwork/skills license: MIT keywords:

  • deploy
  • ipfs
  • static-site
  • pinme
  • hosting
  • frontend
  • web3

PinMe Skill

Use PinMe CLI to deploy static files to IPFS and get a preview URL.

When to Use

  • User requests deployment of a frontend project
  • User wants to upload static files/website
  • User mentions "pinme", "deploy", "publish", or "host"
  • After building a frontend project (Vue, React, Next.js, etc.)

Deployment Steps

1. Check if PinMe is Installed

pinme --version

If not installed:

npm install -g pinme

2. Identify Static Files Directory

Look for these directories (in priority order):

  1. dist/ - Vue/React/Vite default output
  2. build/ - Create React App output
  3. out/ - Next.js static export
  4. public/ - Pure static projects

Validation rules:

  • Directory must exist
  • Must contain index.html (for websites)
  • Should contain static assets (CSS, JS, images)

3. Execute Upload

pinme upload <directory>

Examples:

pinme upload dist
pinme upload build
pinme upload ./my-static-site

4. Return Result

After successful upload, return only the preview URL:

https://pinme.eth.limo/#/preview/<hash>

Users can visit the preview page to:

  • View the deployed website
  • Get a fixed domain: https://<name>.pinit.eth.limo

Important Rules

DO:

  • Verify build output exists before uploading
  • Check for index.html in the upload directory
  • Return the preview URL to the user

DO NOT:

  • Upload node_modules/
  • Upload .env files
  • Upload .git/ directory
  • Upload source code (use build output only)
  • Upload configuration files (package.json, tsconfig.json, etc.)
  • Upload empty or non-existent directories

Common Workflows

Build and Deploy (Vue/Vite)

npm run build
pinme upload dist

Build and Deploy (React CRA)

npm run build
pinme upload build

Build and Deploy (Next.js Static)

npm run build
npm run export  # or next export
pinme upload out

Error Handling

ErrorSolution
command not found: pinmeRun npm install -g pinme
No such file or directoryCheck path, run build first
Permission deniedCheck folder permissions
Upload failedCheck network, retry

Other Commands

# List upload history
pinme list
pinme ls -l 5

# Remove uploaded file
pinme rm <hash>