PinMe Skill
Use PinMe CLI to upload files to IPFS and get a preview URL.
When to Use
General File Upload
- User wants to upload any files or folders to IPFS
- User wants to share files via decentralized storage
- User mentions "pinme", "pin", "IPFS", or "upload to IPFS"
Website Deployment
- User requests deployment of a frontend project
- User wants to deploy a static website
- After building a frontend project (Vue, React, Next.js, etc.)
Upload Steps
1. Check if PinMe is Installed
pinme --version
If not installed:
npm install -g pinme
2. Identify Upload Target
For general files:
- Use the file or directory path specified by the user
- Can be any file type: images, documents, archives, etc.
For website deployment: Look for build output directories (in priority order):
dist/- Vue/React/Vite default outputbuild/- Create React App outputout/- Next.js static exportpublic/- Pure static projects
3. Execute Upload
pinme upload <path>
Examples:
# Upload a single file pinme upload ./document.pdf # Upload a folder pinme upload ./my-folder # Upload website build output pinme upload dist
4. Return Result
After successful upload, return the preview URL:
https://pinme.eth.limo/#/preview/<hash>
Users can visit the preview page to:
- View or download the uploaded files
- Get a fixed domain:
https://<name>.pinit.eth.limo
Important Rules
DO:
- Verify the file or directory exists before uploading
- Return the preview URL to the user
DO NOT:
- Upload
node_modules/ - Upload
.envfiles - Upload
.git/directory - Upload empty or non-existent paths
For website deployment, also avoid:
- Uploading source code instead of build output
- Uploading configuration files (package.json, tsconfig.json, etc.)
Common Workflows
General File Upload
# Upload a single file pinme upload ./image.png # Upload a folder pinme upload ./my-documents # Upload with specific path pinme upload /path/to/files
Website Deployment
Vue/Vite
npm run build pinme upload dist
React CRA
npm run build pinme upload build
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 exists |
Permission denied | Check file/folder permissions |
| Upload failed | Check network, retry |
Other Commands
# List upload history pinme list pinme ls -l 5 # Remove uploaded file pinme rm <hash>