# pinme > 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: eliubin - Repository: glitternetwork/skills - Version: 20260104195901 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-07 - Source: https://github.com/glitternetwork/skills - Web: https://mule.run/skillshub/@@glitternetwork/skills~pinme:20260104195901 --- --- 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 ``` Examples: ```bash 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/ ``` Users can visit the preview page to: - View the deployed website - Get a fixed domain: `https://.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 | 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 ```