All Tools
Troubleshooting
Click any issue to expand it. Each one includes a prompt you can copy and paste directly to Claude.
Usually caused by port 3001 already being in use, or a missing environment variable.
- Run lsof -i :3001 in Terminal to see what's using port 3001
- If something is running there, kill it: lsof -ti :3001 | xargs kill -9
- Make sure you're running the command from ~/Desktop/vinebound-site
- Check the .env file exists and has ANTHROPIC_API_KEY and Google credentials
node cms/server.js from the project folder. The error message is: [paste error here]. Can you help me fix it?The audit ran but returned 0 results. Most likely the vineyard copy has no longDescriptions, or all suggestions have already been applied.
- Check the stats bar â does it show vineyards and posts loaded?
- Open browser DevTools (Cmd+Option+I) â Console tab for error messages
- Try the Network tab and look for a failed request to /api/links/audit
Content changes to Google Sheets only go live after a Netlify deploy. The site is not live-synced.
- Go to app.netlify.com and check the latest deploy status
- If no deploy has happened since the change, trigger one manually from the Netlify dashboard
- If a deploy ran but the content is wrong, check the sheet directly â the value may have saved incorrectly
Build failures are usually caused by bad HTML in a sheet field, a missing slug, or a template error.
- Check the Netlify deploy log for the error message â it usually points to a specific file or data issue
- Try running npm start locally to reproduce the error
- If you recently updated a sheet, check for unescaped quotes or broken HTML in the content
Google Sheets keeps version history for 30 days. You can restore any previous version.
- In the sheet: File â Version history â See version history
- Find the version before your change and click "Restore this version"
- After restoring, trigger a new Netlify deploy to push it live
OAuth tokens expire. If the sheets CLI or CMS stops being able to read/write sheets, the refresh token needs regenerating.
- Run node scripts/sheets.js read 11QNw1yUXW322XVOLyc9Mq-cacLx8YDbj8WnUAEtPnkE blog-content
- If you get an auth error, the token has expired
- Run node cms/scripts/setup-google-auth.js and follow the prompts
AI features use the Anthropic API. If they fail silently or return errors, the API key is the first thing to check.
- Check .env contains ANTHROPIC_API_KEY=sk-ant-...
- Check your Anthropic usage at console.anthropic.com
- Restart the CMS server after updating .env
Sheets Reference
All the spreadsheet IDs and tab names in one place. Copy any ID to use with the CLI.
| Collection | Spreadsheet ID | Tab name(s) | Key fields |
|---|---|---|---|
| Blog posts Grapevine |
11QNw1yUXW322XVOLyc9Mq-cacLx8YDbj8WnUAEtPnkE â | blog-content | statusslugtitlebody_html |
| Vineyards Main data |
1bEM9fpwuQyHO50ScZ5pLZfs4mpYVAGJbxvhat1mr7Is â | Published vineyards_copy |
publishedslugnamelongDescription |
| Events | 1_6i3krVo6ML6grp-fgJhLsV1yS07fQ_7_oGmjIwIqLE â | Make.com Data Entry | moderation_statusstart_date |
| Guides Theme & region |
1NQQHzbuRzrKUEbdncADbNt7l8klHptwv4mtXAkvVePA â | Published | publishedslugtypefull_text |
| Area Guides | 1kgGwk2hZ8MfcHJfcq6mQrgEiHgtc0-H_ptKLx77HXF8 â | Published | publishedsluglevelcounty |
| Filter config | 1yTjBNgpJS12gDCyDbSbLAtuHwvQdeghGG-BKFKh0LLg â | filter_config | Map filter settings â do not edit without asking |
Common CLI commands
Useful Prompts
Copy any prompt and paste it to Claude to get started quickly.