pinme
Installation
SKILL.md
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):
dist/- Vue/React/Vite default outputbuild/- Create React App outputout/- Next.js static exportpublic/- 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.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)
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
| 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
# List upload history
pinme list
pinme ls -l 5
# Remove uploaded file
pinme rm <hash>