AgentSkillsCN

pinme

当用户提出“部署”“上传”“发布”前端项目、静态网站,或构建产物时,可灵活运用此技能。当用户提及“pinme”“IPFS 部署”,或希望在线托管静态文件时,此技能同样会自动激活。

SKILL.md
--- frontmatter
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

bash
pinme --version

If not installed:

bash
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

bash
pinme upload <directory>

Examples:

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

4. Return Result

After successful upload, return only the preview URL:

code
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)

bash
npm run build
pinme upload dist

Build and Deploy (React CRA)

bash
npm run build
pinme upload build

Build and Deploy (Next.js Static)

bash
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

bash
# List upload history
pinme list
pinme ls -l 5

# Remove uploaded file
pinme rm <hash>