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):
- •
dist/- Vue/React/Vite default output - •
build/- Create React App output - •
out/- Next.js static export - •
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.htmlin the upload directory - •Return the preview URL to the user
DO NOT:
- •Upload
node_modules/ - •Upload
.envfiles - •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
| Error | Solution |
|---|---|
command not found: pinme | Run npm install -g pinme |
No such file or directory | Check path, run build first |
Permission denied | Check folder permissions |
| Upload failed | Check network, retry |
Other Commands
bash
# List upload history pinme list pinme ls -l 5 # Remove uploaded file pinme rm <hash>