πŸš€ Quartz Cheatsheet

Everything you need to run, configure, and maintain your epic quartz.loca.zone setup.

🌐 Architecture


πŸ’» Commands

Root Directory: cd /home/loca/dev/quartz/quartz

GoalCommandDescription
Test Changesnpm run serve:devSpins up the live Dev Bench on 8081. Nginx handles the wss:// TLS proxy via wsPublicPort: 3002.
Deploy Prodnpm run deploy:staticBuilds docs/ and symlinks the timestamped release to /var/www/quartz-loca/current.
Bounce Servicesystemctl --user restart quartz-tinkerRestarts the background dev daemon if it ever hangs.

⚠️ Node 22 Required. It’s persisted in ~/.bashrc and ~/.profile. If path issues occur in a weird shell, run:
export PATH="/home/loca/dev/quartz/quartz/node-v22.16.0-linux-x64/bin:$PATH"


🎨 Configuration & Editing

1. Visual Configuration (No YAML required!)

Use the Interactive Config Builder to visually toggle widgets, swap colors, and pick fonts. Hit β€œCopy to Clipboard” and paste it over quartz.config.yaml.

2. Content Editing

  • Dev Bench: Edit Markdown in content/ (auto-reloads magically).
  • Production: Edit Markdown in docs/, then run npm run deploy:static.

πŸ› οΈ Deep Lore & Best Practices

  • The Port Split: Node binds the WebSocket server to local port 3003 (--wsPort). Nginx terminates TLS on public port 3002 (--wsPublicPort) and proxies the traffic. This prevents Node from crashing while letting the browser connect securely over wss://.
  • Zero-Dependency Builder: The WYSIWYG config builder (content/sandbox/builder.html) is 100% standalone. No npm dependencies, no CDNs. Offline-safe forever.
  • Verification: Run python3 scripts/workflowz/verify-deployment.py to run E2E checks on paths, services, and HTTPS endpoints.
  • Directory Isolation: Keep docs/ (Prod) and content/ (Dev) strictly separated. Never symlink them.