| name | pinme |
| version | 1.0.0 |
| description | This skill should be used when the user asks to "deploy", "upload", "publish", or "pin" any files, folders, frontend projects, or static websites to IPFS. Also activates when user mentions "pinme", "IPFS", or wants to share files via decentralized storage. |
| 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","upload","files","pinme","hosting","frontend","web3","storage"] |
PinMe Skill
Use PinMe CLI to upload files 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 output
build/ - Create React App output
out/ - Next.js static export
public/ - Pure static projects
3. Execute Upload
pinme upload <path>
Examples:
pinme upload ./document.pdf
pinme upload ./my-folder
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
Router Mode Check
Before building a frontend project for IPFS deployment, ensure it uses hash mode routing (e.g., /#/about). History mode (e.g., /about) will cause 404 errors on sub-routes when deployed to IPFS, because there is no server to handle fallback routing.